tgsm
401976ad10
yuzu-cmd: fix SDL logging
2018-09-08 03:12:47 -04:00
Patrick Elsässer
e3fef57563
video_core: Arithmetic overflow warning fix for gl_rasterizer ( #1262 )
...
* video_core: Arithmetic overflow fix for gl_rasterizer
- Fixed warnings, which were indicating incorrect behavior from integral
promotion rules and types larger than those in which arithmetic is
typically performed.
- Added const for variables where possible and meaningful.
* Changed the casts from C to C++ style
Changed the C-style casts to C++ casts as proposed.
Took also care about signed / unsigned behaviour.
2018-09-08 02:59:59 -04:00
bunnei
7b0f5982ab
gl_rasterizer_cache: Improve accuracy of RecreateSurface for non-2D textures.
2018-09-08 02:53:39 -04:00
bunnei
58c9460557
maxwell_3d: Remove assert that no longer applies.
2018-09-08 02:53:39 -04:00
bunnei
a41cf2aa71
gl_rasterizer_cache: Partially implement several non-2D texture types.
2018-09-08 02:53:38 -04:00
bunnei
cc86fd93ed
gl_shader_decompiler: Partially implement several non-2D texture types (Subv).
2018-09-08 02:53:38 -04:00
bunnei
c444e52f0c
gl_rasterizer: Implement texture wrap mode p.
2018-09-08 02:53:38 -04:00
bunnei
d30f69d1af
gl_rasterizer_cache: Track texture depth.
2018-09-08 02:53:38 -04:00
bunnei
bae5d830aa
gl_rasterizer_cache: Remove impl. of FlushGLBuffer.
...
- Will not work for non-2d textures, and was not used anyways.
2018-09-08 02:53:37 -04:00
bunnei
98ac4a2b73
gl_rasterizer_cache: Keep track of texture type per surface.
2018-09-08 02:53:37 -04:00
bunnei
3719060146
gl_rasterizer_cache: Remove unused DownloadGLTexture.
2018-09-08 02:53:37 -04:00
bunnei
6683faf819
gl_state: Keep track of texture target.
2018-09-08 02:53:37 -04:00
bunnei
15298a0e55
Merge pull request #1257 from lioncash/process
...
core: Migrate current_process pointer to the kernel
2018-09-07 22:34:05 -04:00
Lioncash
bdd7f4b362
yuzu: Move GameListWorker to its own source files
...
This has gotten sufficiently large enough to warrant moving it to its
own source files. Especially given it dumps the file_sys headers around
code that doesn't use it for the most part.
This'll also make it easier to introduce a type alias for the
compatibility list, so a large unordered_map type declaration doesn't
need to be specified all the time (we don't want to propagate the
game_list_p.h include via the main game_list.h header).
2018-09-07 16:25:28 -04:00
CaptV0rt3x
94a1e87593
For SDL Frontend
2018-09-07 11:57:05 +05:30
CaptV0rt3x
b636ffa70c
Better Title Bar Display
2018-09-07 11:54:51 +05:30
Lioncash
420597d70d
core: Migrate current_process pointer to the kernel
...
Given we now have the kernel as a class, it doesn't make sense to keep
the current process pointer within the System class, as processes are
related to the kernel.
This also gets rid of a subtle case where memory wouldn't be freed on
core shutdown, as the current_process pointer would never be reset,
causing the pointed to contents to continue to live.
2018-09-06 20:52:58 -04:00
bunnei
4f2ad8be06
Merge pull request #1250 from lioncash/file-sys
...
file_sys/{nca_patch, patch_manager}: Amend unnecessary/missing includes.
2018-09-06 19:20:09 -04:00
bunnei
0d14a02fad
Merge pull request #1249 from FearlessTobi/disable-vsync
...
frontend: Set swap interval to 0
2018-09-06 19:20:01 -04:00
bunnei
9be2925283
Merge pull request #1251 from lioncash/core-inc
...
core/core: Remove unnecessary sm/controller include
2018-09-06 19:19:51 -04:00
bunnei
dca7b837db
Merge pull request #1252 from lioncash/header
...
video_core/CMakeLists: Add missing gl_buffer_cache.h
2018-09-06 19:19:43 -04:00
bunnei
cc5b2647a8
Merge pull request #1253 from lioncash/explicit
...
video_core/gl_buffer_cache: Minor tidying changes
2018-09-06 19:19:35 -04:00
bunnei
580b2d99b3
Merge pull request #1255 from bunnei/minor-opt
...
gl_rasterizer: Call state.Apply only once on SetupShaders.
2018-09-06 19:19:16 -04:00
bunnei
a377771f88
gl_rasterizer: Call state.Apply only once on SetupShaders.
2018-09-06 17:41:53 -04:00
bunnei
c1089c49b0
gl_shader_decompiler: Implement saturate mode for IPA.
2018-09-06 17:40:03 -04:00
Lioncash
d10014e47f
gl_buffer_cache: Default initialize member variables
...
Ensures that the cache always has a deterministic initial state.
2018-09-06 15:07:15 -04:00
Lioncash
ef88902b2c
gl_buffer_cache: Make GetHandle() a const member function
...
GetHandle() internally calls GetHandle() on the stream_buffer instance,
which is a const member function, so this can be made const as well.
2018-09-06 15:07:15 -04:00
Lioncash
e0b2bdf8b2
gl_buffer_cache: Remove unnecessary includes
2018-09-06 15:05:52 -04:00
Lioncash
96cd6e9ee2
gl_buffer_cache: Make constructor explicit
...
Implicit conversions during construction isn't desirable here.
2018-09-06 14:54:49 -04:00
Lioncash
53ffb06003
video_core/CMakeLists: Add missing gl_buffer_cache.h
...
Without this, the header file won't show up by default within IDEs such
as Visual Studio.
2018-09-06 14:49:51 -04:00
Lioncash
30638f9c95
core/core: Remove unnecessary sm/controller include
...
The only reason this include was necessary, was because the constructor
wasn't defaulted in the cpp file and the compiler would inline it
wherever it was used. However, given Controller is forward declared, all
those inlined constructors would see an incomplete type, causing a
compilation failure. So, we just place the constructor in the cpp file,
where it can see the complete type definition, allowing us to remove
this include.
2018-09-06 14:38:39 -04:00
Lioncash
3168210492
file_sys/nca_patch: Amend constructor initializer list order
...
Orders the elements in the initializer list in the order they're
specified in the class. This prevents compiler warnings about
initialization order.
2018-09-06 14:00:11 -04:00
Lioncash
d15352b38b
file_sys/nca_patch: Remove unnecessary includes
...
romfs.h doesn't need to be included in the header, the only real
dependency here is common's swap.h that needs to be included.
2018-09-06 13:58:53 -04:00
Lioncash
1c61b93026
file_sys/patch_manager: Add missing includes
...
These includes were previously being satisfied indirectly.
2018-09-06 13:53:23 -04:00
fearlessTobi
7f0120aae4
frontend: Set swap interval to 0
2018-09-06 18:57:51 +02:00
Markus Wick
9e600046df
gl_shader_gen: Initialize position.
...
IMO the old code is fine, but nvidia raises shader compiler warnings.
Trivial fix through...
2018-09-06 13:37:50 +02:00
bunnei
bc9db095ff
Merge pull request #1243 from degasus/VAO_cache
...
gl_rasterizer: Implement a VAO cache.
2018-09-05 22:50:52 -04:00
bunnei
8e0113abed
Merge pull request #1244 from FernandoS27/ipa
...
shader_decompiler: Implemented IPA Properly (Stage 1)
2018-09-05 21:20:40 -04:00
FernandoS27
758dd86de9
Implemented IPA Properly
2018-09-05 20:15:47 -04:00
bunnei
e89f75a2b6
Merge pull request #1242 from lioncash/file-sys
...
file_sys/submission_package: Replace includes with forward declarations where applicable
2018-09-05 18:53:32 -04:00
bunnei
5eacb2bab4
Merge pull request #1179 from DarkLordZach/bktr
...
file_sys: Add support for BKTR format (Game Updates)
2018-09-05 18:06:11 -04:00
Markus Wick
06395d3659
gl_rasterizer: Skip TODO log.
...
This is called ~3k times per frame in SMO ingame.
My laptop spends ~3ms per frame on allocating and freeing this string.
Let's just stop printing this kind of redundant information.
2018-09-05 20:20:20 +02:00
Lioncash
c0f0078eb1
file_sys/submission_package: Correct constructor initialization list order
...
Orders the elements in the sequence to match the order in which they'll
actually be initialized in.
2018-09-05 13:44:42 -04:00
Markus Wick
7902bc2853
gl_rasterizer: Implement a VAO cache.
...
This patch caches VAO objects instead of re-emiting all pointers per draw call.
Configuring this pointers is known as a fast task, but it yields too many GL
calls. So for better performance, just bind the VAO instead of 16 pointers.
2018-09-05 18:46:35 +02:00
Lioncash
a4907882ad
file_sys/submission_package: Replace includes with forward declarations where applicable
2018-09-05 12:08:04 -04:00
Markus Wick
3706ea6c39
renderer_opengl: Implement a buffer cache.
...
The idea of this cache is to avoid redundant uploads. So we are going
to cache the uploaded buffers within the stream_buffer and just reuse
the old pointers.
The next step is to implement a VBO cache on GPU memory, but for now,
I want to check the overhead of the cache management. Fetching the
buffer over PCI-E should be quite fast.
2018-09-05 08:03:50 +02:00
bunnei
a7ed71dc61
Merge pull request #1240 from degasus/optimizations
...
gl_shader_cache: Use an u32 for the binding point cache.
2018-09-04 18:20:14 -04:00
Zach Hilman
46eb9ec6ba
bktr: Fix bucket overlap error
2018-09-04 17:01:54 -04:00
Zach Hilman
14bfdbe0e7
drd: Parse title ID from program metadata
2018-09-04 16:25:30 -04:00
Zach Hilman
14a18fd7ae
patch_manager: Centralize Control-type NCA parsing
2018-09-04 16:25:10 -04:00
Zach Hilman
4148e4fbba
nsp: Fix error masking issue with XCI files
...
Now display correct error instead of catch-all MissingProgramNCA
2018-09-04 16:24:24 -04:00
Zach Hilman
ac7d3882b4
game_list: Fix version display on non-NAND titles
2018-09-04 16:24:02 -04:00
Zach Hilman
b555718bb9
bktr: Add logging on successful patch
2018-09-04 16:24:02 -04:00
Zach Hilman
e4d55fc9b0
game_list: Use friendly game versions
...
Mainly, from control.nacp metadata instead of cnmt metadata
2018-09-04 16:24:02 -04:00
Zach Hilman
b8f8b0fa47
bktr: Implement IVFC offset shifting
...
Fixes base game read errors
2018-09-04 16:24:02 -04:00
Zach Hilman
e88835cd40
bktr: Fix missing includes and optimize style
2018-09-04 16:24:02 -04:00
Zach Hilman
f467901160
main: Make game updates installable
2018-09-04 16:24:02 -04:00
Zach Hilman
56280fd666
game_list: Display patch names and versions on list
2018-09-04 16:24:02 -04:00
Zach Hilman
8a01446903
loader: Add BKTR-specific error messages and codes
2018-09-04 16:23:44 -04:00
Zach Hilman
e9e74efb6c
loader: Ignore patches on NRO and DRD
2018-09-04 16:23:15 -04:00
Zach Hilman
77282b170f
patch_manager: Add usages of patches to ExeFS
2018-09-04 16:23:15 -04:00
Zach Hilman
1b8f19f417
file_sys: Add class to manage game patches
...
Right now only includes Updates, but should eventually contain all of the other patches we need.
2018-09-04 16:22:25 -04:00
Zach Hilman
d4d0d3d933
file_sys: Add BKTR patching mechanism
2018-09-04 16:22:25 -04:00
Zach Hilman
de4a0027c1
content_archive: Add BKTR header parsing to NCA
2018-09-04 16:22:25 -04:00
Zach Hilman
6e6f8cf474
registration: Add RegisteredCacheUnion
...
Aggregates multiple caches into one interface
2018-09-04 16:21:40 -04:00
Zach Hilman
bf86700873
game_list: Use RegisteredCacheUnion for installed
...
Reduces code
2018-09-04 16:21:40 -04:00
Zach Hilman
7b95f295b6
aes_util: Fix error involving reads of less than 0x10
...
Issues with block size are fixed by making all reads minimum length of 0x10
2018-09-04 16:21:40 -04:00
Markus Wick
40784ec48b
gl_shader_cache: Use an u32 for the binding point cache.
...
The std::string generation with its malloc and free requirement
was a noticeable overhead. Also switch to an ordered_map to
avoid the std::hash call. As those maps usually have a size of
two elements, the lookup time shall not matter.
2018-09-04 21:04:41 +02:00
Zach Hilman
44448809d5
main: Only show DRD deprecation warning once
2018-09-04 14:44:48 -04:00
Zach Hilman
79f66a7e8d
control_metadata: Use alternate language names if AmericanEnglish isn't available
2018-09-04 14:30:03 -04:00
Zach Hilman
a67309aa0e
card_image: Add program title ID getter
2018-09-04 14:29:19 -04:00
Zach Hilman
d3aaa8f52d
qt: Add deprecation warnings for DRD format
2018-09-04 14:29:19 -04:00
Zach Hilman
599b7eac32
registration: Fix NSP installation errors
2018-09-04 14:29:19 -04:00
Zach Hilman
887ffb2512
nsp: Comply with style and performance guidelines
2018-09-04 14:29:19 -04:00
Zach Hilman
d0467f930a
qt: Add UI support for NSP files
2018-09-04 14:28:41 -04:00
Zach Hilman
87a91f6b09
registration: Add support for installing NSP files
2018-09-04 14:28:41 -04:00
Zach Hilman
6d8efb4e2e
loader: Add AppLoader for NSP files
2018-09-04 14:27:33 -04:00
Zach Hilman
57769f8d0d
card_image: Parse XCI secure partition with NSP
...
Eliminated duplicate code and adds support for Rev1+ carts
2018-09-04 14:27:33 -04:00
Zach Hilman
a9397ca8c0
file_sys: Add Nintendo Submission Package (NSP)
2018-09-04 14:25:54 -04:00
Zach Hilman
d4794948f2
drd: Load title ID from program metadata
...
Previously only loaded from control metadata
2018-09-04 14:25:54 -04:00
Zach Hilman
1572b45583
loader: Add NSP file type and NSP-specific errors
2018-09-04 14:25:54 -04:00
Zach Hilman
8e787e5ec2
key_manager: Avoid autogeneration if key exists
2018-09-04 14:25:54 -04:00
bunnei
75f54cc668
Merge pull request #1238 from lioncash/explicit
...
common/logging: Minor changes
2018-09-04 12:18:00 -04:00
bunnei
5265567259
Merge pull request #1237 from degasus/optimizations
...
Optimizations
2018-09-04 12:16:06 -04:00
bunnei
3d2d2620d7
Merge pull request #1223 from DarkLordZach/custom-nand-sd-dirs
...
file_sys: Allow for custom NAND/SD directories
2018-09-04 11:54:22 -04:00
bunnei
3ac9f76933
Merge pull request #1232 from lioncash/copy
...
gl_shader_decompiler: Use used_shaders member variable directly within GenerateDeclarations()
2018-09-04 11:52:25 -04:00
bunnei
fe356c4469
Merge pull request #1235 from lioncash/forward-decl
...
file_sys: Replace includes with forward declarations where applicable
2018-09-04 11:51:54 -04:00
bunnei
f65804f4aa
Merge pull request #1236 from degasus/microprofile
...
Update microprofile scopes.
2018-09-04 11:50:58 -04:00
bunnei
79a8ae1356
Merge pull request #1230 from lioncash/ssl
...
ssl: Move SSL class to cpp file
2018-09-04 11:49:22 -04:00
Lioncash
067e34798b
common/logging: Amend documentation comments
...
Multi-line doc comments still need the '<' after the ///, otherwise it's
treated as a regular comment and makes the original doc comment broken
in viewers, IDEs, etc. While we're at it, also fix some typos in the
comments.
2018-09-04 10:49:08 -04:00
Lioncash
4209a71953
common/logging/filter: Replace C-style case with C++ static_cast
2018-09-04 10:44:36 -04:00
Lioncash
ed8b4ac2b4
common/logging/filter: Make constructor explicit
...
Implicit conversions aren't desirable here.
2018-09-04 10:43:31 -04:00
Markus Wick
5093e008c9
core: Use a raw pointer in GetGPUDebugContext.
...
This helper is called very often. The memory ownership shall not be transfered, so just return the raw pointer.
2018-09-04 14:10:05 +02:00
Markus Wick
ca64dbd6fe
command_processor: Use std::array for bound_engines.
...
subchannel is a 3 bit field. So there must not be more than 8 bound engines.
And using a hashmap for up to 8 values is a bit overpowered.
2018-09-04 14:10:05 +02:00
Markus Wick
71250d28d6
Update microprofile scopes.
...
Blame the subsystems which deserve the blame :)
The updated list is not complete, just the ones I've spotted on random sampling the stack trace.
2018-09-04 11:04:26 +02:00
Lioncash
a9f4e31cc0
file_sys: Replace includes with forward declarations where applicable
...
Cuts down on include dependencies, resulting in less files that need to
be rebuilt when certain things are changed.
2018-09-03 22:52:24 -04:00
bunnei
ccb50e7b50
Merge pull request #1231 from lioncash/global
...
service: Migrate global named port map to the KernelCore class
2018-09-03 21:21:12 -04:00
Zach Hilman
673220056c
qt: Add message about not moving contents on dir change
2018-09-03 19:23:33 -04:00
Zach Hilman
38c021d0ed
qt: Add UI options to change NAND/SD dirs
2018-09-03 19:23:33 -04:00
Zach Hilman
d55a54e117
settings: Save and load NAND/SD dirs from config
2018-09-03 19:23:33 -04:00
Lioncash
69da38acec
gl_shader_decompiler: Use used_shaders member variable directly within GenerateDeclarations()
...
Using the getter function intended for external code here makes an
unnecessary copy of the already-accessible used_shaders vector.
2018-09-02 13:10:11 -04:00
Lioncash
df444a4a8e
vfs_real: Forward declare IOFile
...
Eliminates the need to rebuild some source files if the file_util header
ever changes. This also uncovered some indirect inclusions, which have
also been fixed.
2018-09-02 12:38:14 -04:00
Lioncash
cd22f4d32e
service: Migrate global named port map to the KernelCore class
...
Now that we have a class representing the kernel in some capacity, we
now have a place to put the named port map, so we move it over and get
rid of another piece of global state within the core.
2018-09-02 12:35:30 -04:00
Lioncash
772f0805ab
ssl: Move SSL class to cpp file
...
This isn't required to be visible to anything outside of the main source
file, and will eliminate needing to rebuild anything else including the
header if the SSL class needs to be changed in the future.
2018-09-02 11:45:26 -04:00
bunnei
56a781f311
Merge pull request #1213 from DarkLordZach/octopath-fs
...
filesystem/maxwell_3d: Various changes to boot Project Octopath Traveller
2018-09-02 10:49:18 -04:00
bunnei
2be1a6fe38
Merge pull request #1215 from ogniK5377/texs-nodep-assert
...
Added assert for TEXS nodep
2018-09-02 10:48:27 -04:00
bunnei
b346745997
Merge pull request #1220 from FearlessTobi/extensions-qol
...
yuzu: Display the unsupported GL extensions in the popup
2018-09-02 10:47:25 -04:00
bunnei
106579cde4
Merge pull request #1214 from ogniK5377/ipa-assert
...
Added better asserts to IPA, Renamed IPA modes to match mesa
2018-09-02 10:44:43 -04:00
bunnei
cb3726426f
Merge pull request #1216 from ogniK5377/ffma-assert
...
Added FFMA asserts and missing fields
2018-09-02 10:44:13 -04:00
bunnei
ab46657dd6
Merge pull request #1218 from ogniK5377/fmul-assert
...
Added FMUL asserts
2018-09-02 10:43:48 -04:00
Lioncash
92e7a2f7ff
filesystem: Move dir retrieval after path checking in DeleteFile()
...
We don't need to do the lookup if the path is considered empty
currently.
2018-09-02 09:20:17 -04:00
fearlessTobi
f8a47f3985
citra_qt: Display the unsupported GL extensions in the popup
2018-09-01 19:01:53 +02:00
David Marcec
a8c27cb703
Removed saturate assert
...
Unneeded as we already implement it
2018-09-01 19:33:32 +10:00
David Marcec
70692108c0
Removed saturate assert
...
Saturate already implemented
2018-09-01 19:29:20 +10:00
David Marcec
8c1594cb42
Changed tab5980_0 default from 0 -> 1
2018-09-01 19:15:03 +10:00
David Marcec
9a841e0f5c
Added FMUL asserts
2018-09-01 19:05:10 +10:00
David Marcec
d7f1baf47e
Added FFMA asserts
2018-09-01 18:45:14 +10:00
David Marcec
e01efcd8ef
Added assert for TEXS nodep
2018-09-01 17:00:01 +10:00
David Marcec
3483657ed7
Added better asserts to IPA, Renamed IPA modes to match mesa
...
IpaMode is changed to IpaInterpMode
IpaMode is suppose to be 2 bits not 3
Added IpaSampleMode
Added Saturate
Renamed modes based on
d27c791891/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp (L2530)
2018-09-01 16:34:27 +10:00
Zach Hilman
c5c7c8eb47
maxwell_3d: Use CoreTiming for query timestamp
2018-08-31 23:25:18 -04:00
Zach Hilman
74f147216c
filesystem: Implement OpenReadOnlySaveDataFilesystem
2018-08-31 23:19:49 -04:00
Zach Hilman
ea404911e7
filesystem: Add OpenFileSystemWithPatch
2018-08-31 23:19:23 -04:00
Lioncash
84f855a61d
core/core: Replace includes with forward declarations where applicable
...
The follow-up to 88597535d6 , which
replaces most of the includes in the core header with forward declarations.
This makes it so that if any of the headers the core header was
previously including change, then no one will need to rebuild the bulk
of the core, due to core.h being quite a prevalent inclusion.
This should make turnaround for changes much faster for developers.
2018-08-31 16:30:14 -04:00
bunnei
0846904448
gl_rasterizer_cache: Use accurate framebuffer setting for accurate copies.
2018-08-31 13:07:28 -04:00
bunnei
d70c207cf1
gl_rasterizer_cache: Also use reserve cache for RecreateSurface.
2018-08-31 13:07:28 -04:00
bunnei
8fea1eb1f8
rasterizer_cache: Use boost::interval_map for a more accurate cache.
2018-08-31 13:07:28 -04:00
bunnei
d190b46a38
gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.
2018-08-31 13:07:27 -04:00
bunnei
3a96e40e8a
gl_rasterizer: Fix issues with the rasterizer cache.
...
- Use a single cached page map.
- Fix calculation of ending page.
2018-08-31 13:07:27 -04:00
greggameplayer
4146a4499c
Implement BC6H_UF16 & BC6H_SF16 ( #1092 )
...
* Implement BC6H_UF16 & BC6H_SF16
Require by ARMS
* correct coding style
* correct coding style part 2
2018-08-31 12:11:19 -04:00
bunnei
72d9c217a5
Merge pull request #1204 from lioncash/pimpl
...
core: Make the main System class use the PImpl idiom
2018-08-31 11:31:20 -04:00
bunnei
609011810c
Merge pull request #1207 from degasus/hotfix
...
Report correct shader size.
2018-08-31 11:21:15 -04:00
Lioncash
88597535d6
core: Make the main System class use the PImpl idiom
...
core.h is kind of a massive header in terms what it includes within
itself. It includes VFS utilities, kernel headers, file_sys header,
ARM-related headers, etc. This means that changing anything in the
headers included by core.h essentially requires you to rebuild almost
all of core.
Instead, we can modify the System class to use the PImpl idiom, which
allows us to move all of those headers to the cpp file and forward
declare the bulk of the types that would otherwise be included, reducing
compile times. This change specifically only performs the PImpl portion.
2018-08-31 07:16:57 -04:00
Markus Wick
63b73acd24
Report correct shader size.
...
Seems like this was an oversee in regards to adb089c816
It changed GLShader::ProgramCode to a std::vector, so sizeof is wrong.
2018-08-31 09:56:37 +02:00
Hexagon12
7afccb51a2
Added predicate comparison GreaterEqualWithNan
2018-08-31 10:40:18 +03:00
bunnei
66849e5e6e
Merge pull request #1195 from FearlessTobi/port-gamelist-compat
...
yuzu: Show game compatibility in the game list (PR ported from Citra)
2018-08-30 21:34:43 -04:00
Laku
a7f046e97f
gl_shader_decompiler: Implement POPC ( #1203 )
...
* Implement POPC
* implement invert
2018-08-30 21:32:58 -04:00
bunnei
746e4e9014
Merge pull request #1200 from bunnei/improve-ipa
...
gl_shader_decompiler: Improve IPA for Pass mode with Position attribute.
2018-08-30 10:31:26 -04:00
bunnei
bb49036b76
Merge pull request #1198 from lioncash/kernel
...
kernel: Eliminate kernel global state
2018-08-30 10:02:50 -04:00
tech4me
6df9c631c2
Shaders: Implemented IADD3
2018-08-29 13:44:41 -04:00
fearlessTobi
f30bf4d48d
Show game compatibility within yuzu
2018-08-29 15:42:53 +02:00
bunnei
cda7c87ade
gl_shader_decompiler: Improve IPA for Pass mode with Position attribute.
2018-08-29 00:37:29 -04:00
Lioncash
4913549d6b
kernel: Eliminate kernel global state
...
As means to pave the way for getting rid of global state within core,
This eliminates kernel global state by removing all globals. Instead
this introduces a KernelCore class which acts as a kernel instance. This
instance lives in the System class, which keeps its lifetime contained
to the lifetime of the System class.
This also forces the kernel types to actually interact with the main
kernel instance itself instead of having transient kernel state placed
all over several translation units, keeping everything together. It also
has a nice consequence of making dependencies much more explicit.
This also makes our initialization a tad bit more correct. Previously we
were creating a kernel process before the actual kernel was initialized,
which doesn't really make much sense.
The KernelCore class itself follows the PImpl idiom, which allows
keeping all the implementation details sealed away from everything else,
which forces the use of the exposed API and allows us to avoid any
unnecessary inclusions within the main kernel header.
2018-08-28 22:31:51 -04:00
bunnei
124c5b77ad
Merge pull request #1193 from lioncash/priv
...
gpu: Make memory_manager private
2018-08-28 12:28:57 -04:00
bunnei
6fd07fa8d3
Merge pull request #1192 from lioncash/unused
...
gl_rasterizer: Remove unused variables
2018-08-28 12:28:13 -04:00
bunnei
fbbcb38b3d
Merge pull request #1191 from lioncash/noexcept
...
hle/result: Make ResultVal's move constructor as noexcept
2018-08-28 12:27:48 -04:00
bunnei
e7add3c300
Merge pull request #1194 from lioncash/alloc
...
gl_shader_cache: Remove unused program_code vector in GetShaderAddress()
2018-08-28 11:27:44 -04:00
Lioncash
33943e0928
gl_shader_cache: Remove unused program_code vector in GetShaderAddress()
...
Given std::vector is a type with a non-trivial destructor, this
variable cannot be optimized away by the compiler, even if unused.
Because of that, something that was intended to be fairly lightweight,
was actually allocating 32KB and deallocating it at the end of the
function.
2018-08-28 11:20:41 -04:00
Lioncash
b4a81f9bca
gpu: Make memory_manager private
...
Makes the class interface consistent and provides accessors for
obtaining a reference to the memory manager instance.
Given we also return references, this makes our more flimsy uses of
const apparent, given const doesn't propagate through pointers in the
way one would typically expect. This makes our mutable state more
apparent in some places.
2018-08-28 11:11:50 -04:00
Lioncash
a08b7d9e11
gl_rasterizer: Remove unused variables
2018-08-28 10:46:29 -04:00
Lioncash
be902fe06e
hle/result: Make ResultVal's move constructor as noexcept
...
Many containers within the standard library provide different behaviors
based on whether or not a move constructor/assignment operator can be
guaranteed not to throw or not.
Notably, implementations will generally use std::move_if_noexcept (or an
internal implementation of it) to provide strong exception guarantees.
If a move constructor potentially throws (in other words, is not
noexcept), then certain behaviors will create copies, rather than moving
the values.
For example, consider std::vector. When a std::vector calls resize(),
there are two ways the elements can be relocated to the new block of
memory (if a reallocation happens), by copy, or by moving the existing
elements into the new block of memory. If a type does not have a
guarantee that it will not throw in the move constructor, a copy will
happen. However, if it can be guaranteed that the move constructor won't
throw, then the elements will be moved.
This just allows ResultVal to be moved instead of copied all the time if
ever used in conjunction with containers for whatever reason.
2018-08-28 09:39:50 -04:00
fearlessTobi
5eba42402e
Fix two stupid errors made in #1141
2018-08-28 15:16:03 +02:00
bunnei
f727e5f0de
Merge pull request #1165 from bunnei/shader-cache
...
renderer_opengl: Implement a new shader cache.
2018-08-27 20:35:58 -04:00
fearlessTobi
a872444869
yuzu: Fix stick UI direction order
2018-08-28 00:59:21 +02:00
bunnei
1f06fb1ff2
Merge pull request #1177 from lioncash/err
...
kernel/error: Amend several error codes
2018-08-27 18:37:48 -04:00
bunnei
22a22cec64
renderer_opengl: Implement a new shader cache.
2018-08-27 18:26:46 -04:00
bunnei
4dd06095a7
gl_rasterizer_cache: Update to use RasterizerCache base class.
2018-08-27 18:26:46 -04:00
bunnei
3e58cfc5e6
video_core: Add RasterizerCache class for common cache management code.
2018-08-27 18:26:45 -04:00
bunnei
59003a3ea2
Merge pull request #1169 from Lakumakkara/sel
...
shader_bytecode: fix SEL_IMM bitstring
2018-08-27 18:24:57 -04:00
bunnei
64a421947a
Merge pull request #1188 from lioncash/unused
...
vfs_real: Remove unused variable in CreateDirectoryRelative()
2018-08-27 18:24:23 -04:00
bunnei
e222e19f33
Merge pull request #1170 from lioncash/ret
...
file_util: Correct return value in early exit of ReadFileToString()
2018-08-27 18:18:31 -04:00
bunnei
6434cdbfc0
Merge pull request #1175 from lioncash/ns
...
core: Namespace all code in the arm subdirectory under the Core namespace
2018-08-27 18:17:12 -04:00
bunnei
fd6d22b311
Merge pull request #1187 from lioncash/shadow
...
registered_cache: Get rid of variable shadowing in ProcessFiles()
2018-08-27 18:15:49 -04:00
Lioncash
402118fae3
vfs_real: Remove unused variable in CreateDirectoryRelative()
2018-08-27 15:58:23 -04:00
Lioncash
02030bad92
registered_cache: Get rid of variable shadowing in ProcessFiles()
...
Prevents compiler warnings.
2018-08-27 15:55:56 -04:00
bunnei
03cc44a178
Merge pull request #1128 from DarkLordZach/malformed-hex-crash
...
hex_util: Replace logic_errors with LOG_CRITICAL
2018-08-27 15:45:22 -04:00
bunnei
8f8fe329ca
Merge pull request #1176 from lioncash/info
...
svc: Return process title ID if queried in GetInfo()
2018-08-27 15:44:52 -04:00
bunnei
3d857a52e9
Merge pull request #1174 from lioncash/debug
...
debug_utils: Minor individual interface changes
2018-08-27 15:44:29 -04:00
bunnei
7c523f39c5
Merge pull request #1162 from ogniK5377/ttf-plu
...
PL:U Added SharedFonts loading via TTF
2018-08-27 15:43:10 -04:00
bunnei
3494bcd921
Merge pull request #1168 from lioncash/header
...
hid: Move core include to cpp file
2018-08-27 15:42:52 -04:00
bunnei
1cf204712c
Merge pull request #1171 from lioncash/true
...
core: Remove always true conditionals in Load()
2018-08-27 15:41:58 -04:00
tech4me
7ae21a7cdd
set: Fixed GetAvailableLanguageCodes() to follow the max_entries
...
Rightnow, in games use GetAvailableLanguageCodes(), there is a WriteBuffer() with size larger than the buffer_size. (Core Critical core\hle\kernel\hle_ipc.cpp:WriteBuffer:296: size (0000000000000088) is greater than buffer_size (0000000000000078))
0x88 = 17(languages) * 8
0x78 = 15(languages) * 8
GetAvailableLanguageCodes() can only support 15 languages.
After firmware 4.0.0 there are 17 supported language instead of 15, to enable this GetAvailableLanguageCodes2() need to be used.
So GetAvailableLanguageCodes() will be caped at 15 languages.
Reference:
http://switchbrew.org/index.php/Settings_services
2018-08-26 00:11:13 -07:00
bunnei
5972e46f57
Merge pull request #1173 from lioncash/batch
...
maxwell3d: Move FinishedPrimitiveBatch event after AcceleratedDrawBatch()
2018-08-25 10:59:54 -04:00
bunnei
360028e94d
Merge pull request #1167 from lioncash/assert
...
gl_rasterizer: Correct assertion condition in SyncLogicOpState()
2018-08-25 10:50:59 -04:00
Lioncash
8eb062bba4
kernel/error: Amend error code for ERR_MAX_CONNECTIONS_REACHED
...
We can make this error code an alias of the resource limit exceeded
error code, allowing us to get rid of the lingering 3DS error code of
the same type.
2018-08-25 09:40:42 -04:00
Lioncash
4c6743a155
kernel/error: Amend error code for ERR_PORT_NAME_TOO_LONG
...
We can treat this as an alias of TooLarge for documentation purposes.
This also lets us get rid of another lingering 3DS-related error code.
2018-08-25 09:40:29 -04:00
Lioncash
ce900c1cb8
kernel/error: Add error code for the handle table being full
...
This replaces the lingering 3DS constant with the proper one, and
utilizes it within HandleTable's Create() member function.
2018-08-25 09:40:21 -04:00
Lioncash
d97ec0683f
kernel/error: Add error code for invalid memory permissions
2018-08-25 09:40:12 -04:00
Lioncash
eec7892cad
kernel/error: Correct kernel error code for invalid combination
2018-08-25 09:40:00 -04:00
Sebastian Valle
b151ff8867
Merge pull request #1166 from lioncash/typo
...
filesystem: Fix typo in log message
2018-08-25 07:19:46 -05:00
Lioncash
d99d679e9e
svc: Return process title ID if queried in GetInfo()
...
We already have the variable itself set up to perform this task, so we
can just return its value from the currently executing process instead
of always stubbing it to zero.
2018-08-25 05:02:28 -04:00
Mat M
80937ec31a
Merge pull request #1094 from DarkLordZach/nax0
...
file_sys: Add support for NAX archives
2018-08-24 23:47:46 -04:00
Zach Hilman
89422004c3
file_sys/crypto: Fix missing/unnecessary includes
2018-08-24 22:15:32 -04:00
Lioncash
e46ac56321
core: Namespace all code in the arm subdirectory under the Core namespace
...
Gets all of these types and interfaces out of the global namespace.
2018-08-24 21:50:39 -04:00
Lioncash
e5eb0a7737
debug_utils: Remove unused includes
...
Quite a bit of these aren't necessary directly within the debug_utils
header and can be removed or included where actually necessary.
2018-08-24 20:49:14 -04:00
Lioncash
3c5f75d2f4
debug_utils: Make BreakpointObserver class' constructor explicit
...
Avoids implicit conversions.
2018-08-24 20:49:14 -04:00
Lioncash
3de47b6991
debug_utils: Initialize active_breakpoint member of DebugContext
...
Ensures that all class members are initialized.
2018-08-24 20:15:50 -04:00
Lioncash
28cec12008
maxwell3d: Move FinishedPrimitiveBatch event after AcceleratedDrawBatch()
...
The start and finish events should likely not be right after one another
like this, otherwise the batch will appear to complete immediately
2018-08-24 19:58:05 -04:00
Zach Hilman
47b414e86c
Merge pull request #1065 from DarkLordZach/window-title
...
qt: Add filename and title id to window title while running
2018-08-24 14:34:03 -04:00
Lioncash
9fce9e9f12
core: Remove always true conditionals in Load()
...
These conditions are always true, since the outer conditional already
checks for these conditions.
2018-08-24 02:48:30 -04:00
Lioncash
0cb5150070
file_util: Correct return value in early exit of ReadFileToString()
...
While still essentially being zero, we should be returning a numeric
value here, not a boolean typed value.
2018-08-24 02:20:02 -04:00
Laku
afc673ec9d
fix SEL_IMM bitstring
2018-08-24 07:18:12 +03:00
Lioncash
db36a14882
hid: Move core include to cpp file
...
This isn't required to be in the header. Instead, directly include what
this header needs and move it to the cpp file where it belongs.
2018-08-23 23:20:35 -04:00
Lioncash
e0675e91ef
gl_rasterizer: Correct assertion condition in SyncLogicOpState()
...
Previously the assert would always be hit, since it was the equivalent
of: array == nullptr, which is never true.
2018-08-23 23:00:54 -04:00
bunnei
9d1e7af520
Merge pull request #1164 from tech4me/decode_iadd3
...
Shaders: Added decodings for IADD3 instructions
2018-08-23 22:59:34 -04:00
Lioncash
7ef364366f
filesystem: Fix typo in log message
2018-08-23 22:12:31 -04:00
Tobias
515e023396
Port #4013 from Citra: "Init logging sooner so we dont miss some logs on startup" ( #1142 )
...
* Port #4013 from Citra: "Init logging sooner so we dont miss some logs on startup"
* Fix compilation
2018-08-23 19:52:06 -04:00
Zach Hilman
7e04e10f4d
xci: Ignore NCA files with updates in secure
2018-08-23 18:53:37 -04:00
Zach Hilman
87927a3be7
content_archive: Add update title detection
...
This is needed because the title IDs of update NCAs will not use the update title ID. The only sure way to tell is to look for a partition with BKTR crypto.
2018-08-23 18:53:13 -04:00
David
f4b1df57e4
Added GetBootMode ( #1107 )
...
* Added GetBootMode
Used by homebrew
* Added enum for GetBootMode
2018-08-23 18:31:45 -04:00
tech4me
1204fbbc16
Shaders: Added decodings for IADD3 instructions
2018-08-23 15:46:59 -04:00
Zach Hilman
26b536c967
hex_util: Replace logic_errors with LOG_CRITICAL
...
Makes it so malformed hex strings do not crash the entire program.
2018-08-23 14:44:51 -04:00
Zach Hilman
6c83024693
qt: Add filename and title id to window title while running
2018-08-23 14:12:56 -04:00
David Marcec
a1a90166df
Addressed plu TTF changes
2018-08-24 02:18:04 +10:00
bunnei
2f8521eae0
Merge pull request #1160 from bunnei/surface-reserve
...
gl_rasterizer_cache: Several improvements
2018-08-23 12:04:37 -04:00
Zach Hilman
8f6ef9d395
key_manager: Eliminate indexed for loop
2018-08-23 11:53:30 -04:00
Zach Hilman
8b989b2e11
key_manager: Create keys dir if it dosen't exist
...
On call to WriteKeyToFile, so that the autogenerated file can be written.
2018-08-23 11:53:30 -04:00
Zach Hilman
d867928e90
file_sys: Cut down on includes and copies
2018-08-23 11:53:30 -04:00
Zach Hilman
d3225fdae9
crypto: Eliminate magic constants
2018-08-23 11:53:30 -04:00
Zach Hilman
5b8fdc94e2
key_manager: Add support for autogenerated keys
...
Stored in a separate file than manual keys.
2018-08-23 11:53:30 -04:00
Zach Hilman
abfa173778
key_manager: Add support for KEK and SD seed derivation
2018-08-23 11:53:30 -04:00
Zach Hilman
25e7fc1b47
key_manager: Switch to boost flat_map for keys
...
Should make key gets marginally faster.
2018-08-23 11:53:30 -04:00
Zach Hilman
b56f075c4e
game_list: Add SD registration loading to game list
2018-08-23 11:53:30 -04:00
Zach Hilman
32b5f6d88d
file_sys: Implement NAX containers
2018-08-23 11:53:30 -04:00
Zach Hilman
d407472129
registration: Add GetEntryUnparsed methods
...
Returns the file before calling parser on it.
2018-08-23 11:53:30 -04:00
Zach Hilman
8bc95b876e
sdmc_factory: Add SDMC RegisteredCache getter
2018-08-23 11:53:30 -04:00
Zach Hilman
f7b0f9fde4
qt: Make default row data title name and title id
...
Helps with installed games by making the title not a hexadecimal id string, instead the name.
2018-08-23 11:53:30 -04:00
Zach Hilman
1f77f3409a
vfs: Add GetOrCreateDirectoryRelative method
2018-08-23 11:52:44 -04:00
Zach Hilman
b8f5034fe1
filesystem: Add CreateFactories methods to fs
...
Allows frontend to create registration caches for use before a game has booted.
2018-08-23 11:52:44 -04:00
Zach Hilman
af6c9bb950
filesystem: Add logging to registration getters
2018-08-23 11:52:44 -04:00
Zach Hilman
50704abef4
loader: Add new NAX-specific errors and messages
2018-08-23 11:52:44 -04:00
Zach Hilman
8302ba7711
nax: Add AppLoader_NAX and update loader to support it
2018-08-23 11:52:44 -04:00
Zach Hilman
1369a56ec3
xts_encryption_layer: Implement XTSEncryptionLayer
2018-08-23 11:52:44 -04:00
Zach Hilman
ec14bb18c9
aes_util: Make XTSTranscode stricter about sizes
...
XTS with Nintendo Tweak will fail mysteriously if the sector size is not 0x4000. Upgrade the critical log to an assert to prevent undefined behavior.
2018-08-23 11:52:44 -04:00
Zach Hilman
abb0f6cac9
ctr_encryption_layer: Fix bug when transcoding small data
...
Fixes a bug where data lengths of less than size 0x10 will fail or have misleading return values.
2018-08-23 11:52:44 -04:00
Zach Hilman
1c1491a1cf
xci: Fix error masking issue
...
Prevents NCA-related errors from being masked into MissingProgramNCA or MissingKeyFile
2018-08-23 11:52:44 -04:00
bunnei
e7cc3bcae7
gl_rasterizer_cache: Blit when possible on RecreateSurface.
2018-08-23 11:27:01 -04:00
bunnei
c9000e6328
gl_rasterizer_cache: Reserve surfaces that have already been created for later use.
2018-08-23 11:27:01 -04:00
bunnei
5199da26b7
gl_rasterizer_cache: Remove assert for RecreateSurface type.
2018-08-23 11:27:00 -04:00
bunnei
746d6392a1
gl_rasterizer_cache: Implement compressed texture copies.
2018-08-23 11:27:00 -04:00
bunnei
462f484da7
gl_rasterizer: Implement stencil test.
...
- Used by Splatoon 2.
2018-08-23 11:08:49 -04:00
bunnei
f6cebf81e7
gl_rasterizer: Implement partial color clear and stencil clear.
2018-08-23 11:08:48 -04:00
bunnei
69146a7aa8
maxwell_3d: Update to include additional stencil registers.
2018-08-23 11:08:47 -04:00
bunnei
61768b717a
gl_state: Update to handle stencil front/back face separately.
2018-08-23 11:08:46 -04:00
bunnei
fc8c6f71ee
Merge pull request #1157 from lioncash/vec
...
gl_shader_gen: Use a std::vector to represent program code instead of std::array
2018-08-23 02:19:00 -04:00
bunnei
74daf9e1ee
Merge pull request #1156 from Lakumakkara/lop3
...
gl_shader_decompiler: Implement LOP3
2018-08-23 02:16:49 -04:00
David Marcec
c63960163f
Added SharedFonts loading via TTF
...
By having the following TTF files in your yuzu sysdata directory. You can load sharedfonts via TTF files.
FontStandard.ttf
FontChineseSimplified.ttf
FontExtendedChineseSimplified.ttf
FontChineseTraditional.ttf
FontKorean.ttf
FontNintendoExtended.ttf
FontNintendoExtended2.ttf
2018-08-23 14:42:06 +10:00
literalmente-game
9dcb7bded1
Swap "Plus" with "Minus" on the controller GUI ( #1150 )
...
* Swap "Plus" with "Minus" on the controller GUI
Major fix /s
2018-08-22 18:47:07 -06:00
bunnei
02f9f16614
Merge pull request #1137 from lioncash/namespace
...
renderer_opengl: Namespace OpenGL code
2018-08-22 18:14:48 -04:00
Lioncash
98e5080859
gl_shader_gen: Make ShaderSetup's constructor explicit
...
Prevents implicit conversions.
2018-08-22 17:04:44 -04:00
Lioncash
adb089c816
gl_shader_gen: Use a std::vector to represent program code instead of std::array
...
While convenient as a std::array, it's also quite a large set of data as
well (32KB). It being an array also means data cannot be std::moved. Any
situation where the code is being set or relocated means that a full
copy of that 32KB data must be done.
If we use a std::vector we do need to allocate on the heap, however, it
does allow us to std::move the data we have within the std::vector into
another std::vector instance, eliminating the need to always copy the
program data (as std::move in this case would just transfer the pointers
and bare necessities over to the new vector instance).
2018-08-22 17:04:44 -04:00
Laku
f4b60039ef
more fixes
2018-08-23 00:01:40 +03:00
Laku
a3046a0dc8
fixes
2018-08-22 21:33:32 +03:00
Lioncash
3f4bfaa5b6
renderer_opengl: Namespace OpenGL code
...
Namespaces all OpenGL code under the OpenGL namespace.
Prevents polluting the global namespace and allows clear distinction
between other renderers' code in the future.
2018-08-22 06:14:47 -04:00
Laku
f7ad34ce7f
remove debug logging
2018-08-22 11:45:28 +03:00
Laku
5a8c2eff39
implement lop3
2018-08-22 10:09:44 +03:00
tech4me
c6442d421a
config: Fixed icon size get set to 0
2018-08-21 22:36:29 -07:00
bunnei
5c6e09f325
Merge pull request #1136 from tech4me/master
...
qt/main: Port part of citra(#3411 ), open savedata works
2018-08-22 01:30:08 -04:00
bunnei
17abf95e78
Merge pull request #840 from FearlessTobi/port-3353
...
Port #3353 from Citra: "citra-qt: Add customizable speed limit target "
2018-08-22 01:19:50 -04:00
bunnei
cd6e3b910d
Merge pull request #1154 from OatmealDome/topology-lines
...
maxwell_to_gl: Implement PrimitiveTopology::Lines
2018-08-22 01:08:34 -04:00
bunnei
a50429187e
Merge pull request #1141 from FearlessTobi/port-3902
...
Port #3902 from Citra: "Add restart hotkey & menu option"
2018-08-22 01:07:59 -04:00
bunnei
253f664f7f
Merge pull request #1124 from Subv/logic_ops
...
GPU: Implemented logic ops.
2018-08-22 01:05:25 -04:00
OatmealDome
0125283439
maxwell_to_gl: Implement PrimitiveTopology::Lines
...
Used by Splatoon 2's debug menu.
2018-08-22 01:01:06 -04:00
bunnei
4128c3c898
Merge pull request #1147 from lioncash/warn
...
logging/text_formatter: Use empty braces for initializing CONSOLE_SCREEN_BUFFER_INFO instance
2018-08-22 00:37:59 -04:00
bunnei
e1b3fa36ef
Merge pull request #1151 from bunnei/revert-4a2ee191
...
Revert "Shader: Use the right sampler type in the TEX, TEXS and TLDS …"
2018-08-22 00:37:30 -04:00
David Marcec
391c780ae2
Added missing include for pl:u
...
Should fix any compile errors
2018-08-22 12:39:52 +10:00
David
146a8ce987
PL:U Added BFTTF loading(Loading from System NAND dumps) ( #1088 )
...
* Added bfttf loading
We can now load system bfttf fonts from system archives AND shared memory dumps. This allows people who have installed their system nand dumps to yuzu to automatically get shared font support. We also now don't hard code the offsets or the sizes of the shared fonts and it's all calculated for us now.
* Addressed plu fixups
* Style changes for plu
* Fixed logic error for plu and added more error checks.
2018-08-21 21:31:49 -04:00
bunnei
07dea7f17f
Revert "Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions."
...
- This reverts commit 18b91924b1 .
- This commit had broken a lot of games. We really should do a full implementation of this in one change.
2018-08-21 20:07:40 -04:00
bunnei
0f66a11667
Merge pull request #1145 from lioncash/fwd-decl
...
vfs: Replace mode.h include with forward declarations where applicable
2018-08-21 18:00:28 -04:00
bunnei
6697d3c8e9
Merge pull request #1146 from lioncash/am
...
am: Utilize std::array within PopLaunchParameter()
2018-08-21 18:00:06 -04:00
bunnei
6f857405d9
Merge pull request #1148 from lioncash/audio-warn
...
audio_core/filter: Add explicit cast to assignment in Process()
2018-08-21 17:04:53 -04:00
Lioncash
309df18cdb
shader_bytecode: Parenthesize conditional expression within GetTextureType()
...
Resolves a -Wlogical-op-parentheses warning.
2018-08-21 15:08:35 -04:00
Lioncash
e1124b6510
vfs: Replace mode.h include with forward declarations where applicable
...
Avoids the need to rebuild these source files if the mode header
changes.
2018-08-21 15:06:42 -04:00
Lioncash
a6c2e1e95c
audio_core/filter: Add explicit cast to assignment in Process()
...
Previously this would cause warnings about implicit conversions to s16
from a double
2018-08-21 12:32:37 -04:00
Lioncash
2c16d2ccdd
logging/text_formatter: Use empty braces for initializing CONSOLE_SCREEN_BUFFER_INFO instance
...
The previous form of initializing done here is a C-ism, an empty set of
braces is sufficient for initializing (and doesn't potentially cause
missing brace warnings, given the first member of the struct is a COORD
struct).
2018-08-21 11:31:05 -04:00
Lioncash
8e063b0b2c
am: Utilize std::array within PopLaunchParameter()
...
Gets rid of the potential for C array-to-pointer decay, and also makes
pointer arithmetic to get the end of the copy range unnecessary. We can
just use std::array's begin() and end() member functions.
2018-08-21 11:03:14 -04:00
bunnei
b809f96a90
Merge pull request #1143 from lioncash/inc
...
sdmc_factory: Remove unnecessary core include
2018-08-21 10:22:29 -04:00
bunnei
9e9b607888
Merge pull request #1139 from lioncash/bitfield
...
bit_field: Convert ToBool() into explicit operator bool
2018-08-21 10:21:19 -04:00
bunnei
3c8b5821d4
Merge pull request #1140 from FearlessTobi/port-4056
...
Port #4056 from Citra: "Add Clear Recent Files menu action"
2018-08-21 10:20:56 -04:00
MerryMage
2336c6bb5f
perf_stats: Change MAX_LAG_TIME_US to an appropriate value
...
25us is far too small, and would result in std::this_thread::sleep_for
being called with this as a maximum value. This means that a guest
application that produces frames instantly would only be limited to
40 kHz.
25ms is a more appropriate value, as it allows for a 60 Hz refresh
rate while providing enough slack in the negative region.
2018-08-21 14:50:50 +01:00
Lioncash
1c234d2e03
sdmc_factory: Remove unnecessary core include
...
This doesn't require the central core header to be included, it just
needs the vfs headers.
2018-08-21 07:54:29 -04:00
fearlessTobi
230bf50dda
Port #3902 from Citra: "Add restart hotkey & menu option"
2018-08-21 13:24:55 +02:00
fearlessTobi
51fbaae33b
Port #4056 from Citra: "Add Clear Recent Files menu action"
2018-08-21 13:12:45 +02:00
Lioncash
d6812d9e92
bit_field: Convert ToBool() into explicit operator bool
...
Gets rid of a TODO that is long overdue.
2018-08-21 06:39:45 -04:00
tech4me
5e70a75986
qt/main: Port part of citra( #3411 ), open savedata works
2018-08-21 02:04:33 -07:00
bunnei
cd3cf87aaa
Merge pull request #1123 from lioncash/screen
...
rasterizer_interface: Remove renderer-specific ScreenInfo type from AccelerateDraw() in RasterizerInterface
2018-08-21 01:18:34 -04:00
bunnei
38a103aca4
Merge pull request #1129 from lioncash/header
...
romfs_factory, service/filesystem: Use forward declarations where applicable
2018-08-21 01:18:04 -04:00
bunnei
dda8fe0b56
Merge pull request #1132 from Subv/gl_FragDepth
...
Shaders: Implement depth writing in fragment shaders.
2018-08-21 01:17:53 -04:00
bunnei
c0e983b953
Merge pull request #1134 from lioncash/log
...
renderer_opengl: Use LOG_DEBUG for GL_DEBUG_SEVERITY_NOTIFICATION and GL_DEBUG_SEVERITY_LOW logs
2018-08-21 01:17:31 -04:00
bunnei
98ba049746
Merge pull request #1121 from Subv/tex_reinterpret
...
Rasterizer: Use PBOs to reinterpret texture formats when games re-use the same memory.
2018-08-21 01:06:40 -04:00
Lioncash
7ed85cccca
renderer_opengl: Use LOG_DEBUG for GL_DEBUG_SEVERITY_NOTIFICATION and GL_DEBUG_SEVERITY_LOW logs
...
LOG_TRACE is only enabled on debug builds which can be quite slow when
trying to debug graphics issues. Instead we can log the messages to the
debug log, which is available on both release and debug builds.
2018-08-21 00:23:09 -04:00
bunnei
b3546e839d
Merge pull request #1133 from lioncash/guard
...
gl_stream_buffer: Add missing header guard
2018-08-20 23:37:55 -04:00
Lioncash
1d77a31e1d
service/filesystem: Use forward declarations where applicable
...
Avoids the need to rebuild multiple source files if the filesystem code
headers change.
This also gets rid of a few instances of indirect inclusions being
relied upon
2018-08-20 23:28:46 -04:00
Lioncash
80ce7b69d5
gl_stream_buffer: Add missing header guard
...
Prevents potential compilation errors from occuring due to multiple
inclusions
2018-08-20 23:25:08 -04:00
Subv
ca79c467bb
Shaders: Implement depth writing in fragment shaders.
...
We'll write <last color output reg + 2> to gl_FragDepth.
2018-08-20 21:57:56 -05:00
bunnei
0383fbfc00
Merge pull request #1126 from lioncash/telem
...
telemetry_session: Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()
2018-08-20 22:15:56 -04:00
bunnei
8e3dc543a2
Merge pull request #1131 from bunnei/impl-tex3d-texcube
...
gl_shader_decompiler: Implement TextureCube/Texture3D for TEX/TEXS.
2018-08-20 22:15:18 -04:00
bunnei
03668508cb
Merge pull request #1106 from Subv/multiple_rendertargets
...
Shaders: Write all the enabled color outputs when a fragment shader exits.
2018-08-20 21:56:06 -04:00
bunnei
f0e1387103
shader_bytecode: Replace some UNIMPLEMENTED logs.
2018-08-20 21:53:49 -04:00
bunnei
e8eee95c8e
gl_shader_decompiler: Implement Texture3D for TEXS.
2018-08-20 21:53:18 -04:00
bunnei
1ac135d85b
gl_shader_decompiler: Implement TextureCube for TEX.
2018-08-20 21:53:00 -04:00
bunnei
56f817cdd1
Merge pull request #1130 from Subv/tex_2d
...
Shaders: Fixed texture coordinates in TEX with Texture2D
2018-08-20 21:49:47 -04:00
Subv
7b21918d83
Shaders: Fixed the coords in TEX with Texture2D.
...
The X and Y coordinates should be in gpr8 and gpr8+1, respectively.
This fixes the cutscene rendering in Sonic Mania.
2018-08-20 20:45:46 -05:00
Subv
c65f043274
Shaders: Log and crash when using an unimplemented texture type in a texture sampling instruction.
2018-08-20 20:44:56 -05:00
bunnei
6a3f07784a
Merge pull request #1122 from lioncash/acc
...
acc/profile_manager: General cleanup
2018-08-20 20:54:34 -04:00
Lioncash
935346a9b2
romfs_factory: Remove unnecessary includes and use forward declarations where applicable
...
Avoids the need to rebuild whatever includes the romfs factory header if
the loader header ever changes. We also don't need to include the main
core header. We can instead include the headers we specifically need.
2018-08-20 20:27:00 -04:00
bunnei
821b9d1901
Merge pull request #1095 from DarkLordZach/sysarchives
...
filesystem: Add support for loading of system archives
2018-08-20 20:17:57 -04:00
Lioncash
35e0f49b3f
telemetry_session: Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()
...
Given these functions aren't intended to be used frequently, there's no
need to keep the std::string instances allocated for the whole lifetime
of the program. It's just a waste of memory.
2018-08-20 20:06:25 -04:00
Lioncash
2b5eb5254d
acc: Replace profile_manager include with a forward declaration
...
This is only used in a shared_ptr, so we can forward declare it.
2018-08-20 19:48:57 -04:00
Lioncash
d643659275
acc: Simplify WriteBuffer call within LoadImage()
...
We have an overload of WriteBuffer that accepts containers that satisfy
the ContiguousContainer concept, which std::array does, so we only need
to pass in the array itself.
2018-08-20 19:48:57 -04:00
Lioncash
477a9f8a66
acc: Correct IProfile's constructor initializer list order
...
Arranges them in the order the members would be initialized
2018-08-20 19:48:57 -04:00
Lioncash
f645b3ef5a
acc: Remove unused DEFAULT_USER_ID
...
This is no longer used, so it can be removed.
2018-08-20 19:48:57 -04:00
Lioncash
b3c07b97df
profile_manager: Use INVALID_UUID in the initializer of last_opened_user
...
Makes it a little bit more self-documenting.
2018-08-20 19:48:57 -04:00
Lioncash
f035a384b1
profile_manager: Remove unnecessary memcpy in GetProfileBaseAndData()
...
Given the source and destination types are the same std::array type, we
can simply use regular assignment to perform the same behavior.
2018-08-20 19:48:57 -04:00
Lioncash
280b278b33
profile_manager: Use type aliases for username data, profile data, and user arrays
...
Avoids the need to repeatedly specify the whole array type in multiple
places.
2018-08-20 19:48:57 -04:00
Lioncash
4fbaf3e0af
profile_manager: Take ProfileInfo by const reference where applicable
...
ProfileInfo is quite a large struct in terms of data, and we don't need
to perform a copy in these instances, so we can just pass constant
references instead.
2018-08-20 19:48:57 -04:00
Lioncash
3b6af2a6f7
profile_manager: Make array parameter to CreateNewUser a const reference
...
This doesn't modify the passed in array, so this can be a const
reference.
2018-08-20 19:48:57 -04:00
Lioncash
4b39dd7d47
profile_manager: Remove unnecessary static
...
This can just be constexpr like the others
2018-08-20 19:48:57 -04:00
Lioncash
30c2015a2e
profile_manager: Simplify UUID's two param constructor, operator==, and operator bool
...
We can use the constructor initializer list and just compare the
contained u128's together instead of comparing each element
individually. Ditto for comparing against an invalid UUID.
2018-08-20 19:48:57 -04:00
Lioncash
29ee3bc8d6
profile_manager: Move UUID generation function to the cpp file
...
This avoids needing to dump the contents of <random> into other files
that include the profile manager header.
2018-08-20 19:48:53 -04:00
Subv
9e19247ca3
GPU: Implemented the logic op functionality of the GPU.
...
This will ASSERT if blending is enabled at the same time as logic ops.
2018-08-20 18:44:47 -05:00
bunnei
6813959578
Merge pull request #1064 from lioncash/telemetry
...
common/telemetry: Migrate core-independent info gathering to common
2018-08-20 19:43:17 -04:00
Subv
181efe72a6
GLState: Allow enabling/disabling GL_COLOR_LOGIC_OP independently from blending.
2018-08-20 18:43:11 -05:00
Lioncash
03cb9b116d
rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signature
...
This is an OpenGL renderer-specific data type. Given that, this type
shouldn't be used within the base interface for the rasterizer. Instead,
we can pass this information to the rasterizer via reference.
2018-08-20 19:43:05 -04:00
Subv
b55ca15b4b
GPU: Added registers for the logicop functionality.
2018-08-20 18:42:36 -05:00
Lioncash
d18dda762c
renderer_base: Make creation of the rasterizer, the responsibility of the renderers themselves
...
Given we use a base-class type within the renderer for the rasterizer
(RasterizerInterface), we want to allow renderers to perform more
complex initialization if they need to do such a thing. This makes it
important to reserve type information.
Given the OpenGL renderer is quite simple settings-wise, this is just a
simple shuffling of the initialization code. For something like Vulkan
however this might involve doing something like:
// Initialize and call rasterizer-specific function that requires
// the full type of the instance created.
auto raster = std::make_unique<VulkanRasterizer>(some, params);
raster->CallSomeVulkanRasterizerSpecificFunction();
// Assign to base class variable
rasterizer = std::move(raster)
2018-08-20 19:28:00 -04:00
fearlessTobi
fc6901c205
Port #3353 from Citra
2018-08-21 01:14:06 +02:00
Subv
1318ecc2f1
Shaders: Write all the enabled color outputs when a fragment shader exits.
...
We were only writing to the first render target before.
Note that this is only the GLSL side of the implementation, supporting multiple render targets requires more changes in the OpenGL renderer.
Dual Source blending is not implemented and stuff that uses it might not work at all.
2018-08-20 17:31:25 -05:00
Zach Hilman
132d82db7d
registration: Add Data_Unknown5 NCAContentType
2018-08-20 17:34:18 -04:00
Lioncash
92ca1346ea
profile_manager: Remove unnecessary std::move in AddToProfiles() and CreateNewUser()
...
Moving a const reference isn't possible, so this just results in a copy
(and given ProfileInfo is composed of trivial types and aggregates, a
move wouldn't really do anything).
2018-08-20 17:18:31 -04:00
Subv
cab352e38c
Rasterizer: Reinterpret the raw texture bytes instead of blitting (and thus doing format conversion) to a new texture when a game requests an old texture address with a different format.
2018-08-20 15:20:35 -05:00
Subv
f2c2f8c196
Rasterizer: Don't attempt to copy over the old texture's data when doing a format reinterpretation if we're only going to clear the framebuffer.
2018-08-20 15:20:35 -05:00
bunnei
f0b3a58e70
Merge pull request #1104 from Subv/instanced_arrays
...
GLRasterizer: Implemented instanced vertex arrays.
2018-08-20 14:32:50 -04:00
bunnei
d05b7cbe9c
Merge pull request #1115 from Subv/texs_mask
...
Shaders/TEXS: Write to the correct output register when swizzling.
2018-08-20 14:31:33 -04:00
bunnei
0e2d8a6fc3
Merge pull request #1112 from Subv/sampler_types
...
Shaders: Use the correct shader type when sampling textures.
2018-08-20 14:30:45 -04:00
bunnei
929cac9d1a
Merge pull request #1117 from ogniK5377/CheckFreeCommunicationPermission
...
Added CheckFreeCommunicationPermission
2018-08-20 11:00:26 -04:00
bunnei
e2227e88d4
Merge pull request #1017 from ogniK5377/better-account
...
New account backend to allow for future extended support
2018-08-20 10:59:15 -04:00
bunnei
c0a920a6ef
Merge pull request #1120 from ogniK5377/rgba8-uint
...
Implemented RGBA8_UINT
2018-08-20 10:54:51 -04:00
David Marcec
4d26be905a
Implemented RGBA8_UINT
...
Needed by kirby
2018-08-20 22:26:54 +10:00
Lioncash
9981f15c87
game_list: Avoid uninitialized variables when retrieving program ID
...
Avoids potentially leaving this variable uninitialized based off the
loader failing to retrieve the ID value.
2018-08-20 04:23:05 -04:00
David Marcec
43a8240c64
Added CheckFreeCommunicationPermission
...
This fixes save files not loading in splatoon 2
2018-08-20 18:14:49 +10:00
Subv
076cedb836
Shaders/TEXS: Fixed the component mask in the TEXS instruction.
...
Previously we could end up with a TEXS that didn't write any outputs, this was wrong.
2018-08-19 17:09:40 -05:00
bunnei
67de67fdcf
Merge pull request #1089 from Subv/neg_bits
...
Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions.
2018-08-19 17:01:48 -04:00
bunnei
2a0d141f54
Merge pull request #1105 from Subv/convert_neg
...
Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions.
2018-08-19 17:01:20 -04:00
bunnei
6ebc5532d9
Merge pull request #1113 from Subv/texs_mask
...
Shaders/TEXS: Fixed the component mask in the TEXS instruction.
2018-08-19 17:00:59 -04:00
Subv
67da7c7ab8
Shaders/TEXS: Fixed the component mask in the TEXS instruction.
...
Previously we could end up with a TEXS that didn't write any outputs, this was wrong.
2018-08-19 14:00:12 -05:00
bunnei
540ac8b322
Merge pull request #1102 from ogniK5377/mirror-clamp-edge
...
Added WrapMode MirrorOnceClampToEdge
2018-08-19 13:59:41 -04:00
bunnei
565eb378c3
Merge pull request #1101 from Subv/ssy_stack
...
Shaders: Implemented a stack for the SSY/SYNC instructions.
2018-08-19 13:58:45 -04:00
Subv
1f92a7cb88
Shader: Implemented the TLD4 and TLD4S opcodes using GLSL's textureGather.
...
It is unknown how TLD4S determines the sampler type, more research is needed.
2018-08-19 12:57:58 -05:00
Subv
18b91924b1
Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions.
...
Different sampler types have their parameters in different registers.
2018-08-19 12:57:54 -05:00
Subv
8b1711cdd5
Shader: Added bitfields for the texture type of the various sampling instructions.
2018-08-19 12:57:51 -05:00
Subv
906f9fb7bf
Shaders: Added decodings for TLD4 and TLD4S
2018-08-19 12:57:08 -05:00
bunnei
91fc6e1c91
Merge pull request #1109 from Subv/ldg_decode
...
Shaders: Added decodings for the LDG and STG instructions.
2018-08-19 13:31:19 -04:00
bunnei
4bd14d6da8
Merge pull request #1108 from Subv/front_facing
...
Shaders: Implemented the gl_FrontFacing input attribute (attr 63).
2018-08-19 13:21:14 -04:00
Subv
d580b54809
Shaders: Added decodings for the LDG and STG instructions.
2018-08-19 00:46:34 -05:00
Subv
67e993fdd3
Shaders: Implemented the gl_FrontFacing input attribute (attr 63).
2018-08-19 00:14:34 -05:00
David Marcec
2ee02649df
Added check to see if ARB_texture_mirror_clamp_to_edge is supported
2018-08-19 12:00:33 +10:00
Zach Hilman
350941e45e
filesystem: Add support for loading of system archives
2018-08-18 21:28:23 -04:00
Subv
cdd03fbb45
Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions.
2018-08-18 14:48:05 -05:00
Subv
175096eff7
GLRasterizer: Implemented instanced vertex arrays.
...
Before each draw call, for every enabled vertex array configured as instanced, we take the current instance id and divide it by its configured divisor, then we multiply that by the corresponding stride and increment the start address by the resulting amount. This way we can simulate the vertex array being incremented once per instance without actually using OpenGL's instancing functions.
2018-08-18 14:42:26 -05:00
Subv
70e99baabe
Shader: Implemented the predicate and mode arguments of LOP.
...
The mode can be used to set the predicate to true depending on the result of the logic operation. In some cases, this means discarding the result (writing it to register 0xFF (Zero)).
This is used by Super Mario Odyssey.
2018-08-18 14:36:37 -05:00
David Marcec
fe3ea08968
Added WrapMode MirrorOnceClampToEdge
...
Used by splatoon 2
2018-08-19 02:26:50 +10:00
Subv
c42b8cbdd0
Shaders: Implemented a stack for the SSY/SYNC instructions.
...
The SSY instruction pushes an address into the stack, and the SYNC instruction pops it. The current stack depth is 20, we should figure out if this is enough or not.
2018-08-18 10:48:12 -05:00
Subv
a175f7ba29
Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions.
...
We should definitely audit our shader generator for more errors like this.
2018-08-18 10:22:42 -05:00
David Marcec
ab3b9d7aa5
Added predcondition GreaterThanWithNan
2018-08-18 17:49:59 +10:00
bunnei
80714d89d6
Merge pull request #1096 from bunnei/supported-blits
...
gl_rasterizer_cache: Remove asserts for supported blits.
2018-08-17 22:41:53 -04:00
bunnei
b4e380e0d7
Merge pull request #1097 from bunnei/gl-critical
...
renderer_opengl: Treat OpenGL errors as critical.
2018-08-17 10:39:13 -04:00
greggameplayer
c19eaa2787
Implement SetIdleTimeDetectionExtension & GetIdleTimeDetectionExtension ( #1059 )
...
* Used by Mario Tennis Aces
2018-08-17 00:23:08 -04:00
bunnei
4e76dbd751
Merge pull request #1090 from lioncash/ctor-assign
...
core: Delete System copy/move constructors and assignment operators
2018-08-17 00:19:55 -04:00
bunnei
a5c2b155de
Merge pull request #1091 from lioncash/warning
...
qt/main: Get rid of compilation warnings
2018-08-17 00:19:05 -04:00
bunnei
da0d5239c1
Merge pull request #1093 from greggameplayer/GetDefaultDisplayResolutionChangeEvent
...
Implement GetDefaultDisplayResolutionChangeEvent
2018-08-17 00:18:35 -04:00
bunnei
9705148ea2
gl_rasterizer_cache: Remove asserts for supported blits.
2018-08-17 00:10:08 -04:00
bunnei
aeea1e9108
renderer_opengl: Treat OpenGL errors as critical.
2018-08-17 00:09:27 -04:00
bunnei
5912824519
Merge pull request #1019 from Subv/vertex_divisor
...
Rasterizer: Manually implemented instanced rendering.
2018-08-17 00:07:06 -04:00
bunnei
79fc21a85e
Merge pull request #1087 from MerryMage/dynarmic
...
dynarmic: Update to 550d662
2018-08-16 18:07:11 -04:00
bunnei
33a9e673d2
Merge pull request #1084 from bunnei/depth
...
gl_rasterizer_cache: Treat Depth formats differently from DepthStencil.
2018-08-16 18:06:51 -04:00
greggameplayer
edccdedd16
correct coding style
2018-08-16 23:46:06 +02:00
greggameplayer
4c94d500df
Implement GetDefaultDisplayResolutionChangeEvent
...
Require by Toki Tori and Toki Tori 2+
2018-08-16 23:25:54 +02:00
bunnei
9d4958752e
Merge pull request #1085 from lioncash/namespace
...
common: Namespace hex_util.h/.cpp
2018-08-16 11:54:42 -04:00
Lioncash
5b87516373
qt/main: Unindent code in OnMenuInstallToNAND()
...
We can change this into an early-return if the filename is empty.
There's no need to include all of the code within the if statement.
2018-08-16 10:37:58 -04:00
Lioncash
c28ea940a1
qt/main: Make installation dialog text within OnMenuInstallToNAND() translatable
...
This is user-facing text, so it should be marked as translatable by Qt.
2018-08-16 10:36:42 -04:00
Lioncash
4423e138ea
qt/main: Get rid of compilation warnings
...
Gets rid of truncation warnings about conversion to int. While we're at
it, we can also de-hardcode the buffer size being used.
2018-08-16 10:28:06 -04:00
Lioncash
3afcede204
core: Delete System copy/move constructors and assignment operators
...
Prevents potentially making copies or doing silly things by accident
with the System instance, particularly given our current core is
designed (unfortunately) around one instantiable instance.
This will prevent the accidental case of:
auto instance = System::Instance();
being compiled without warning when it's supposed to be:
auto& instance = System::Instance();
2018-08-16 10:21:14 -04:00
MerryMage
84cc4aaa4f
dynarmic: Update to 550d662
...
550d662 load_store_exclusive: Define s == t state to be Constraint_NONE
0b69381 A64/translate: Allow for unpredictable behaviour to be defined
6d236d4 system: Implement MRS CNTFRQ_EL0
6cbb6fb A32/testenv: Add missing headers
6729328 externals: Update xbyak to v5.67
1812bd2 Squashed 'externals/xbyak/' changes from 2794cde7..671fc805
9a95802 externals: Document subtrees
714a840 A64: Implement SQ{ADD, SUB}, and UQ{ADD, SUB}'s vector variants
8cab459 A64: Implement UQADD/UQSUB's scalar variants
18a8151 ir: Add opcodes for unsigned saturating add and subtract
a5660ee x64/reg_alloc: Use type alias for array returned by GetArgumentInfo()
29489b5 ir/value: Use type alias CoprocessorInfo for std::array<u8, 8>
e23ba26 status_register_access: Add support for bits 0 and 1 of mask to MSR
55190bd fuzz_with_unicorn: Split utility functions into fuzz_util
23b049d A32/translate/load_store: Correct detection of writeback
7ec9f15 A32/translate: Add TranslateSingleInstruction
efeecb4 A32/ir_emitter: Bug fix: IREmitter::ExceptionRaised using incorrect opcode
08d1d19 A32/decoders: Split instruction list into include file
2d929cc tests: Refactor unicorn_emu to allow for A32 unicorn
f672368 microinstruction: Improve assert messages
7ebff50 emit_x64_vector: EmitVectorNarrow16: AVX512 implementation
edce230 emit_x64_vector: EmitVectorNarrow32: prefer pblendw to loading constant
2018-08-16 10:12:20 +01:00
bunnei
8964eebeb1
Merge pull request #1075 from lioncash/include
...
loader/{nca, xci}: Remove unnecessary includes and unused member variables
2018-08-16 00:04:25 -04:00
Lioncash
890507ecf1
common: Namespace hex_util.h/.cpp
...
It's in the common code, so it should be under the Common namespace like
everything else.
2018-08-15 23:24:00 -04:00
bunnei
960f4ecce2
Merge pull request #1005 from DarkLordZach/registered-fmt
...
file_sys: Add support for registration format
2018-08-15 23:11:58 -04:00
bunnei
9b74ac4e98
gl_rasterizer_cache: Treat Depth formats differently from DepthStencil.
2018-08-15 21:24:04 -04:00
bunnei
d08f54b77d
Merge pull request #1078 from lioncash/message
...
lm: Handle threads and modules within the logger
2018-08-15 18:53:47 -04:00
bunnei
73e0f3f1ce
Merge pull request #1079 from lioncash/fmt
...
loader: Make ResultStatus directly compatible with fmt
2018-08-15 18:25:57 -04:00
bunnei
0bd47dfb22
Merge pull request #1051 from B3n30/UnscheduleEventThreadsafe
...
Core::CoreTiming: add UnscheduleEventThreadsafe
2018-08-15 18:25:30 -04:00
bunnei
b4cc42e615
Merge pull request #1080 from lioncash/ret
...
sm/controller: Correct return value of QueryPointerBufferSize
2018-08-15 18:25:05 -04:00
bunnei
33b0b4dda9
Merge pull request #1083 from Subv/conv_neg
...
Shaders: Implemented I2F_C and F2I_C, along with the negation bits of the conversion instructions.
2018-08-15 18:24:47 -04:00
bunnei
1462cfecae
Merge pull request #1081 from lioncash/convert
...
kernel/server_session: Add IsSession() member function
2018-08-15 13:02:25 -04:00
Subv
64cb9fc8b0
Shader/Conversion: Implemented the negate bit in F2F and I2I instructions.
2018-08-15 09:27:43 -05:00
Subv
237848d417
Shader/I2F: Implemented the negate I2F_C instruction variant.
2018-08-15 09:25:02 -05:00
Subv
61be8e0be3
Shader/F2I: Implemented the negate bit in the I2F instruction
2018-08-15 09:18:55 -05:00
Subv
cb60077c0c
Shader/F2I: Implemented the F2I_C instruction variant.
2018-08-15 09:16:35 -05:00
Subv
e0c412ae9b
Shader/F2I: Implemented the negate bit in the F2I instruction.
2018-08-15 09:15:55 -05:00
bunnei
a617634394
Merge pull request #1077 from bunnei/rgba16u
...
gl_rasterizer_cache: Add RGBA16U to PixelFormatFromTextureFormat.
2018-08-15 09:25:15 -04:00
Lioncash
c5986c7bf7
kernel/server_session: Add IsSession() member function
...
Allows querying the inverse of IsDomain() to make things more readable.
This will likely also be usable in the event of implementing
ConvertDomainToSession().
2018-08-15 06:50:50 -04:00
Lioncash
d9f92aa9b0
sm/controller: Correct return value of QueryPointerBufferSize
...
This should be returning a u16 according to Switch Brew.
2018-08-15 06:16:10 -04:00
Lioncash
aaed702790
loader: Make ResultStatus directly compatible with fmt
...
We can make the enum class type compatible with fmt by providing an
overload of operator<<.
While we're at it, perform proper bounds checking. If something exceeds
the array, it should be a hard fail, because it's, without a doubt, a
programmer error in this case.
2018-08-15 05:52:37 -04:00
Lioncash
4b18920435
loader/nca: Remove unnecessary includes and member variables
2018-08-15 01:41:40 -04:00
Lioncash
f5b5d53cde
loader/xci: Remove unnecessary includes and member variables
...
Many of these aren't necessary and will cause this file to be required
to be recompiled whenever any changes to those files are made, which
lengthens compile times for no reason.
This also removes an unused metadata variable from AppLoader_XCI
2018-08-15 01:41:35 -04:00
Lioncash
6784110323
lm: Use LOG_DEBUG for printing out trace logs
...
Using LOG_TRACE here isn't a good idea because LOG_TRACE is only enabled
when yuzu is compiled in debug mode. Debug mode is also quite slow, and
so we're potentially throwing away logging messages that can provide
value when trying to boot games.
2018-08-15 01:07:41 -04:00
Lioncash
1da6859863
lm: Handle threads and modules within the logger
...
The thread field serves to indicate which thread a log is related to and
provides the length of the thread's name, so we can print that out,
ditto for modules.
Now we can know what threads are potentially spawning off logging
messages (for example Lydie & Suelle bounces between MainThread and
LoadingThread when initializing the game).
2018-08-15 01:05:50 -04:00
bunnei
5135d2a415
gl_rasterizer_cache: Cleanup some PixelFormat names and logging.
2018-08-14 23:31:45 -04:00
Subv
1162a49920
Rasterizer: Implemented instanced rendering.
...
We keep track of the current instance and update an uniform in the shaders to let them know which instance they are.
Instanced vertex arrays are not yet implemented.
2018-08-14 22:25:07 -05:00
bunnei
359480e0dc
gl_rasterizer_cache: Add RGBA16U to PixelFormatFromTextureFormat.
...
- Used by Breath of the Wild.
2018-08-14 23:18:34 -04:00
bunnei
e8fe32f9d5
Merge pull request #1069 from bunnei/vtx-sz
...
maxwell_to_gl: Properly handle UnsignedInt/SignedInt sizes.
2018-08-14 23:14:44 -04:00
bunnei
b5c3d5e9f2
Merge pull request #1070 from bunnei/cbuf-sz
...
gl_rasterizer: Fix upload size for constant buffers.
2018-08-14 23:14:24 -04:00
bunnei
64aa1ad9cd
Merge pull request #1071 from bunnei/fix-ldc
...
gl_shader_decompiler: Several fixes for indirect constant buffer loads.
2018-08-14 23:14:09 -04:00
bunnei
d36398658b
Merge pull request #1068 from bunnei/g8r8s
...
gl_rasterizer_cache: Implement G8R8S format.
2018-08-14 23:13:43 -04:00
bunnei
26a456e76f
Merge pull request #1067 from lioncash/init
...
emu_window: Ensure WindowConfig members are always initialized
2018-08-14 22:43:32 -04:00
bunnei
369967e5f8
Merge pull request #1073 from lioncash/3ds
...
loader: Remove address mapping remnants from citra
2018-08-14 22:43:04 -04:00
bunnei
1b97563c85
Merge pull request #1072 from lioncash/svc
...
kernel/svc: Log svcBreak parameters
2018-08-14 22:42:44 -04:00
bunnei
25dec97e4b
Merge pull request #1063 from lioncash/inline
...
common/xbyak_abi: Mark defined functions in header as inline
2018-08-14 22:40:23 -04:00
greggameplayer
e4e15aa6c5
Implement Z16_UNORM in PixelFormatFromTextureFormat function
...
Require by Zelda Breath Of The Wild
2018-08-15 04:14:15 +02:00
bunnei
0606860e3e
Merge pull request #1054 from zhaowenlan1779/misc-fixup
...
common/misc: use windows.h
2018-08-14 21:47:28 -04:00
bunnei
3f1ec6b9c9
Merge pull request #1056 from lioncash/mm
...
mm_u: Move interface class into the cpp file
2018-08-14 21:47:07 -04:00
Lioncash
ea9c1deb5e
loader: Remove address mapping remnants from citra
...
These mappings are leftovers from citra and don't apply to the Switch.
2018-08-14 21:37:03 -04:00
Lioncash
9f6aa5cda8
kernel/svc: Log svcBreak parameters
...
Given if we hit here all is lost, we should probably be logging the
break reason code and associated information to distinguish between the
causes.
2018-08-14 20:54:05 -04:00
bunnei
8b86f91e1a
gl_shader_decompiler: Several fixes for indirect constant buffer loads.
2018-08-14 20:47:50 -04:00
bunnei
e6b29a30db
gl_rasterizer: Fix upload size for constant buffers.
2018-08-14 20:44:19 -04:00
bunnei
debc3f9176
maxwell_to_gl: Properly handle UnsignedInt/SignedInt sizes.
2018-08-14 20:43:02 -04:00
bunnei
f5ec085815
gl_rasterizer_cache: Implement G8R8S format.
...
- Used by Super Mario Odyssey.
2018-08-14 20:41:49 -04:00
Lioncash
893faf13d7
emu_window: Ensure WindowConfig members are always initialized
...
Previously we weren't always initializing all members of the struct.
Prevents potentially wonky behavior from occurring.
2018-08-14 19:36:43 -04:00
Lioncash
5ad776105c
common/telemetry: Migrate core-independent info gathering to common
...
Previously core itself was the library containing the code to gather
common information (build info, CPU info, and OS info), however all of
this isn't core-dependent and can be moved to the common code and use
the common interfaces. We can then just call those functions from the
core instead.
This will allow replacing our CPU detection with Xbyak's which has
better detection facilities than ours. It also keeps more
architecture-dependent code in common instead of core.
2018-08-14 18:57:46 -04:00
Lioncash
c0f2f8a840
common/xbyak_abi: Mark defined functions in header as inline
...
Avoids potential One Definition Rule violations when these are used in
the future.
2018-08-14 18:29:56 -04:00
Lioncash
9b5b9205a5
common/xbyak: Use nested namespace specifiers where applicable
2018-08-14 18:27:27 -04:00
Lioncash
f3992cd43b
common: Remove unused old breakpoint source files
...
These currently aren't used and contain commented out source code that
corresponds to Dolphin's JIT. Given our CPU code is organized quite
differently, we shouldn't be keeping this around (at the moment it just
adds to compile times marginally).
2018-08-14 18:14:01 -04:00
bunnei
ea8e6b9356
Merge pull request #1055 from lioncash/init
...
audout_u: Correct IAudioOut initializer list order
2018-08-14 08:03:33 -04:00
bunnei
4931d9c7d1
Merge pull request #1058 from greggameplayer/BC7U_Fix
...
Fix BC7U
2018-08-14 08:03:07 -04:00
bunnei
f09b3224e8
Merge pull request #1050 from bunnei/rgba16-unorm
...
renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.
2018-08-14 08:02:50 -04:00
Lioncash
e6a87798b9
logging/backend: Use const reference to refer to log filter
...
The filter is returned via const reference, so this was making a
pointless copy of the entire filter every time a message was being
pushed into the logger instance.
2018-08-13 21:44:55 -04:00
greggameplayer
dd3e4a2b75
Fix BC7U
2018-08-14 02:36:00 +02:00
Mat M
9791de74fe
Merge pull request #1046 from ogniK5377/missing-channels
...
Added missing channel devices
2018-08-13 19:36:26 -04:00
Lioncash
fca92a1d36
mm_u: Forward all old variants of functions to the new ones
...
Ensures both variants go through the same interface, and while we're at
it, add Finalize to provide the inverse of Initialize for consistency.
2018-08-13 18:59:10 -04:00
Lioncash
cf247dc630
mm_u: Move implementation class into the cpp file
...
Now if changes are ever made to the behavior of the class, it doesn't
involve rebuilding everything that includes the mm_u header.
2018-08-13 18:59:07 -04:00
Lioncash
053cab51ce
audout_u: Correct IAudioOut initializer list order
...
Orders elements in the precise order they'll be initialized.
2018-08-13 18:23:59 -04:00
bunnei
9b9cf62587
renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.
...
- Used by Breath of the Wild.
2018-08-13 18:20:07 -04:00
Zhu PengFei
bba0f809c8
common/misc: use windows.h
...
linux-mingw does not really like this.
2018-08-14 04:28:24 +08:00
bunnei
3cdfb2d11f
Merge pull request #1052 from ogniK5377/xeno
...
Implement RG32UI and R32UI
2018-08-13 12:31:39 -04:00
bunnei
4f12aba993
Merge pull request #1033 from MerryMage/interp
...
audio_core: Interpolate
2018-08-13 12:19:59 -04:00
bunnei
d25f804019
Merge pull request #1053 from MerryMage/rm-IsExecuting
...
arm_dynarmic: Remove IsExecuting check from PrepareReschedule
2018-08-13 12:18:51 -04:00
Mat M
1e6ef49f3b
Merge pull request #1049 from bunnei/vtx-size-8
...
maxwell_to_gl: Implement VertexAttribute::Size::Size_8.
2018-08-13 11:51:21 -04:00
MerryMage
092d385d53
arm_dynarmic: Remove IsExecuting check from PrepareReschedule
...
No longer required. HaltExecution is a no-op if it is not currently executing.
2018-08-13 13:59:01 +01:00
David Marcec
5c1a4ab132
Implement RG32UI and R32UI
...
Needed for xenoblade
2018-08-13 22:55:16 +10:00
B3n30
8d6b45cd43
Core::CoreTiming: add UnscheduleEventThreadsafe
2018-08-13 13:56:41 +02:00
MerryMage
26aa4ae7a8
audio_renderer: samples_remaining counts frames, not samples
2018-08-13 11:26:50 +01:00
MerryMage
0525998743
audio_core: Interpolate
2018-08-13 11:26:50 +01:00
MerryMage
fea4df74c2
audio_core: Implement low-pass filter
2018-08-13 11:26:50 +01:00
bunnei
34cba027e7
Merge pull request #1032 from lioncash/sanitize
...
vfs: Use sanitized paths within MoveFile() and MoveDirectory()
2018-08-13 01:43:35 -04:00
bunnei
faf3494968
Merge pull request #1031 from lioncash/verbosity
...
card_image: Simplify return statement of GetSubdirectories()
2018-08-13 01:42:07 -04:00
bunnei
d2634506a9
Merge pull request #1048 from lioncash/atomic
...
kernel/object: Tighten object against data races
2018-08-13 01:41:23 -04:00
bunnei
71faea40a6
maxwell_to_gl: Implement VertexAttribute::Size::Size_8.
...
- Used by Breath of the Wild.
2018-08-13 01:34:21 -04:00
Lioncash
3485963fec
kernel/object: Tighten object against data races
...
Despite being covered by a global mutex, we should still ensure that the
class handles its reference counts properly. This avoids potential
shenanigans when it comes to data races.
Given this is the root object that drives quite a bit of the kernel
object hierarchy, ensuring we always have the correct behavior (and no
races) is a good thing.
2018-08-13 00:16:40 -04:00
bunnei
1d2fdc5a0d
renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.
...
- Used by Breath of the Wild.
2018-08-13 00:06:22 -04:00
bunnei
f9c5041caa
Merge pull request #1045 from bunnei/rg8-unorm
...
renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
2018-08-13 00:05:25 -04:00
David Marcec
dc6dcaf416
Registered missing channel devices
2018-08-13 14:03:50 +10:00
David Marcec
10e054e941
Added missing channel devices
2018-08-13 14:00:27 +10:00
bunnei
dcd05b3e87
maxwell_to_gl: Implement PrimitiveTopology::LineStrip.
...
- Used by Breath of the Wild.
2018-08-12 23:09:32 -04:00
bunnei
ad6b0268eb
renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
...
- Used by Breath of the Wild.
2018-08-12 23:08:50 -04:00
bunnei
a1aacf27d7
Merge pull request #1043 from Subv/timing
...
Use an approximated amortized amount of ticks when advancing timing.
2018-08-12 22:31:55 -04:00
bunnei
586fcf2742
Merge pull request #1036 from lioncash/thread
...
scheduler: Make HaveReadyThreads() a const member function
2018-08-12 22:13:14 -04:00
bunnei
ef0065ee51
Merge pull request #1042 from Subv/races
...
Fixed a bunch of race conditions when running in multicore mode.
2018-08-12 22:05:48 -04:00
bunnei
d9a4224dba
Merge pull request #1041 from Subv/duplicated_mutex
...
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
2018-08-12 22:02:03 -04:00
bunnei
da26e7673b
Merge pull request #1040 from bunnei/xmad
...
gl_shader_decompiler: Implement XMAD instruction.
2018-08-12 21:56:40 -04:00
Subv
21fa6cb72c
CPU/Timing: Use an approximated amortized amount of ticks when advancing timing.
...
We divide the number of ticks to add by the number of cores (4) to obtain a more or less rough estimate of the actual number of ticks added. This assumes that all 4 cores are doing similar work. Previously we were adding ~4 times the number of ticks, thus making the games think that time was going way too fast.
This lets us bypass certain hangs in some games like Breath of the Wild.
We should modify our CoreTiming to support multiple cores (both running in a single thread, and in multiple host threads).
2018-08-12 20:41:28 -05:00
Subv
a063b51094
Kernel/SVC: Don't reschedule the current core when creating a new thread.
...
The current core may have nothing to do with the core where the new thread was scheduled to run. In case it's the same core, then the following PrepareReshedule call will take care of that.
2018-08-12 20:38:37 -05:00
Subv
42d6bbcb7c
Core/HLE: Make the 'reschedule_pending' flag atomic.
...
Another thread may write to this variable while the core in question is in the middle of checking for a reschedule request.
2018-08-12 18:41:12 -05:00
Subv
c51eb8b679
CPU/HLE: Lock the HLE mutex before performing a reschedule.
...
Another thread might be in the middle of an SVC, thus altering the state of the schedulers.
2018-08-12 18:41:11 -05:00
Subv
5fe52770ea
Kernel/Threads: Lock the HLE mutex when executing the wakeup callback.
...
Another thread might be in the middle of a reschedule, thus altering the state of the schedulers.
2018-08-12 18:41:11 -05:00
Subv
cbf854666d
Kernel/Thread: Always use the threadsafe option when scheduling wakeups.
...
WakeAfterDelay might be called from any host thread, so err on the side of caution and use the thread-safe CoreTiming::ScheduleEventThreadsafe.
Note that CoreTiming is still far from thread-safe, there may be more things we have to work on for it to be up to par with what we want.
2018-08-12 18:40:56 -05:00
bunnei
03ac254de6
gl_shader_decompiler: Implement XMAD instruction.
2018-08-12 18:30:24 -04:00
Subv
8f493f43e7
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
...
Exit from AddMutexWaiter early if the thread is already waiting for a mutex owned by the owner thread.
This accounts for the possibility of a thread that is waiting on a condition variable being awakened twice in a row.
Also added more validation asserts.
This should fix one of the random crashes in Breath Of The Wild.
2018-08-12 16:35:27 -05:00
Lioncash
cdeac9103f
vfs: Make VfsFilesystem constructor explicit
...
Makes it consistent with the other VFS interfaces and prevents implicit
construction.
2018-08-12 16:55:40 -04:00
Lioncash
80ac82c9c5
vfs: Make type hierarchy objects classes instead of structs
...
struct should be used when the data type is very simple or otherwise has
no invariants associated with it. Given these are used to form a
hierarchy, class should be used instead.
2018-08-12 16:55:40 -04:00
bunnei
edeb37b18d
Merge pull request #1025 from ogniK5377/bad-cast
...
Fixed invalid cast in loader
2018-08-12 16:22:35 -04:00
bunnei
5af06e90cc
Merge pull request #1038 from MerryMage/lock-cubeb
...
cubeb_sink: Protect queue with a mutex
2018-08-12 16:22:11 -04:00
Zach Hilman
3781654c6d
registration: Various style and documentation improvements
...
Fix logic in RealVfsFilesystem Create methods
Remove magic numbers
Fix regex errors
2018-08-12 15:55:44 -04:00
MerryMage
c9923e03bb
cubeb_sink: Protect queue with a mutex
2018-08-12 20:41:46 +01:00
bunnei
cc798cfb15
Merge pull request #1035 from ogniK5377/audio-dev-revision-info
...
GetAudioDeviceServiceWithRevisionInfo (Used by Bloodstained: Curse of the Moon)
2018-08-12 14:56:11 -04:00
bunnei
f6746158e3
Merge pull request #1028 from ogniK5377/aoa
...
Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
2018-08-12 13:33:08 -04:00
bunnei
53b9e9ce72
Merge pull request #1034 from lioncash/hid
...
hid: Stub DisconnectNpad()
2018-08-12 13:15:56 -04:00
Lioncash
6082427cbd
scheduler: Make HaveReadyThreads() a const member function
...
This function doesn't modify instance state, so the const qualifier can
be added to it.
2018-08-12 12:55:58 -04:00
Lioncash
95ff8e6aac
thread_queue_list: Make contains() and get_first() const member functions
...
These don't directly modify the contained data.
2018-08-12 12:54:14 -04:00
Lioncash
9a76374859
thread_queue_list: Convert typedef to a type alias
2018-08-12 12:47:11 -04:00
Markus Wick
d6703d607b
gl_rasterizer: Use a shared helper to upload from CPU memory.
2018-08-12 16:10:26 +02:00
Markus Wick
2d2027cd52
gl_state: Don't track constant buffer mappings.
2018-08-12 16:10:26 +02:00
Markus Wick
a59891f497
gl_rasterizer: Use the stream buffer for constant buffers.
2018-08-12 16:10:26 +02:00
Markus Wick
b4f88b06b5
gl_rasterizer: Use the streaming buffer itself for the constant buffer.
...
Don't emut copies, especially not for data, which is used once. They just end in a huge GPU overhead.
2018-08-12 15:48:59 +02:00
Markus Wick
ca4e2c22d4
gl_rasterizer: Use a helper for aligning the buffer.
2018-08-12 15:47:35 +02:00
Markus Wick
73b40c2bd4
Update the stream_buffer helper from Citra.
...
Please see https://github.com/citra-emu/citra/pull/3666 for more details.
2018-08-12 15:47:35 +02:00
David Marcec
b5f7e35139
GetAudioDeviceServiceWithRevisionInfo
...
As we're not handling any anything about the revision data for GetAudioDeviceServiceWithRevisionInfo, it's currently marked as stubbed. However for games this shouldn't affect the result. Proper revision info would be more for homebrew.
2018-08-12 22:47:39 +10:00
Lioncash
ab4821d4b3
hid: disable clang-format around tables
...
Prevents clang-format from butchering them.
2018-08-12 05:57:33 -04:00
Lioncash
4ca059c59a
hid: Stub DisconnectNpad()
...
This is required by ARMS.
2018-08-12 05:56:28 -04:00
Lioncash
7803b153d8
vfs: Use sanitized paths within MoveFile() and MoveDirectory()
...
Previously these were being unused (or partially unused). While we're at
it, use better naming to make it visibly obvious which variant of the
path is being used.
2018-08-12 04:05:01 -04:00
Lioncash
91c673cac7
card_image: Use type aliases to shorten definitions
...
We have the aliases, so we may as well use 'em.
2018-08-12 03:57:16 -04:00
Lioncash
d323d72fd5
card_image: Simplify return statement of GetSubdirectories()
...
We don't need to write out the construction long-form, we can just let
the language itself work it out off the return type.
2018-08-12 03:53:20 -04:00
bunnei
7f1a8483e9
gl_shader_decompiler: Fix SetOutputAttributeToRegister empty check.
2018-08-12 02:22:42 -04:00
David Marcec
7d49bcdb1b
Pushed the requested sample rate instead of our fixed sample rate
2018-08-12 14:58:36 +10:00
David Marcec
bba02ec641
made ResultStatus a u16
2018-08-12 14:56:22 +10:00
David Marcec
f3ef58207e
Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
...
GetAudioRendererSampleRate is set as a "STUB" as a game could check if the sample rate it sent and the sample rate it wants don't match. Just a thought of something which could happen so keeping it as stub for the mean time
2018-08-12 14:46:12 +10:00
bunnei
e579be5fe2
Merge pull request #1026 from ogniK5377/retro-city-rampage
...
Stub UpdateUserPresence
2018-08-12 00:25:57 -04:00
bunnei
7031b3b762
gl_shader_decompiler: Fix GLSL compiler error with KIL instruction.
2018-08-12 00:06:48 -04:00
David Marcec
fd0319efd5
Stub UpdateUserPresence
...
Needed for Retro City Rampage to go in game
2018-08-12 14:00:44 +10:00
David Marcec
c08adc0db0
Fixed invalid cast in loader
...
GetMessageForResultStatus takes a u16, not a size_t.
2018-08-12 13:31:15 +10:00
Zach Hilman
8c33f20792
registration: Add support for force overwrite of installed
2018-08-11 23:01:42 -04:00
Zach Hilman
9bae8b24ae
game_list: Split game list scans to multiple functions
...
Avoids unnecessary rebuilds of control data on every layer of recursion in AddFstEntriesToGameList
2018-08-11 22:50:48 -04:00
Zach Hilman
fdb155ca09
vfs_real: Add CreateFullPath to Create* operations
2018-08-11 22:50:48 -04:00
Zach Hilman
b16c3dc725
control_metadata: Remove unnecessary reference to base file
2018-08-11 22:50:48 -04:00
Zach Hilman
0c55578a65
romfs: Remove cyclic shared_ptr leak in romfs code
2018-08-11 22:50:48 -04:00
Zach Hilman
83db3b452a
registration: Update documentation and style
2018-08-11 22:50:48 -04:00
Zach Hilman
50ff8ec364
nca_metadata: Remove unnecessary reference to base file
2018-08-11 22:50:48 -04:00
Zach Hilman
2a0b80bb67
bis_factory: Create NAND dirs if they don't exist
2018-08-11 22:50:48 -04:00
Zach Hilman
54fd907b2b
qt: Use custom RawCopy with progress bar for installs
2018-08-11 22:50:48 -04:00
Zach Hilman
f92fbf012d
registration: Take RawCopy function as parameter
...
Instead of defaulting to VfsRawCopy
2018-08-11 22:50:48 -04:00
Zach Hilman
8f96b88d0b
game_list: Populate control data from installed NAND
2018-08-11 22:50:48 -04:00
Zach Hilman
405d520d1d
registered_cache: Fix missing reading from yuzu_meta
2018-08-11 22:50:48 -04:00
Zach Hilman
b0531d6ea0
file_sys: Comply to style guidelines
2018-08-11 22:50:48 -04:00
Zach Hilman
e9c7294bb9
qt: Add 'Install to NAND' option to menu
...
Prompts for title type on NCA files.
2018-08-11 22:50:48 -04:00
Zach Hilman
53ca6f8846
game_list: Modify game list to scan installed titles
2018-08-11 22:50:48 -04:00
Zach Hilman
2d3617c723
file_sys: Add RegisteredCache
...
Manages NAND NCA get and install.
2018-08-11 22:50:48 -04:00
Zach Hilman
7fdfa63ce3
file_sys: Add support for parsing NCA metadata (CNMT)
2018-08-11 22:50:48 -04:00
Zach Hilman
f903b556d8
card_image: Add accessor for all NCAs in XCI
2018-08-11 22:50:48 -04:00
Zach Hilman
562e66e5d2
vfs_real: Add CreateFullPath to CreateFile
...
Fixes bugs with calling CreateFile when the immediate directory does not exist.
2018-08-11 22:50:48 -04:00
Zach Hilman
e891974118
filesystem: Add Open and Register functions for BISFactory
2018-08-11 22:50:48 -04:00
Zach Hilman
f60bb85805
bis_factory: Add partial implementation of BISFactory
...
Creates and stores RegisteredCaches for user and system NAND, as creation of a RegisteredCache is expensive.
2018-08-11 22:50:48 -04:00
Zach Hilman
2d881fd587
loader: Join 0* files in directory if filename is 00
...
i.e. Load the concatenated 00+01 if 01 exists as well. Needed for split NAND NCAs.
2018-08-11 22:50:48 -04:00
Zach Hilman
5810088549
loader: Recognize filename '00' as NCA
...
Needed to avoid mismatch filetype warnings on split NAND NCAs
2018-08-11 22:50:08 -04:00
Zach Hilman
b963629132
vfs: Add ConcatenatedVfsFile
2018-08-11 22:50:08 -04:00
Zach Hilman
f2c489b940
crypto: Remove hex utilities from key_manager
...
Move to hex_util.h in common
2018-08-11 22:50:08 -04:00
Zach Hilman
54ef430e85
file_util: Add getter for NAND registration directory
2018-08-11 22:50:08 -04:00
Zach Hilman
7193c994b7
common: Move hex string processing to separate file
2018-08-11 22:50:08 -04:00
bunnei
6a396d2129
Merge pull request #1022 from bunnei/fix-splat
...
Several Friend service fixes
2018-08-11 22:42:45 -04:00
bunnei
db6b59b1a6
Merge pull request #1020 from lioncash/namespace
...
core: Namespace EmuWindow
2018-08-11 22:40:08 -04:00
bunnei
947d80c8ce
Merge pull request #1021 from lioncash/warn
...
gl_rasterizer: Silence implicit truncation warning in SetupShaders()
2018-08-11 22:39:46 -04:00
bunnei
f807476d29
Merge pull request #1024 from Subv/blend_gl
...
GPU/Maxwell3D: Implemented an alternative set of blend factors.
2018-08-11 22:39:02 -04:00
bunnei
7478448af7
Merge pull request #1023 from Subv/invalid_attribs
...
RasterizerGL: Ignore invalid/unset vertex attributes.
2018-08-11 22:18:40 -04:00
Subv
45ee826309
GPU/Maxwell3D: Implemented an alternative set of blend factors.
...
These are used by nouveau and some games like SMO.
2018-08-11 20:57:16 -05:00
greggameplayer
974a959892
Implement R8_UINT RenderTargetFormat & PixelFormat ( #1014 )
...
- Used by Go Vacation
2018-08-11 21:44:42 -04:00
Subv
8582c5bb3e
RasterizerGL: Ignore invalid/unset vertex attributes.
...
This should make the es2gears example not crash anymore.
2018-08-11 20:36:40 -05:00
bunnei
94a58af2a2
friend: Stub DeclareCloseOnlinePlaySession.
...
- Used by Splatoon 2.
2018-08-11 21:34:14 -04:00
bunnei
3c1015b576
friend: Fix CreateFriendService to return an IFriendService interface.
2018-08-11 21:29:58 -04:00
bunnei
3d00bc6ad7
server_session: Provide more useful information and don't crash on bad IPC request.
2018-08-11 21:15:24 -04:00
Lioncash
9aead11e72
gl_rasterizer: Silence implicit truncation warning in SetupShaders()
...
Previously this would warn of truncating a std::size_t to a u32. This is
safe because we'll obviously never have more than UINT32_MAX amount of
uniform buffers.
2018-08-11 20:32:03 -04:00
Lioncash
53e86e35eb
core: Namespace EmuWindow
...
Gets the class out of the global namespace.
2018-08-11 20:20:21 -04:00
bunnei
20f29b2528
Merge pull request #1010 from bunnei/unk-vert-attrib-shader
...
gl_shader_decompiler: Improve handling of unknown input/output attributes.
2018-08-11 19:56:28 -04:00
bunnei
38a6ba02aa
Merge pull request #1009 from bunnei/rg8-rgba8-snorm
...
Implement render target formats RGBA8_SNORM and RG8_SNORM.
2018-08-11 19:55:41 -04:00
bunnei
5fd0744a63
gl_shader_decompiler: Improve handling of unknown input/output attributes.
2018-08-11 19:26:45 -04:00
bunnei
db008ea9ac
Merge pull request #970 from DarkLordZach/loader-errors
...
loader: Add more descriptive errors
2018-08-11 19:25:30 -04:00
bunnei
5cd97896bf
Merge pull request #1018 from Subv/ssy_sync
...
GPU/Shader: Implemented SSY and SYNC as a set_target/jump pair.
2018-08-11 19:10:02 -04:00
bunnei
8cb27339a2
gl_rasterizer: Implement render target format RG8_SNORM.
...
- Used by Super Mario Odyssey.
2018-08-11 19:06:42 -04:00
bunnei
e8a695064b
gl_rasterizer: Implement render target format RGBA8_SNORM.
...
- Used by Super Mario Odyssey.
2018-08-11 18:59:14 -04:00
Subv
5d543d88b9
GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY).
2018-08-11 16:00:14 -05:00
Subv
995c819038
GPU/Shaders: Implemented SSY and SYNC as a way to modify control flow during shader execution.
...
SSY sets the target label to jump to when the SYNC instruction is executed.
2018-08-11 15:55:11 -05:00
bunnei
83274a5a47
Merge pull request #1016 from lioncash/video
...
video_core: Get rid of global variable g_toggle_framelimit_enabled
2018-08-11 14:10:55 -04:00
bunnei
3a13659486
Merge pull request #1003 from lioncash/var
...
video_core: Use variable template variants of type_traits interfaces where applicable
2018-08-11 14:08:12 -04:00
greggameplayer
3aa4040888
Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats and more (R16_UNORM needed by Fate Extella) ( #848 )
...
* Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats
Do a separate function in order to get Bytes Per Pixel of DepthFormat
Apply the new function in gpu.h
delete unneeded white space
* correct merging error
2018-08-11 14:01:50 -04:00
David Marcec
4f4b4f94c0
Better UUID randomness
2018-08-12 02:31:43 +10:00
David Marcec
2ecf188584
Removed un-needed count from ListOpenUsers and ListAllUsers
2018-08-12 02:11:04 +10:00
David Marcec
c4263ac188
Added better explanations in the profile manager
2018-08-12 01:51:31 +10:00
David Marcec
92c2ee35ca
Code cleanup for profile manager
2018-08-12 01:34:22 +10:00
David Marcec
20bd30f40c
Removed const from ProfileBase Invalidate
2018-08-12 00:41:17 +10:00
David Marcec
870c42561e
fixed invalid uuid bool operator
2018-08-11 21:29:10 +10:00
David Marcec
1a591d1087
Added GetOpenUserCount
2018-08-11 20:45:06 +10:00
David Marcec
6331edd14c
Removed all for loops from the profile manager
2018-08-11 20:15:59 +10:00
David Marcec
f690fbb921
Added missing ListAllUsers count
2018-08-11 20:06:06 +10:00
David Marcec
c951617732
If statement style change
2018-08-11 18:46:42 +10:00
David Marcec
0af4b65406
Second round of account changes
2018-08-11 18:26:13 +10:00
David Marcec
41aa6154ce
First round of account changes
2018-08-11 16:47:33 +10:00
David Marcec
56aa6b1c14
Refactored profile manager sharing
2018-08-11 13:17:06 +10:00
David Marcec
013b999f86
Merge remote-tracking branch 'origin/master' into better-account
2018-08-11 10:35:47 +10:00
David Marcec
a1d7d82872
Added IsUserRegistrationRequestPermitted
2018-08-11 10:33:11 +10:00
Lioncash
38049444da
video_core; Get rid of global g_toggle_framelimit_enabled variable
...
Instead, we make a struct for renderer settings and allow the renderer
to update all of these settings, getting rid of the need for
global-scoped variables.
This also uncovered a few indirect inclusions for certain headers, which
this commit also fixes.
2018-08-10 19:00:09 -04:00
Lioncash
0170c296f2
renderer_base: Remove unused kFramebuffer enumeration
...
This is entirely unused and can be removed.
2018-08-10 18:31:13 -04:00
Lioncash
6e352a55d5
video_core: Remove unused Renderer enumeration
...
Currently we only have an OpenGL renderer, so this is unused in code
(and occupies the Renderer identifier in the VideoCore namespace).
2018-08-10 18:27:40 -04:00
Lioncash
bc6245290b
qt/game_list: Resolve truncation warning within GameListItemPath's constructor
...
Silences a warning about truncating from size_t to u32
2018-08-10 18:19:44 -04:00
Lioncash
89aed5c0a2
gt/game_list: Use std::array in GameListItemPath's data() function
...
We don't need to use a heap-allocated std::vector here, given we
explicitly know the bounds.
2018-08-10 18:19:40 -04:00
Lioncash
1eaa022169
qt/game_list: Remove redundant base class constructor from initializer list
...
This is called automatically anyways.
2018-08-10 18:17:39 -04:00
bunnei
e210c31bb9
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
...
- Used by Super Mario Odyssey.
2018-08-10 12:47:00 -04:00
bunnei
9502d85a2d
maxwell_to_gl: Implement VertexAttribute::Size::Size_32_32_32.
...
- Used by Super Mario Odyssey.
2018-08-10 12:46:49 -04:00
bunnei
f87b1c73f4
Merge pull request #1004 from lioncash/unused
...
gl_rasterizer_cache: Remove unused viewport parameter of GetFramebufferSurfaces()
2018-08-10 12:13:32 -04:00
bunnei
ca79bac393
Merge pull request #1008 from yuzu-emu/revert-697-disable-depth-cull
...
Revert "gl_state: Temporarily disable culling and depth test."
2018-08-10 12:13:09 -04:00
bunnei
32be28cc04
Revert "gl_state: Temporarily disable culling and depth test."
2018-08-10 10:39:46 -04:00
Zach Hilman
9946a70305
game_list: Reorder error checks
...
clang-format fix
2018-08-09 21:37:35 -04:00
Zach Hilman
da921ac3f3
loader: Add more descriptive errors
...
Full list of new errors and descriptions in core/loader/loader.h
2018-08-09 21:06:59 -04:00
Lioncash
37d4b37ec4
gl_rasterizer_cache: Remove unused viewport parameter of GetFramebufferSurfaces()
2018-08-09 20:55:41 -04:00
Lioncash
b206ee3957
video_core: Use variable template variants of type_traits interfaces where applicable
2018-08-09 20:45:48 -04:00
bunnei
1a9b133715
textures: Refactor out for Texture/Depth FormatFromPixelFormat.
2018-08-09 20:36:03 -04:00
bunnei
e6dfe2f2ce
Merge pull request #995 from bunnei/gl-buff-bounds
...
gl_rasterizer_cache: Add bounds checking for gl_buffer copies.
2018-08-09 20:23:30 -04:00
bunnei
d8d75f37c6
Merge pull request #997 from lioncash/const-func
...
core: Make function reference parameters const where applicable
2018-08-09 19:30:51 -04:00
bunnei
78503bab9d
Merge pull request #989 from lioncash/log
...
common/logging: Add missing service log categories
2018-08-09 19:30:14 -04:00
bunnei
922cd52f4b
Merge pull request #990 from lioncash/entry
...
fsp_srv: Emplace entries first when building index instead of emplacing last
2018-08-09 19:29:36 -04:00
bunnei
1887739a29
Merge pull request #1001 from lioncash/reserve
...
gl_shader_decompiler: Reserve element memory beforehand in BuildRegisterList()
2018-08-09 19:27:35 -04:00
bunnei
ba6e31c624
Merge pull request #897 from DarkLordZach/vfs-accuracy-2
...
vfs: Add VfsFilesystem and fix RealVfs* implementations
2018-08-09 19:22:06 -04:00
bunnei
9509b68082
gl_rasterizer_cache: Add bounds checking for gl_buffer copies.
2018-08-09 19:20:17 -04:00
bunnei
24d1b4653a
Merge pull request #991 from bunnei/ignore-mac
...
maxwell_3d: Ignore macros that have not been uploaded yet.
2018-08-09 19:16:28 -04:00
Khangaroo
0dc1f660e5
Implement SNORM for BC5/DXN2 ( #998 )
...
* Implement BC5/DXN2 (#996 )
- Used by Kirby Star Allies.
* Implement BC5/DXN2 SNORM
UNORM for Kirby Star Allies
SNORM for Super Mario Odyssey
2018-08-09 19:15:32 -04:00
Lioncash
f52fb79b19
gl_shader_decompiler: Reserve element memory beforehand in BuildRegisterList()
...
Avoids potentially perfoming multiple reallocations when we know the
total amount of memory we need beforehand.
2018-08-09 17:29:11 -04:00
Lioncash
0280e22679
gl_rasterizer_cache: Avoid iterator invalidation issues within InvalidateRegion()
...
A range-based for loop can't be used when the container being iterated
is also being erased from.
2018-08-09 15:30:20 -04:00
bunnei
c984e79040
Merge pull request #992 from bunnei/declr-pred
...
gl_shader_decompiler: Declare predicates on use.
2018-08-09 14:36:52 -04:00
bunnei
346767d393
Merge pull request #994 from lioncash/const
...
gl_rasterizer_cache: Use std::vector::assign vs resize() then copy for the non-tiled case
2018-08-09 14:36:06 -04:00
bunnei
af45d92e4b
Merge pull request #993 from bunnei/smo-vtx-pts
...
Implement VertexAttribute::Size::Size_16_16_16_16 and PrimitiveTopology::Points.
2018-08-09 13:28:14 -04:00
bunnei
64fb5846e7
Merge pull request #984 from bunnei/rt-none
...
gl_rasterizer: Do not render when no render target is configured.
2018-08-09 13:12:28 -04:00
Khangaroo
b534e67f64
Implement BC5/DXN2 ( #996 )
...
- Used by Kirby Star Allies.
2018-08-09 12:57:13 -04:00
Lioncash
ff9e0e9727
buffer_queue: Make reference parameter of SetPreallocatedBuffer const
...
This is simply copied by value, so there's no need to make it a
modifiable reference.
While we're at it, make the names of the parameters match its
definition.
2018-08-09 03:08:14 -04:00
Lioncash
b9ec5ec5b4
hle_ipc: Make WriteToOutgoingCommandBuffer()'s reference parameter const
...
This function doesn't modify anything within the reference Thread
instance.
2018-08-09 02:51:38 -04:00
bunnei
c1fd5ddba8
Merge pull request #988 from lioncash/color
...
common/color: Minor cleanup
2018-08-09 00:37:32 -04:00
bunnei
67a17d36f0
Merge pull request #977 from bunnei/bgr565
...
gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.
2018-08-08 23:43:04 -04:00
Lioncash
544265b613
gl_rasterizer_cache: Invert conditional in LoadGLBuffer()
...
It's generally easier to follow code using conditionals that operate in
terms of the true case followed by the false case (no chance of
overlooking the exclamation mark).
2018-08-08 23:34:57 -04:00
Lioncash
824e3ae7f8
gl_rasterizer_cache: Use std::vector::assign in LoadGLBuffer() for the non-tiled case
...
resize() causes the vector to expand and zero out the added members to
the vector, however we can avoid this zeroing by using assign().
Given we have the pointer to the data we want to copy, we can calculate
the end pointer and directly copy the range of data without the
need to perform the resize() beforehand.
2018-08-08 23:34:58 -04:00
David Marcec
0f5cedb003
Don't add user if the uuid already exists
2018-08-09 13:30:58 +10:00
bunnei
3983e0da89
Merge pull request #987 from lioncash/vec
...
vector_math: Use variable template version of is_signed in Vec classes
2018-08-08 23:30:40 -04:00
bunnei
b0b7437b9f
maxwell_to_gl: Implement VertexAttribute::Size::Size_16_16_16_16.
...
- Used by Super Mario Odyssey (in game).
2018-08-08 23:28:17 -04:00
bunnei
29198d26ec
maxwell_to_gl: Implement PrimitiveTopology::Points.
...
- Used by Super Mario Odyssey (in game).
2018-08-08 23:28:00 -04:00
bunnei
13dec2d87b
gl_shader_decompiler: Declare predicates on use.
...
- Used by Super Mario Odyssey (when going in game).
2018-08-08 23:26:31 -04:00
bunnei
cfb59dbe1b
maxwell_3d: Ignore macros that have not been uploaded yet.
...
- Used by Super Mario Odyssey (in game).
2018-08-08 23:25:37 -04:00
Lioncash
4be471509c
gl_rasterizer_cache: Make pointer const in LoadGLBuffer()
...
This is only ever read from, so we can make the data it's pointing to
const.
2018-08-08 23:14:57 -04:00
bunnei
1e4e0b653a
Merge pull request #982 from bunnei/stub-unk-63
...
gl_shader_decompiler: Stub input attribute Unknown_63.
2018-08-08 22:28:18 -04:00
Zach Hilman
e883f6faa8
vfs: Fix documentation
2018-08-08 21:45:04 -04:00
bunnei
2145a127bb
Merge pull request #986 from mailwl/acc-loadimage
...
Service/Account: stub LoadImage function
2018-08-08 21:21:06 -04:00
Zach Hilman
1e2232797a
vfs: Fix typo in VfsFilesystem docs
2018-08-08 21:18:45 -04:00
Zach Hilman
b43d01f09b
file_util: Use enum instead of bool for specifing path behavior
2018-08-08 21:18:45 -04:00
Zach Hilman
55190386b4
loader: Remove unused IdentifyFile overload
2018-08-08 21:18:45 -04:00
Zach Hilman
a92960a5d6
vfs: Use RealVfsFilesystem for fs-operations in RealVfsDirectory
2018-08-08 21:18:45 -04:00
Zach Hilman
d4ca68f3c5
file_sys: Add missing include in savedata_factory
2018-08-08 21:18:45 -04:00
Zach Hilman
4cbef33915
core: Port core to VfsFilesystem for file access
2018-08-08 21:18:45 -04:00
Zach Hilman
4f44293e63
vfs: Add unreachable assert to file permissions converter
2018-08-08 21:18:45 -04:00
Zach Hilman
6b97b22716
vfs: Add RealVfsFilesystem implementation
2018-08-08 21:18:45 -04:00
Zach Hilman
944f8b80d8
file_util: Add platform-specific slash option to SanitizePath
2018-08-08 21:18:45 -04:00
Zach Hilman
325a55bb1e
vfs: Add VfsFilesystem interface and default implementation
2018-08-08 21:18:45 -04:00
Zach Hilman
653257de93
filesystem: Remove unnecessary if conditions
2018-08-08 21:18:45 -04:00
bunnei
6978915f4e
gl_rasterizer: Do not render when no render target is configured.
...
- Used by Super Mario Odyssey.
2018-08-08 19:29:45 -04:00
bunnei
e56c6add05
Merge pull request #976 from bunnei/shader-imm
...
gl_shader_decompiler: Let OpenGL interpret floats.
2018-08-08 19:17:01 -04:00
bunnei
98ac2fa5c3
Merge pull request #981 from bunnei/cbuf-corrupt
...
maxwell_3d: Use correct const buffer size and check bounds.
2018-08-08 19:16:34 -04:00
bunnei
ba10208eb2
Merge pull request #978 from bunnei/fixioctl
...
nvhost_gpu: Don't over copy IoctlSubmitGpfifo.
2018-08-08 19:16:14 -04:00
Lioncash
4cfe9fad75
fsp_srv: Use std::string_view's copy() function instead of strncpy()
...
Given elements inserted into a vector are zeroed out, we can just copy
MAX_LEN - 1 elements and the data will already be properly null
terminated.
2018-08-08 18:51:52 -04:00
Lioncash
a1320c53af
fsp_srv: Emplace entries first when building index instead of emplacing last
...
The current way were doing it would require copying a 768 character
buffer (part of the Entry struct) to the new element in the vector.
Given it's a plain array, std::move won't eliminate that.
Instead, we can emplace an instance directly into the destination buffer
and then fill it out, avoiding the need to perform any unnecessary
copies.
Given this is done in a loop, we can request the destination to allocate
all of the necessary memory ahead of time, avoiding the need to
potentially keep reallocating over and over on every few insertions into
the vector.
2018-08-08 18:51:41 -04:00
bunnei
28e3b98c6b
Merge pull request #985 from bunnei/rt-r11g11b10
...
gpu: Add R11G11B10_FLOAT to RenderTargetBytesPerPixel.
2018-08-08 18:21:34 -04:00
bunnei
47a25d7cd7
Merge pull request #979 from bunnei/vtx88
...
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
2018-08-08 18:18:50 -04:00
bunnei
9e94b8f830
Merge pull request #975 from bunnei/am-stub
...
am: Stub SetScreenShotImageOrientation.
2018-08-08 16:46:45 -04:00
Lioncash
5415ccb7da
common/logging: Add missing service log categories
...
These weren't added when the services were introduced.
2018-08-08 16:46:28 -04:00
bunnei
123518a321
Merge pull request #980 from bunnei/fix-logs
...
renderer_opengl: Use trace log in a few places.
2018-08-08 16:45:42 -04:00
Lioncash
18cd5b3930
common/color: Remove unnecessary const qualifiers on return types
...
These are just superfluous and not necessesary
2018-08-08 16:17:41 -04:00
Lioncash
2fe76428c5
common/color: Get rid of undefined behavior
...
Gets rid of type punning via reinterpret_cast within functions. Instead,
we use memcpy to transfer the contents across types.
2018-08-08 16:14:37 -04:00
Lioncash
e3444cb2a6
vector_math: Use variable template version of is_signed in Vec classes
...
Same behavior, less code
2018-08-08 15:53:42 -04:00
bunnei
5ae5657421
Merge pull request #966 from lioncash/modernize
...
common: Convert type traits templates over to variable template versions where applicable
2018-08-08 15:28:34 -04:00
bunnei
0eeda98acf
Merge pull request #850 from DarkLordZach/icon-meta
...
Add Icons and Metadata Support
2018-08-08 12:27:19 -04:00
bunnei
a26923ef44
Merge pull request #968 from lioncash/vec
...
vector_math: Minor cleanups
2018-08-08 12:00:13 -04:00
bunnei
e74d6dd0d1
Merge pull request #958 from lioncash/nv-global
...
nvdrv: Get rid of global std::weak_ptr
2018-08-08 11:58:45 -04:00
David Marcec
52f6050b88
Open first user added
2018-08-09 01:37:55 +10:00
David Marcec
43324c4188
Inital pass of account backend implementation
...
This commit verified working on puyo
2018-08-09 01:09:12 +10:00
David Marcec
c908d31bbf
GetProfileBase and GetProfileBaseAndData added
2018-08-08 23:41:12 +10:00
David Marcec
1aad022de2
began initial implementation of "ProfileManager"
2018-08-08 22:26:42 +10:00
mailwl
89cc070fcf
Service/Account: stub LoadImage function
2018-08-08 14:42:54 +03:00
David Marcec
d83491769e
Switched uuids from u128 to new UUID struct
2018-08-08 21:09:45 +10:00
bunnei
2a28031596
Merge pull request #972 from lioncash/catch
...
externals: Update catch to 2.3.0
2018-08-08 03:00:57 -04:00
bunnei
fd89c5a7d4
Merge pull request #965 from lioncash/unused-files
...
hle: Remove unused romfs.cpp/.h
2018-08-08 03:00:38 -04:00
bunnei
3485776e57
Merge pull request #974 from lioncash/acc
...
acc: Add missing function table entries for GetUserCount
2018-08-08 02:56:00 -04:00
bunnei
1e66ac1103
gpu: Add R11G11B10_FLOAT to RenderTargetBytesPerPixel.
...
- Used by Super Mario Odyssey.
2018-08-08 02:42:14 -04:00
mailwl
219c0dabe1
hid: fix IsSixAxisSensorAtRest() response
2018-08-08 09:36:23 +03:00
bunnei
37e2165d82
gl_shader_decompiler: Stub input attribute Unknown_63.
2018-08-08 02:35:59 -04:00
bunnei
89b9893d28
maxwell_3d: Use correct const buffer size and check bounds.
...
- Fixes mem corruption with Super Mario Odyssey and Pokkén Tournament DX.
2018-08-08 02:10:25 -04:00
bunnei
a23331808d
renderer_opengl: Use trace log in a few places.
2018-08-08 01:53:23 -04:00
bunnei
be0642cb94
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
2018-08-08 01:50:53 -04:00
bunnei
e0f48e4daf
nvhost_gpu: Don't over copy IoctlSubmitGpfifo.
2018-08-08 01:49:47 -04:00
bunnei
5381a038ca
gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.
...
- Used by Super Mario Odyssey.
2018-08-08 01:48:27 -04:00
bunnei
3ee2d948a2
gl_shader_decompiler: Let OpenGL interpret floats.
...
- Accuracy is lost in translation to string, e.g. with NaN.
- Needed for Super Mario Odyssey.
2018-08-08 01:45:23 -04:00
bunnei
5851753d2a
am: Stub SetScreenShotImageOrientation.
...
- Used by Super Mario Odyssey.
2018-08-08 00:41:35 -04:00
Lioncash
3266d0989f
acc: Add missing function table entries for GetUserCount
...
Given this is stubbed within the common module in
5ac7b84, it should be added to the other relevant tables as well.
2018-08-07 22:50:45 -04:00
bunnei
a0c94e433d
acc: Stub GetUserCount. ( #973 )
...
- Used by Pokken Tournament DX.
2018-08-07 22:39:12 -04:00
bunnei
cda973349a
Merge pull request #967 from lioncash/sign
...
file_util: Avoid sign-conversions in WriteArray() and ReadArray()
2018-08-07 22:37:00 -04:00
Lioncash
e8824d065b
nvdrv: Get rid of global std::weak_ptr
...
Rather than use global state, we can simply pass the instance into the
NVFlinger instance directly.
2018-08-07 21:53:05 -04:00
Lioncash
9e90145916
vector_math: Remove unimplemented function prototypes
2018-08-07 21:33:48 -04:00
Lioncash
3868198de6
vector_math: Make functions constexpr where applicable
2018-08-07 21:32:05 -04:00
Lioncash
1393309653
vector_math: Convert typedefs to type aliases
2018-08-07 21:15:10 -04:00
Lioncash
6b1e9244c0
common: Convert type traits templates over to variable template versions where applicable
...
Uses the C++17 inline variable variants
2018-08-07 19:34:47 -04:00
Lioncash
fdde0c66db
hle: Remove unused romfs.cpp/.h
...
These files are no longer used, so we can get rid of them.
2018-08-07 19:34:12 -04:00
Lioncash
a7798e834a
externals: Update catch to 2.3.0
...
Updates the library from 2.2.3 to 2.3.0
2018-08-07 19:26:13 -04:00
bunnei
06254058b4
Merge pull request #964 from Hexagon12/lower-logs
...
Lowered down the logging for command processor methods
2018-08-07 19:00:19 -04:00
Hexagon12
81fdfc4192
Fixed the sRGB pixel format ( #963 )
...
* Changed the sRGB pixel format return
* Add a message about SRGBA -> RGBA conversion
2018-08-07 18:59:50 -04:00
Zach Hilman
0ddf082be2
configure_gamelist: Use explicit QVariant constructor
2018-08-07 17:10:10 -04:00
bunnei
a12c19e1c3
Merge pull request #920 from DarkLordZach/titlekey
...
content_archive: Add support for titlekey cryptography
2018-08-07 17:01:25 -04:00
bunnei
cd41c647f1
Merge pull request #957 from lioncash/event
...
nvflinger: Correct typo in name of composition event
2018-08-07 15:56:51 -04:00
bunnei
a777f14e18
Merge pull request #954 from lioncash/hid
...
services/hid: Add ActivateNpadWithRevision() to the hid function info array
2018-08-07 15:56:34 -04:00
bunnei
d93f3bd129
Merge pull request #960 from lioncash/apm
...
service/apm: Add the apm:sys service
2018-08-07 14:57:12 -04:00
bunnei
412032e69d
Merge pull request #950 from lioncash/hotkey
...
qt/hotkey: Get rid of global hotkey map instance
2018-08-07 14:45:45 -04:00
bunnei
2493d8b5c1
Merge pull request #955 from lioncash/view
...
nvflinger: Use std::string_view in OpenDisplay()
2018-08-07 14:26:51 -04:00
bunnei
a87a2b8737
Merge pull request #953 from lioncash/time
...
service/time: Amend command IDs of ToPosixTime() and ToPosixTimeWithMyRule()
2018-08-07 14:25:52 -04:00
bunnei
94e979a6be
Merge pull request #959 from KAMiKAZOW/cubeb-compilation
...
Make building cubeb optional
2018-08-07 14:25:17 -04:00
bunnei
785aececf3
Merge pull request #956 from lioncash/nv
...
nvdrv: Get rid of indirect inclusions
2018-08-07 14:23:32 -04:00
Lioncash
30c608d046
file_util: Avoid sign-conversions in WriteArray() and ReadArray()
...
Prevents compiler warnings.
2018-08-07 13:51:37 -04:00
Hexagon12
d87674e755
Lowered down the logging for methods
2018-08-07 19:51:40 +03:00
bunnei
17c102b576
Merge pull request #952 from lioncash/usb
...
service: Add usb services
2018-08-07 11:27:49 -04:00
bunnei
90ebf1828c
Merge pull request #949 from lioncash/priv
...
client_port: Make all data members private
2018-08-07 11:20:26 -04:00
Zach Hilman
9aa2bfc60c
loader: Fix scope error in DeconstructedRomDirectory
2018-08-07 10:37:38 -04:00
Lioncash
a3f5289038
service/apm: Add the apm:sys service
...
Adds the basic skeleton of the apm:sys service based off the information
on Switch Brew.
2018-08-07 10:05:26 -04:00
Lioncash
64e8d3fd3d
nvflinger: Correct typo in name of composition event
2018-08-07 09:03:52 -04:00
Lioncash
e1625fdbec
nvdrv: Make Ioctl()'s definition match its prototype
...
The only reason this wasn't a compilation error is because we use
little-endian systems.
2018-08-07 08:57:11 -04:00
Lioncash
5bdcce6955
nvdrv: Get rid of indirect inclusions
2018-08-07 08:54:50 -04:00
Lioncash
fd0111572b
nvflinger: Get rid of indirect inclusions
2018-08-07 08:32:05 -04:00
Lioncash
a907041218
nvflinger: Use std::string_view in OpenDisplay()
...
We don't need to use a std::string here, given all that's done is
comparing the character sequence against another. This allows passing
regular const char* without needing to heap allocate.
2018-08-07 08:32:06 -04:00
KAMiKAZOW
fef6c33e77
Make building cubeb optional
2018-08-07 13:21:56 +02:00
Lioncash
20f059acef
services/hid: Add ActivateNpadWithRevision() to the hid function info array
...
Updated based off the information on Switch Brew.
2018-08-07 03:23:20 -04:00
Lioncash
0c0bdb7d9e
service/time: Amend command IDs of ToPosixTime() and ToPosixTimeWithMyRule()
...
Updates the ID of these based off the information on Switch Brew.
2018-08-07 03:18:07 -04:00
Lioncash
705c5b6166
service: Add usb services
...
Adds basic skeleton for the usb services based off the information provided by Switch Brew.
2018-08-07 03:14:03 -04:00
Lioncash
ee8808c6a7
qt/hotkey: Get rid of global hotkey map instance
...
Instead, we make a proper registry class and house it within the main
window, then pass it to whatever needs access to the loaded hotkeys.
This way, we avoid a global variable, and don't need to initialize a
std::map instance before the program can do anything.
2018-08-07 02:28:17 -04:00
Zach Hilman
d53b3a13b3
loader: Add icon and title support to XCI
2018-08-06 23:13:42 -04:00
Zach Hilman
469f7cefe4
Use const where applicable
2018-08-06 23:06:33 -04:00
Zach Hilman
f89988272e
Avoid parsing RomFS to directory in NCA
2018-08-06 23:06:33 -04:00
Lioncash
5fcac98ec8
client_port: Make all data members private
...
These members don't need to be entirely exposed, we can instead expose
an API to operate on them without directly needing to mutate them
We can also guard against overflow/API misuse this way as well, given
active_sessions is an unsigned value.
2018-08-06 23:05:17 -04:00
bunnei
44f76e2cfd
Merge pull request #931 from DarkLordZach/nca-as-drd
...
loader: Make AppLoader_NCA rely on directory loading code
2018-08-06 22:02:41 -04:00
bunnei
caf5d8d15a
Merge pull request #947 from lioncash/encoding
...
game_list: Use QString::fromStdString() where applicable instead of c_str()
2018-08-06 22:02:01 -04:00
Hedges
3e421bb6fb
GDBStub works with both Unicorn and Dynarmic now ( #941 )
...
* GDBStub works with both Unicorn and Dynarmic now
* Tidy up
2018-08-06 22:01:24 -04:00
bunnei
0f23a124f7
Merge pull request #943 from lioncash/decl
...
game_list: Join declarations and assignments in onTextChanged()
2018-08-06 22:00:49 -04:00
bunnei
a6ad14902c
Merge pull request #946 from lioncash/compress
...
qt/main: Collapse if statement in UpdateRecentFiles()
2018-08-06 21:34:20 -04:00
bunnei
48e19379cb
Merge pull request #944 from lioncash/menu
...
qt: Don't show error dialog when canceling the Load Folder dialog
2018-08-06 21:33:23 -04:00
bunnei
2e734eeb0c
Merge pull request #942 from lioncash/default
...
qt: Minor cleanup-related changes
2018-08-06 21:32:25 -04:00
bunnei
39e6698f2c
Merge pull request #940 from lioncash/private
...
kernel/event: Make data members private
2018-08-06 21:31:25 -04:00
bunnei
7dafc8b634
Merge pull request #936 from bunnei/avoid-copies
...
gl_rasterizer_cache: Avoid superfluous surface copies.
2018-08-06 21:29:29 -04:00
bunnei
51c6d09680
Merge pull request #934 from lioncash/chrono
...
core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds
2018-08-06 18:03:05 -04:00
Lioncash
4de0824ad2
qt/main: Avoid sign conversions in UpdateRecentFiles()
...
This was intermixing signed and unsigned values when they could all just
be signed.
2018-08-06 15:42:44 -04:00
Lioncash
35f1943b0f
game_list: Remove unnecessary conversion to std::string in ValidateEntry()
...
We can just use the file interfaces that Qt provides to prevent needing
to convert to std::string.
2018-08-06 15:06:29 -04:00
Lioncash
2d3b313879
game_list: Use QString::fromStdString() where applicable instead of c_str()
...
The codec used by Qt for const char* and std::string don't necessarily
have to be the same depending on locale. Therefore, we should be using
the correct functions to do the conversions.
2018-08-06 15:06:30 -04:00
Lioncash
c41c5028db
game_list: Join declarations and assignments in onTextChanged()
...
There's no need to keep these separate from one another.
2018-08-06 14:35:40 -04:00
Lioncash
9790f8c9ff
qt/main: Collapse if statement in UpdateRecentFiles()
...
Given the function accepts a boolean, we don't need to use an if
statement here and repeat ourselves.
2018-08-06 14:32:28 -04:00
Lioncash
0c6d371dd0
qt/main: Better file-existence checking within OnMenuRecentFile() and UpdateUITheme()
...
In OnMenuRecentFile() we don't need to construct a QFileInfo instance
just to check if a file exists, we can just use the static member
function to do that (which Qt's documentation also notes as quicker than
constructing an instance).
In UpdateUITheme(), we just want to try and open the file and check the
success of that operation. Technically speaking, between the existence
check and the open call, the file can be deleted or moved, but still
appear to succeed in code. i.e.
1. Existence check -> Returns true
2. File is moved/deleted
3. Open is called, the return value of which isn't checked
4. Nonsense behavior
This way we combine the existence check and the open into one.
2018-08-06 14:17:13 -04:00
Lioncash
ab6bc68bc1
qt: Don't show error dialog when canceling the Load Folder dialog
...
Previously, when canceling out of the Load Folder dialog, a user would
get an error dialog about the selected folder not containing a main
file, however, by canceling out of the dialog, no selection was actually
made.
2018-08-06 14:02:34 -04:00
Lioncash
56cde60393
qt/game_list_p: Remove redundant base class constructor invocations
...
These occur automatically without the need to call them. While we're at
it, also std::move the QString instance into its member variable.
2018-08-06 13:42:12 -04:00
Lioncash
a648516863
qt: Add missing override specifiers where applicable
2018-08-06 13:29:14 -04:00
Lioncash
5de7c31baa
qt: Default destructors where applicable
...
Makes code consistent with our style of defaulting special member
functions where applicable.
2018-08-06 13:27:08 -04:00
Lioncash
11eadbccc9
kernel/event: Make data members private
...
Instead we can simply provide accessors to the required data instead of
giving external read/write access to the variables directly.
2018-08-06 12:53:02 -04:00
bunnei
bca27da66b
Merge pull request #933 from lioncash/memory
...
memory: Correct prototype of ZeroBlock
2018-08-06 12:34:57 -04:00
mailwl
d77ba2a4df
Service/Audio: audout_a.cpp: remove pragma once
2018-08-06 12:29:27 +03:00
bunnei
881573c77a
maxwell_3d: Remove outdated assert.
2018-08-05 23:57:19 -04:00
bunnei
2bb2f176b1
gl_rasterizer_cache: Avoid superfluous surface copies.
2018-08-05 23:40:03 -04:00
bunnei
cdb4cd4254
Merge pull request #932 from lioncash/func
...
core_timing: Use transparent functors where applicable
2018-08-05 23:37:53 -04:00
bunnei
42aae6b040
Merge pull request #929 from lioncash/addr
...
gdbstub: Minor changes
2018-08-05 23:36:26 -04:00
bunnei
cb37285626
Merge pull request #930 from lioncash/thread
...
address_arbiter: Return by value from GetThreadsWaitingOnAddress()
2018-08-05 23:35:59 -04:00
bunnei
bccec4825d
Merge pull request #925 from bunnei/audren
...
Implement audren audio output
2018-08-05 23:35:22 -04:00
Lioncash
610c7e7685
perf_stats: Correct literal used for MAX_LAG_TIME_US
...
ms is shorthand for milliseconds, not microseconds, and given there's no
comment indicating that this was intentional, it probably wasn't.
2018-08-05 22:12:58 -04:00
Lioncash
c34ee8cf08
core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds
...
Enforces the time unit being returned and also allows using the standard
time utilities to manipulate it.
2018-08-05 22:07:30 -04:00
Lioncash
ab21a210b1
memory: Make prototype parameter names match their definitions
...
Keeps the code consistent.
2018-08-05 21:39:09 -04:00
Lioncash
856edeb95d
memory: Correct prototype of ZeroBlock
...
Previously, the prototype wasn't matching the definition, which has a
Processor parameter before the destination address.
2018-08-05 21:39:06 -04:00
Lioncash
572bff0143
memory: Remove unnecessary const qualifiers in prototypes
...
These aren't necessary, as value-wise const only matters in the
definition.
2018-08-05 21:38:22 -04:00
Lioncash
82ab069b22
core_timing: Convert typedef into a type alias
...
Makes the alias a little more readable from left-to-right.
2018-08-05 21:27:14 -04:00
Lioncash
c03f854546
core_timing: Use transparent functors where applicable
...
Gets rid of the need to hardcode the type in multiple places. This will
now be deduced automatically, based off the elements in the container
being provided to the algorithm.
2018-08-05 21:19:24 -04:00
Zach Hilman
8d948e4f17
loader: Make AppLoader_NCA rely on directory loading code
...
Eliminates duplicate code shared between their Load methods, after all the only difference is how the romfs is handled.
2018-08-05 18:28:15 -04:00
bunnei
ee30143bf3
Merge pull request #927 from bunnei/fix-texs
...
gl_shader_decompiler: Fix TEXS mask and dest.
2018-08-05 16:42:21 -04:00
Lioncash
a3e0a2d3b3
gdbstub: Use type alias for breakpoint maps
...
Rather than having to type out the full std::map type signature, we can
just use a straightforward alias. While we're at it, rename
GetBreakpointList to GetBreakpointMap, which makes the name more
accurate. We can also get rid of unnecessary u64 static_casts, since
VAddr is an alias for a u64.
2018-08-05 16:41:22 -04:00
Lioncash
6602a1b319
gdbstub: Move all file-static variables into the GDBStub namespace
...
Keeps everything under the same namespace. While we're at it, enclose
them all within an inner anonymous namespace.
2018-08-05 16:41:18 -04:00
bunnei
5160c0c975
Merge pull request #912 from lioncash/global-var
...
video_core: Eliminate the g_renderer global variable
2018-08-05 16:37:39 -04:00
Lioncash
65c0fe0d39
address_arbiter: Return by value from GetThreadsWaitingOnAddress()
...
In all cases the vector being supplied is empty, so we can just return
by value in these instances.
2018-08-05 16:29:17 -04:00
Lioncash
88023a481d
gdbstub: Replace PAddr alias with VAddr
...
In all cases, a virtual address is being passed in, not a physical one.
2018-08-05 15:56:01 -04:00
bunnei
4215d08d37
gl_shader_decompiler: Fix TEXS mask and dest.
2018-08-05 01:47:09 -04:00
bunnei
14d7adf99a
Merge pull request #926 from ogniK5377/vertex-attrib-format
...
gl_rasterizer: Fix glVertexAttribFormat for integers
2018-08-05 01:38:54 -04:00
bunnei
5904aa20ce
audio_core: Implement audren_u audio playback.
2018-08-04 21:54:30 -04:00
David Marcec
112a0b8d6d
added braces for conditions
2018-08-05 11:36:55 +10:00
David Marcec
45078c8b24
fix the attrib format for ints
2018-08-05 11:29:21 +10:00
bunnei
c33e13366f
Merge pull request #924 from lioncash/arp
...
service: Add arp services
2018-08-04 21:20:26 -04:00
bunnei
c4d7092d4b
Merge pull request #921 from lioncash/view
...
core/crypto: Minor changes
2018-08-04 21:17:10 -04:00
bunnei
600e4bbeac
audio_core: Use s16 where possible for audio samples.
2018-08-04 18:22:58 -04:00
bunnei
7688b83a1c
audio_core: Port codec code from Citra for ADPCM decoding.
2018-08-04 18:22:58 -04:00
Lioncash
ed0e62fe9e
service: Add arp services
...
Adds the basic skeleton of the arp services based off the information
provided by Switch Brew.
2018-08-04 18:01:12 -04:00
Lioncash
2ce618c2c8
service: Remove redundant #pragma once directives
...
These don't do anything within .cpp files (we don't include cpp files,
so...)
2018-08-04 17:39:08 -04:00
Lioncash
c8617a1465
aes_util: Add static assertion to Transcode() and XTSTranscode() to ensure well-defined behavior
...
These functions should only be given trivially-copyable types.
2018-08-04 17:30:52 -04:00
Lioncash
f0a2d4da2b
aes_util: Make CalculateNintendoTweak() an internally linked function
...
This function doesn't directly depend on class state, so it can be
hidden entirely from the interface in the cpp file.
2018-08-04 17:30:48 -04:00
Lioncash
1fb5027501
aes_util: Make Transcode() a const member function
...
This doesn't modify member state, so it can be made const.
2018-08-04 16:49:42 -04:00
Lioncash
8b86a89dd5
core/crypto: Remove unnecessary includes
2018-08-04 16:44:07 -04:00
Lioncash
d74342ad3f
key_manager: Use regular std::string instead of std::string_view
...
The benefit of std::string_view comes from the idea of avoiding copies
(essentially acting as a non-owning view), however if we're just going
to copy into a local variable immediately, there's not much benefit
gained here.
2018-08-04 16:37:30 -04:00
bunnei
950de5fd73
cubeb_sink: Support variable sample_rate and num_channels.
2018-08-04 15:30:10 -04:00
Zach Hilman
3150538b3f
content_archive: Add support for titlekey cryptography
2018-08-04 14:57:21 -04:00
bunnei
97647e60f2
audio_core: Sinks need unique names as well.
2018-08-04 14:34:12 -04:00
bunnei
7186882bfe
audio_core: Streams need unique names for CoreTiming.
2018-08-04 14:34:12 -04:00
bunnei
4c42134b09
Merge pull request #849 from DarkLordZach/xci
...
XCI and Encrypted NCA Support
2018-08-04 14:33:11 -04:00
bunnei
a43ae368d3
Merge pull request #919 from lioncash/sign
...
gl_shader_manager: Amend sign differences in an assertion comparison in SetShaderUniformBlockBinding()
2018-08-04 14:29:59 -04:00
Lioncash
32901799b5
gl_shader_manager: Invert conditional in SetShaderUniformBlockBinding()
...
This lets us indent the majority of the code and places the error case
first.
2018-08-04 02:57:11 -04:00
Lioncash
c043a5c930
gl_shader_manager: Amend sign differences in an assertion comparison in SetShaderUniformBlockBinding()
...
Ensures both operands have the same sign in the comparison.
While we're at it, we can get rid of the redundant casting of ub_size to
an int. This type will always be trivial and alias a built-in type (not
doing so would break backwards compatibility at a standard level).
2018-08-04 02:55:03 -04:00
Lioncash
69bbe31ca8
renderer_base: Make Rasterizer() return the rasterizer by reference
...
All calling code assumes that the rasterizer will be in a valid state,
which is a totally fine assumption. The only way the rasterizer wouldn't
be is if initialization is done incorrectly or fails, which is checked
against in System::Init().
2018-08-04 02:36:58 -04:00
Lioncash
49dc22f84e
video_core: Eliminate the g_renderer global variable
...
We move the initialization of the renderer to the core class, while
keeping the creation of it and any other specifics in video_core. This
way we can ensure that the renderer is initialized and doesn't give
unfettered access to the renderer. This also makes dependencies on types
more explicit.
For example, the GPU class doesn't need to depend on the
existence of a renderer, it only needs to care about whether or not it
has a rasterizer, but since it was accessing the global variable, it was
also making the renderer a part of its dependency chain. By adjusting
the interface, we can get rid of this dependency.
2018-08-04 02:36:57 -04:00
bunnei
bf006dd1d4
Merge pull request #911 from lioncash/prototype
...
video_core: Remove unimplemented Start() function prototype
2018-08-04 02:18:38 -04:00
bunnei
a8755cb738
Merge pull request #913 from lioncash/unused-func
...
memory: Remove unused GetSpecialHandlers() function
2018-08-04 02:17:44 -04:00
bunnei
017fa55c0a
Merge pull request #914 from lioncash/codeset
...
kernel/process: Use accessors instead of class members for referencing segment array
2018-08-04 02:17:25 -04:00
bunnei
26a9093726
Merge pull request #917 from lioncash/crash
...
kernel/thread: Fix potential crashes introduced in 3bcf090d
2018-08-04 01:19:01 -04:00
Lioncash
6f3a3ed8c5
kernel/thread: Fix potential crashes introduced in 3bcf090d37
...
This amends cases where crashes can occur that were missed due to the
odd way the previous code was set up (using 3DS memory regions that
don't exist).
2018-08-03 23:49:10 -04:00
bunnei
46db65403f
Merge pull request #910 from lioncash/unused
...
gl_shader_decompiler: Remove unused variable in GenerateDeclarations()
2018-08-03 15:54:11 -04:00
Lioncash
73e1be4350
kernel/process: Use std::array where applicable
2018-08-03 14:46:30 -04:00
Lioncash
73f162a5b0
kernel/process: Use accessors instead of class members for referencing segment array
...
Using member variables for referencing the segments array increases the
size of the class in memory for little benefit. The same behavior can be
achieved through the use of accessors that just return the relevant
segment.
2018-08-03 14:45:45 -04:00
Lioncash
0e92e67e06
memory: Remove unused GetSpecialHandlers() function
...
This is just unused code, so we may as well get rid of it.
2018-08-03 14:20:50 -04:00
bunnei
67b4326d93
Merge pull request #908 from lioncash/memory
...
core/memory: Get rid of 3DS leftovers
2018-08-03 14:07:49 -04:00
Lioncash
02cdd82efc
video_core: Remove unimplemented Start() function prototype
...
Given this has no definition, we can just remove it entirely.
2018-08-03 12:48:14 -04:00
Lioncash
c155adb42a
gl_shader_decompiler: Remove unused variable in GenerateDeclarations()
...
This variable was being incremented, but we were never actually using
it.
2018-08-03 12:18:31 -04:00
Lioncash
300a4e3d79
gl_shader_manager: Make ProgramManager's GetCurrentProgramStage() a const member function
...
This function doesn't modify class state, so it can be made const.
2018-08-03 12:08:17 -04:00
Lioncash
3bcf090d37
core/memory: Get rid of 3DS leftovers
...
Removes leftover code from citra that isn't needed.
2018-08-03 11:22:47 -04:00
David
4a4641a134
Added ability to change username & language code in the settings ui. Added IProfile::Get and SET::GetLanguageCode for libnx tests ( #851 )
2018-08-03 11:02:55 -04:00
bunnei
1028560b4c
Merge pull request #895 from lioncash/sink
...
sink_details: std::move std::function instances
2018-08-03 11:00:56 -04:00
bunnei
485a6770e9
Merge pull request #898 from lioncash/mig
...
service: Add migration services
2018-08-03 11:00:27 -04:00
bunnei
ff296707b1
Merge pull request #900 from lioncash/init
...
math_util: Always initialize members of Rectangle
2018-08-03 11:00:10 -04:00
bunnei
299975e4a8
Merge pull request #892 from lioncash/global
...
video_core: Make global EmuWindow instance part of the base renderer …
2018-08-03 00:31:32 -04:00
bunnei
20b6c79859
Merge pull request #894 from lioncash/object
...
kernel: Move object class to its own source files
2018-08-03 00:28:43 -04:00
bunnei
9f560b2c57
Merge pull request #904 from lioncash/static
...
kernel/thread: Minor changes
2018-08-03 00:19:29 -04:00
bunnei
b6930f7a1e
Merge pull request #906 from lioncash/override
...
input_common: minor changes
2018-08-03 00:18:52 -04:00
bunnei
ca12628324
Merge pull request #907 from lioncash/slot
...
yuzu: Use Qt 5 signal/slots where applicable
2018-08-03 00:17:55 -04:00
bunnei
3ce7cf5e42
Merge pull request #905 from lioncash/vma
...
kernel/vm_manager: Minor changes
2018-08-02 23:18:03 -04:00
bunnei
f720eee031
Merge pull request #903 from lioncash/copy
...
vfs_vector: Minor changes
2018-08-02 23:01:19 -04:00
bunnei
309b596a21
Merge pull request #901 from lioncash/ref
...
gl_shader_manager: Take ShaderSetup instances by const reference in UseProgrammableVertexShader() and UseProgrammableFragmentShader()
2018-08-02 23:00:56 -04:00
Lioncash
f90c667a44
yuzu: Use Qt 5 signal/slots where applicable
...
Makes the signal/slot connections type-safe instead of string-based.
2018-08-02 22:18:33 -04:00
Lioncash
fc2d6869bf
input_common: Use std::move where applicable
...
Avoids unnecessary atomic reference count increments and decrements
2018-08-02 21:51:11 -04:00
Lioncash
d682d53bb2
input_common: Add missing override specifiers
2018-08-02 21:44:25 -04:00
bunnei
403cb09019
Merge pull request #899 from lioncash/unused
...
hw: Remove unused files
2018-08-02 14:58:01 -04:00
bunnei
b57d279b57
Merge pull request #902 from lioncash/array
...
gl_state: Make texture_units a std::array
2018-08-02 14:57:42 -04:00
bunnei
4a087fed32
Merge pull request #891 from lioncash/ns
...
service/ns: Add missing ns services
2018-08-02 14:57:24 -04:00
greggameplayer
6abb522f98
Implement RGB32F PixelFormat ( #886 ) (used by Go Vacation)
2018-08-02 14:56:38 -04:00
bunnei
fc6356f5c2
Merge pull request #893 from lioncash/psc
...
service: Add the psc services
2018-08-02 14:53:55 -04:00
Lioncash
bf632d8e1e
kernel/vm_manager: Convert loop into std::any_of()
2018-08-02 12:46:15 -04:00
Lioncash
ec7319a5de
kernel/vm_manager: Use const where applicable
...
Makes our immutable state explicit.
2018-08-02 12:21:46 -04:00
Lioncash
26e2e7b657
kernel/vm_manager: Use the VAddr type alias in CarveVMA()
...
These two variables correspond to address ranges.
2018-08-02 12:15:50 -04:00
Lioncash
fa173d1874
kernel/thread: Make GetFreeThreadLocalSlot()'s loop indices size_t
...
Avoids using a u32 to compare against a range of size_t, which can be a
source of warnings. While we're at it, compress a std::tie into a
structured binding.
2018-08-02 12:01:25 -04:00
Lioncash
12afa56830
kernel/thread: Make GetFreeThreadLocalSlot() reference parameter a const reference
...
This function only reads the data being referenced, it doesn't modify
it, so we can turn the reference into a const reference.
2018-08-02 11:56:11 -04:00
Lioncash
16c5f5fe1b
kernel/thread: Make GetFreeThreadLocalSlot() internally linked
...
This function isn't used outside of this translation unit, so we can
make it internally linked.
2018-08-02 11:54:23 -04:00
Lioncash
5b317d1b80
vfs_vector: Remove unused variable in FindAndRemoveVectorElement()
...
This wasn't being used for anything, so it can be removed.
2018-08-02 11:40:24 -04:00
Lioncash
0bb1b9c168
vfs_vector: Avoid unnecessary copies where applicable
...
The lambda elements should be taken by const reference here, and we can
move the virtual directory passed to ReplaceFileWithSubdirectory()
2018-08-02 11:37:39 -04:00
Lioncash
68150d3d79
gl_state: Make texture_units a std::array
...
Gets rid of the use of a raw C array.
2018-08-02 11:19:58 -04:00
Lioncash
807d0cf4f2
gl_shader_manager: Take ShaderSetup instances by const reference in UseProgrammableVertexShader() and UseProgrammableFragmentShader()
...
Avoids performing unnecessary copies of 65560 byte sized ShaderSetup
instances, considering it's only used as part of lookup and not
modified.
Given the parameters were already const, it's likely taking these
parameters by reference was intended but the ampersand was forgotten.
2018-08-02 11:09:46 -04:00
Lioncash
9f5ba9df95
math_util: Always initialize members of Rectangle
...
Prevents potentially using the members uninitialized.
2018-08-02 10:47:34 -04:00
Lioncash
db3603df94
hw: Remove unused files
...
None of these files are used in any meaningful way. They're just
leftovers from citra. Also has the benefit of getting rid of an unused
global variable.
2018-08-02 10:23:10 -04:00
Lioncash
6ac24e4e5a
service: Add migration services
...
Adds the basic skeleton for the mig:usr service based off information
provided by Switch Brew.
2018-08-02 10:09:45 -04:00
Lioncash
07a3c8a2a5
audio_out: Use Buffer::Tag alias in GetTagsAndReleaseBuffers()'s prototype
...
This makes the Buffer::Tag usage consistent with the Stream class's
prototype of GetTagsAndReleaseBuffers().
2018-08-02 05:18:32 -04:00
Lioncash
881380bc97
sink_details: Deduplicate long std::function repetition
...
We can just use type aliases to avoid needing to write the same long
type twice
2018-08-01 23:56:02 -04:00
Lioncash
5061e89fd1
sink_details: std::move std::function instances
...
Given std::function is allowed to potentially allocate, these should be
std::move'd to prevent potential reallocation (should that ever happen).
2018-08-01 23:50:48 -04:00
Lioncash
38c2af9330
kernel: Move object class to its own source files
...
General moving to keep kernel object types separate from the direct
kernel code. Also essentially a preliminary cleanup before eliminating
global kernel state in the kernel code.
2018-08-01 23:34:42 -04:00
Lioncash
f29d848665
logging/log: Remove incorrect description in PCV doc comment
...
PCV isn't the parental control service.
2018-08-01 23:31:31 -04:00
Lioncash
4d9067936c
service: Add psc services
...
Adds the basic skeleton for the psc services based off the information
provided by Switch Brew.
2018-08-01 23:31:27 -04:00
Lioncash
153a00ebc0
video_core: Make global EmuWindow instance part of the base renderer class
...
Makes the global a member of the RendererBase class. We also change this
to be a reference. Passing any form of null pointer to these functions
is incorrect entirely, especially given the code itself assumes that the
pointer would always be in a valid state.
This also makes it easier to follow the lifecycle of instances being
used, as we explicitly interact the renderer with the rasterizer, rather
than it just operating on a global pointer.
2018-08-01 21:40:30 -04:00
bunnei
12cbf9b562
Merge pull request #888 from lioncash/caps
...
service: Add capture services
2018-08-01 21:34:28 -04:00
bunnei
f05a56e537
Merge pull request #890 from lioncash/logger
...
lm: Amend name of ILogger
2018-08-01 21:33:11 -04:00
bunnei
8d2a4d0cc0
Merge pull request #889 from lioncash/fsp
...
service/filesystem: Add fsp:ldr and fsp:pr services
2018-08-01 21:32:54 -04:00
Lioncash
a155fe49dd
service/ns: Add missing ns services
...
Implements the basic skeleton of ns:am2, ns:ec, ns:rid, ns:rt, ns:su,
ns:vm, and ns:web based off the information provided by Switch Brew and
SwIPC.
2018-08-01 18:02:18 -04:00
Lioncash
732fe76a41
lm: Amend name of ILogger
...
Previously this was being registered with the name "Logger". While we're
at it, also change the name of the class to match it.
2018-08-01 17:08:44 -04:00
Lioncash
1d3dfe7e22
service/filesystem: Add fsp:ldr and fsp:pr services
...
Adds the basic skeleton for the remaining fsp services based off
information provided by Switch Brew.
2018-08-01 17:01:29 -04:00
Lioncash
a267a3cc08
service: Add capture services
...
Adds the basic skeleton for the capture services based off information
provided by Switch Brew.
2018-08-01 16:45:51 -04:00
Lioncash
2635578300
service: Add bpc and pcv services
...
Adds the basic skeleton for the remaining pcv-related services based off
information on Switch Brew.
2018-08-01 16:13:04 -04:00
Unknown
6b77105b3d
Implement R32_FLOAT RenderTargetFormat
2018-08-01 15:31:42 +02:00
bunnei
500da48f7c
Merge pull request #882 from lioncash/unused
...
kernel/thread: Remove unimplemented function prototype
2018-07-31 22:25:49 -07:00
Zach Hilman
5b9d48ba43
Add missing parameter to files.push_back()
2018-08-01 00:16:54 -04:00
Zach Hilman
9a3f7d702f
Fix merge conflicts with opus and update docs
2018-08-01 00:16:54 -04:00
Zach Hilman
9b710a5901
Use more descriptive error codes and messages
2018-08-01 00:16:54 -04:00
Zach Hilman
1f83886c21
Use static const instead of const static
2018-08-01 00:16:54 -04:00
Zach Hilman
f93e75f496
Use ErrorEncrypted where applicable and fix no keys crash
2018-08-01 00:16:54 -04:00
Zach Hilman
568ce6304c
Add missing includes and use const where applicable
2018-08-01 00:16:54 -04:00
Zach Hilman
feb6b2b4a8
Allow key loading from %YUZU_DIR%/keys in addition to ~/.switch
2018-08-01 00:16:54 -04:00
Zach Hilman
e7ae26a563
Use SHGetKnownFolderPath instead of SHGetFolderPathA
2018-08-01 00:16:54 -04:00
Zach Hilman
272ca87298
Make XCI comply to review and style guidelines
2018-08-01 00:16:54 -04:00
Zach Hilman
03467b64e3
Extract mbedtls to cpp file
2018-08-01 00:16:54 -04:00
Zach Hilman
0c75b8d6b2
Add missing string.h include
2018-08-01 00:16:54 -04:00
Zach Hilman
bba2d504f0
Update mbedtls and fix compile error
2018-08-01 00:16:54 -04:00
Zach Hilman
b10c0d291f
Remove files that are not used
2018-08-01 00:16:54 -04:00
bunnei
c3279b3a75
Merge pull request #871 from bunnei/audio-config
...
audio_core: Add configuration settings.
2018-07-31 21:04:26 -07:00
Lioncash
682836d539
kernel/thread: Remove unimplemented function prototype
...
Given there's no implementation, we may as well remove the code
entirely.
2018-07-31 23:21:38 -04:00
bunnei
b9d19ca36e
Merge pull request #877 from lioncash/remove
...
kernel: Remove unused object_address_table.cpp/.h
2018-07-31 20:11:39 -07:00
bunnei
56ff09b880
Merge pull request #880 from lioncash/audio
...
service/audio: Add missing services
2018-07-31 20:11:04 -07:00
bunnei
14d9b2d6d3
audio_core: Add configuration settings.
2018-07-31 22:38:42 -04:00
bunnei
f9fec85f81
Merge pull request #876 from lioncash/include
...
kernel: Remove unnecessary includes
2018-07-31 19:16:05 -07:00
Lioncash
c3deab1f6e
service/audio: Add missing services
...
Adds the missing audctl service, as well as the :a and :d services for
audin, audout, audrec, and audren.
2018-07-31 21:58:30 -04:00
bunnei
817f66ae8c
Merge pull request #879 from lioncash/audio
...
audout_u: Remove std::move in OpenAudioOutImpl()
2018-07-31 16:49:56 -07:00
bunnei
304b76490d
Merge pull request #864 from FearlessTobi/port-3973
...
Port #3973 from Citra: "Remove polymorphism issue"
2018-07-31 09:34:23 -07:00
bunnei
a19afb37b2
Merge pull request #869 from Subv/ubsan
...
Corrected a few error cases detected by asan/ubsan
2018-07-31 09:24:13 -07:00
bunnei
cd86d3bd7a
Merge pull request #875 from lioncash/fgm
...
service: Add fgm services
2018-07-31 09:23:17 -07:00
bunnei
80a726d090
Merge pull request #874 from lioncash/am
...
service/am: Add missing am services
2018-07-31 09:22:56 -07:00
Lioncash
ea4e7b7fc5
kernel: Remove unused object_address_table.cpp/.h
...
These source files were entirely unused throughout the rest of the
codebase. This also has the benefit of getting rid of a global variable
as well.
2018-07-31 11:03:08 -04:00
Lioncash
a87d3a4c42
audout_u: Remove std::move in OpenAudioOutImpl()
...
Previously the code was using the values from params further below after
it was std::moved. Thankfully, given AudoutParams is a trivially
copyable struct, the values would have simply been copied in this
instance and not invalidated to garbage values.
2018-07-31 10:24:38 -04:00
Lioncash
3d2d454c36
kernel: Remove unnecessary includes
...
Removes unnecessary direct dependencies in some headers and also gets
rid of indirect dependencies that were being relied on to be included.
2018-07-31 10:15:17 -04:00
bunnei
3537a41aaf
Merge pull request #870 from lioncash/init
...
arm_dynarmic: Correct initializer list order
2018-07-31 07:12:54 -07:00
Lioncash
00ce1994f3
service/am: Add missing am services
...
Adds the basic skeleton for missing am services idle:sys, omm, and spsm
based off the information provided by Switch Brew.
2018-07-31 08:02:20 -04:00
Lioncash
bdeda001bc
service: Add fgm services
...
Adds the basic skeleton for the fgm services based off the information
provided by Switch Brew.
2018-07-31 08:01:19 -04:00
Lioncash
f90376d170
arm_dynarmic: Make SetTlsAddress() prototype and definition consistent
...
Makes the definition use the same type aliases as in its prototype.
2018-07-31 07:58:26 -04:00
Lioncash
2cd4a2bbd8
arm_dynarmic: Remove unnecessary qualifying of ThreadContext
...
Given the ARM_Dynarmic class inherits from ARM_Interface, we don't need
to qualify here.
2018-07-31 07:56:59 -04:00
Lioncash
00542bc1a4
arm_dynarmic: Correct initializer list order
...
Amends the initializer list to be in the same order that each variable
would be initialized in. We also do this to ensure we don't use a bogus
uninitialized instance of the exclusive monitor within MakeJit()
We can also remove the jit member from the initializer list as this is
initialized by PageTableChanged()
2018-07-31 07:54:58 -04:00
Lioncash
e136d94655
service: Add the pcie service
...
Adds the basic skeleton of the pcie service based off information on
Switch Brew.
2018-07-31 06:40:21 -04:00
bunnei
18dd56c38d
Merge pull request #855 from bunnei/cubeb
...
Audio output backend based on cubeb
2018-07-30 20:29:17 -07:00
bunnei
0ba0cdbed9
audio_core: Implement Sink and SinkStream interfaces with cubeb.
2018-07-30 21:45:24 -04:00
bunnei
f1f3a65391
audio_core: Add interfaces for Sink and SinkStream.
2018-07-30 21:45:24 -04:00
Subv
3aebf087c1
MacroInterpreter: Avoid left shifting negative values.
...
The branch target is signed, so multiply by 4 instead of left shifting by 2
2018-07-30 20:38:24 -05:00
Subv
253cd9b5b9
nvhost_gpu: Added checks to ensure we don't read past the end of the entries when handling a GPU command list.
2018-07-30 20:09:13 -05:00
Subv
48df583947
nvhost_ctrl_gpu: Only read the input parameters if they are actually there.
...
Passing nullptr to memcpy is undefined behavior.
2018-07-30 20:08:36 -05:00
Tobias
1e25018638
Port #3758 from Citra ( #852 ): Add missing std::string import in text_formatter
2018-07-30 16:03:47 -07:00
bunnei
02472448da
audio_core: Misc. improvements to stream/buffer/audio_out.
2018-07-30 18:58:40 -04:00
bunnei
fe039386fc
audio_core: Move to audout_u impl.
...
- This is necessary so streams are created on the same thread.
2018-07-30 18:44:16 -04:00
David
42f8eef8b3
Implemented various hwopus functions ( #853 )
2018-07-30 15:42:20 -07:00
bunnei
a211ad4699
Merge pull request #861 from FearlessTobi/port-3972
...
Port #3972 from Citra: "common/timer: use std::chrono, avoid platform-dependent code"
2018-07-30 14:13:56 -07:00
bunnei
addd8e6823
Merge pull request #862 from FearlessTobi/port-3997
...
Port #3997 from Citra: "common/string_utils: replace boost::transform with std counterpart"
2018-07-30 14:13:34 -07:00
bunnei
30c7c89554
Merge pull request #859 from FearlessTobi/port-3837
...
Port #3837 from Citra: "citra-qt: Add build date in about dialog"
2018-07-30 10:11:43 -07:00
Tobias
d60c5fdb23
Port #3769 from Citra: "Update Dark theme to latest version"
2018-07-30 10:11:17 -07:00
bunnei
c9de0247f9
Merge pull request #858 from lioncash/cast
...
partition_filesystem: Remove dynamic_cast in PrintDebugInfo()
2018-07-30 10:09:36 -07:00
bunnei
98a3798599
Merge pull request #860 from FearlessTobi/port-3911
...
Port #3911 from Citra: "citra-qt: optimize settings application"
2018-07-30 10:08:55 -07:00
bunnei
fbbb2113b8
Merge pull request #863 from FearlessTobi/port-3913
...
Port #3913 from Citra: "citra_qt: Remove obsolete application attribute"
2018-07-30 10:08:05 -07:00
bunnei
0d156a752f
Merge pull request #865 from FearlessTobi/port-3732
...
Port #3732 from Citra: "common: Fix compilation on ARM"
2018-07-30 10:07:45 -07:00
bunnei
2c20994b7e
Merge pull request #857 from lioncash/wlan
...
service: Add wlan services
2018-07-30 10:06:52 -07:00
bunnei
31b1608230
Merge pull request #856 from lioncash/btm
...
service: Add btm services
2018-07-30 10:06:34 -07:00
Hexagon12
0c5691e8b4
Add some HID commands ( #843 )
...
* Added some HID commands
* Addressed comments
2018-07-30 10:06:21 -07:00
Cameron Cawley
edf024592e
Port #3732 from Citra: "common: Fix compilation on ARM"
2018-07-29 15:51:31 +02:00
B3n30
d480730a4c
remove polymorphism issue
2018-07-29 15:24:41 +02:00
fearlessTobi
41f0c63993
Port #3913 from Citra: "citra_qt: Remove obsolete application attribute"
2018-07-29 15:13:08 +02:00
zhupengfei
4cabe17f0b
common/string_utils: replace boost::transform with std counterpart
...
Note: according to cppreference it is necessary to convert char to unsigned char when using std::tolower and std::toupper, otherwise the behaviour would be undefined.
2018-07-29 15:05:43 +02:00
zhupengfei
7311baa65c
Port #3972 from Citra: "common/timer: use std::chrono, avoid platform-dependent code"
2018-07-29 14:58:30 +02:00
fearlessTobi
6d2e4b74c2
Port #3911 from Citra: "Optimize settings application"
2018-07-29 14:37:18 +02:00
fearlessTobi
133950dbdf
Port #3837 from Citra: "Add build date in about dialog"
2018-07-29 14:27:19 +02:00
Lioncash
2fb4f00bf7
partition_filesystem: Remove dynamic_cast in PrintDebugInfo()
...
We shouldn't be upcasting our file instances. Given a
PartitionFilesystem is currently designed to accept any arbitrary
VfsFile instances, casting to a more specific type than that is just bad
design, and shows an interface design issue.
2018-07-29 06:16:59 -04:00
Lioncash
cbefbc3c60
service: Add wlan services
...
Adds the basic skeleton for the wlan services based off the information
on Switch Brew.
2018-07-28 21:54:55 -04:00
Lioncash
2c2461f0e1
service/btm: Add basic implementation of GetCoreImpl()
...
Based off information on SwIPC and Switch Brew.
2018-07-28 21:09:07 -04:00
Lioncash
82ef74be0b
service: Add btm services
...
Adds the skeleton for the btm services based off the information on
Switch Brew.
2018-07-28 21:09:07 -04:00
bunnei
42aa40e14a
Merge pull request #847 from lioncash/ncm
...
service: Add ncm services
2018-07-28 10:46:09 -07:00
bunnei
b4fb69227b
Merge pull request #846 from lioncash/mii
...
service: Add mii services
2018-07-28 10:45:31 -07:00
bunnei
0dcbd0a54a
Merge pull request #842 from bunnei/audio-core
...
Initial implementation of Audio Core
2018-07-27 20:25:32 -07:00
bunnei
3d978dfa4d
audout: Implement IAudioOut interface with AudioCore.
2018-07-27 22:55:39 -04:00
bunnei
2097b6c72e
core: Add AudioCore to global state.
2018-07-27 22:33:37 -04:00
bunnei
fa8e381b3e
audio_core: Add initial code for keeping track of audout state.
2018-07-27 22:33:31 -04:00
Zach Hilman
2e4c791f79
RomFS Extraction
2018-07-27 18:14:03 -04:00
Lioncash
db0eb8968d
service: Add ncm services
...
Adds the basic skeleton for the ncm services based off information on
Switch Brew.
2018-07-27 17:38:30 -04:00
bunnei
8f135398fe
Merge pull request #845 from lioncash/nfc
...
service: Add nfc services
2018-07-27 14:29:27 -07:00
bunnei
f93ad9b68b
Merge pull request #839 from FearlessTobi/actually-port-3594
...
Port #3594 from Citra: "citra_qt: Add Continue/Pause & Toggle Speed Limit hotkeys"
2018-07-27 13:06:56 -07:00
bunnei
fc78709e87
Merge pull request #844 from lioncash/lbl
...
service: Add the lbl service
2018-07-27 13:06:11 -07:00
bunnei
5cdd88eeb5
Merge pull request #841 from lioncash/btdrv
...
service: Add the btdrv service
2018-07-27 13:05:36 -07:00
Lioncash
3d1b71b0a8
service: Add mii services
...
Adds the skeleton for the mii services based off information provided by
Switch Brew
2018-07-27 16:01:29 -04:00
Lioncash
55d1bcc26b
service/nfc: Implement Create[x]Interface functions
...
These simply return the respective interface.
2018-07-27 15:12:08 -04:00
Lioncash
171f57b364
service: Add nfc services
...
Adds the skeleton of the nfc service based off the information provided
on Switch Brew.
2018-07-27 14:50:24 -04:00
Lioncash
995ca4edd0
service/lbl: Implement EnableVrMode, DisableVrMode and GetVrMode
...
Implements these functions according to the information available on
Switch Brew.
2018-07-27 14:20:42 -04:00
Lioncash
3f4c2ceab2
service: Add the lbl service
...
Adds the skeleton of the lbl service based off the information provided
by Switch Brew.
2018-07-27 14:20:07 -04:00
bunnei
859eac7a1f
Merge pull request #837 from lioncash/priv
...
kernel/timer: Make data members private where applicable
2018-07-27 07:18:50 -07:00
Lioncash
9a6bc1e8c9
service: Add the btdrv service
...
Adds the skeleton for the btdrv service based off the information provided by Switch Brew
2018-07-26 18:06:17 -04:00
Lioncash
b3e0f46ee6
service/hid: Add the hidbus, hid:dbg, hid:sys, and hid:tmp services
2018-07-26 15:05:42 -04:00
Lioncash
3d37adc01f
service/hid: Add the xcd:sys service
2018-07-26 15:05:42 -04:00
Lioncash
8724896db5
service/hid: Add irs services
2018-07-26 15:05:24 -04:00
bunnei
008dae3ee4
Merge pull request #836 from FearlessTobi/port-3594
...
Port #3665 from Citra: "frontend: Log Citra version"
2018-07-26 12:04:30 -07:00
bunnei
e042f5b900
Merge pull request #835 from FearlessTobi/port-minor-prs
...
Port #3641 and #3702 from Citra (Small changes to default_ini and gitignore)
2018-07-26 12:03:56 -07:00
bunnei
bb50b8c7f1
Merge pull request #834 from lioncash/grc
...
service: Add the grc:c service
2018-07-26 12:03:30 -07:00
bunnei
fd33008c57
Merge pull request #832 from lioncash/nim
...
service: Add the nim services
2018-07-26 12:02:29 -07:00
bunnei
7e7d2a8460
Merge pull request #831 from lioncash/ldn
...
service: Add ldn services
2018-07-26 11:52:42 -07:00
bunnei
be3d1d704d
Merge pull request #830 from lioncash/socket
...
service/sockets: Add missing socket services
2018-07-26 11:51:11 -07:00
bunnei
e13c2efcd2
Merge pull request #808 from lioncash/mem-dedup
...
video_core/memory_manager: Avoid repeated unnecessary page slot lookups
2018-07-26 11:50:27 -07:00
fearlessTobi
5946bf7728
Port #3594 from Citra
2018-07-26 16:09:52 +02:00
Lioncash
ad74c3c324
service: Add the grc:c service
...
Adds the basic skeleton for the grc:c service based off the information
provided by Switch Brew.
2018-07-26 09:53:58 -04:00
Subv
b994374b5c
GPU: Allow using R16F as a render target format.
2018-07-26 08:52:21 -05:00
Lioncash
9f7550d027
kernel/timer: Make data members private where applicable
...
Instead, we can just expose functions that return the queryable state
instead of letting anything modify it.
2018-07-26 09:51:44 -04:00
fearlessTobi
d037602d5c
Port #3665 from Citra
2018-07-26 15:51:14 +02:00
fearlessTobi
6335002f55
Port #3641 from Citra
2018-07-26 15:35:10 +02:00
Lioncash
1c50f01de8
service: Add the nim services
...
Adds the skeleton for the nim services based off information from Switch
Brew.
2018-07-26 02:47:06 -04:00
Lioncash
6116b53dfb
service: Add ldn services
...
Adds ldn services based off information provided by Switch Brew.
2018-07-26 01:48:06 -04:00
bunnei
825e272dcf
Merge pull request #827 from lioncash/log
...
service/lm: Minor changes
2018-07-25 22:30:43 -07:00
bunnei
e6a59eccc3
Merge pull request #825 from greggameplayer/R16_G16
...
Implement R16_G16
2018-07-25 22:30:25 -07:00
Lioncash
961ee4e3ea
service/sockets: Add ethc:c and ethc:i services
2018-07-26 01:07:21 -04:00
Lioncash
8827701e2a
service/sockets: Add missing bsdcfg socket service
2018-07-26 01:00:15 -04:00
Sebastian Valle
3fd5ff4be6
Merge pull request #828 from lioncash/ldr
...
service: Add ldr services
2018-07-25 23:44:13 -05:00
Sebastian Valle
f9f1c10e29
Merge pull request #826 from lioncash/erpt
...
service: Add erpt and eupld services
2018-07-25 23:43:47 -05:00
Sebastian Valle
5177141f28
Merge pull request #823 from lioncash/nifm
...
service/nifm: Deduplicate interface code
2018-07-25 23:43:03 -05:00
Lioncash
fe262212e1
service: Add ldr services
...
Adds the skeleton for the ldr-related services based off the information
provided on Switch Brew.
2018-07-25 23:11:03 -04:00
Lioncash
6570f0cd5c
lm: Move LM's class declaration into the cpp file
...
This isn't used directly outside of this translation unit, so we can
hide it from external use.
2018-07-25 22:40:16 -04:00
Lioncash
24db60566b
lm: Amend names of Initialize() in Logger and Initialize() in LM
...
Amends these to match the information on Switch Brew.
2018-07-25 22:39:39 -04:00
Lioncash
a35847e520
lm: Add missing function entry to Logger's function table
2018-07-25 22:26:32 -04:00
Lioncash
cb8bf2372d
service: Add eupld services
...
Adds the skeleton for the eupld services based off information on Switch
Brew.
2018-07-25 22:13:43 -04:00
Lioncash
bbdc41e153
service: Add the erpt services
...
Adds the basic skeleton of the erpt service based off information on
Switch Brew.
2018-07-25 22:13:39 -04:00
bunnei
9e7df683ff
Merge pull request #824 from lioncash/nvdrv
...
service/nvdrv: Minor changes
2018-07-25 19:02:08 -07:00
bunnei
e3a31dea62
Merge pull request #822 from lioncash/pm
...
service: Add pm services
2018-07-25 19:01:28 -07:00
Unknown
aad2bf10a8
Implement R16_G16
...
correct trailing white spaces
Delete tabs
correct placement
Add RG16F & RG16UI & RG16I & RG16S PixelFormats
Return correct data according to changes done previously
correct PixelFormat declaration
correct coding style error
correct coding style error part 2
correct RG16S Declaration error
correct alignment
2018-07-26 02:01:29 +02:00
Mat M
5a61a83988
Merge pull request #820 from lioncash/es
...
service: Add the es service
2018-07-25 18:51:59 -04:00
Mat M
4e117c21d3
Merge pull request #821 from lioncash/wait
...
wait_tree: Add missing switch case for WaitTreeThread::GetText()
2018-07-25 18:45:01 -04:00
bunnei
87e0a45124
Merge pull request #819 from Subv/srgb
...
GPU: Use the right texture format for sRGBA framebuffers.
2018-07-25 14:47:26 -07:00
Lioncash
7e87e94e33
service/nvdrv: Take std::string in Open() by const reference
...
Avoids copies from being made, since the string is only ever used for
lookup, the data is never transfered anywhere.
Ideally, we'd use a std::string_view here, but devices is a
std::unordered_map, not a std::map, so we can't use heterogenous lookup
here.
2018-07-25 17:37:43 -04:00
Lioncash
858c831282
service/nvdrv: Use std::move where applicable
...
Avoids unnecessary reference count increments and decrements.
In one case, we don't need to make a shared_ptr copy at all,
just to call a member function.
2018-07-25 17:31:08 -04:00
Lioncash
71f9a85a01
service/nifm: Deduplicate interface code
...
Rather than having the same code for each nifm service variant, we can
centralize it on one class and get rid of a bit of extra code.
2018-07-25 17:18:41 -04:00
Lioncash
c96ea0051d
service: Add pm services
...
Adds the skeleton for the process management services based off
information on Switch Brew.
2018-07-25 16:57:16 -04:00
Lioncash
6dcc80c285
wait_tree: Add missing switch case for WaitTreeThread::GetText()
...
We were missing the enum entry for WaitIPC
2018-07-25 15:50:41 -04:00
Lioncash
397d500e33
service: Add the es service
...
Adds the skeleton for the ETicket service based off the information on
Switch Brew
2018-07-25 15:36:55 -04:00
Mat M
4a05fca942
Merge pull request #801 from lioncash/time
...
time: Add the time:a service
2018-07-25 15:08:33 -04:00
Mat M
2113988e81
Merge pull request #804 from lioncash/log
...
svc: Log parameters in SetMemoryAttribute()
2018-07-25 14:43:24 -04:00
Lioncash
11931ccf6a
time: Add the time:a service
...
Given we already have time:s and time:u, we should also have time:a
2018-07-25 14:42:04 -04:00
bunnei
d1035d4b76
Merge pull request #803 from MerryMage/core_timing_util
...
core_timing: Split off utility functions into core_timing_util
2018-07-25 11:09:31 -07:00
bunnei
550bdb59b0
Merge pull request #802 from lioncash/unreach
...
wait_tree: Silence warning about all code paths not returning a value
2018-07-25 11:08:44 -07:00
bunnei
a27c5d7afd
Merge pull request #800 from lioncash/set
...
set_sys: Implement SetColorSetId()
2018-07-25 10:25:29 -07:00
Subv
a99c559c69
GPU: Use the right texture format for sRGBA framebuffers.
2018-07-25 09:52:39 -05:00
Subv
6c114256ca
GPU: Allow the use of Z24S8 as a texture format.
2018-07-25 09:41:24 -05:00
bunnei
9c18b48352
Merge pull request #816 from Subv/z32_s8
...
GPU: Implemented the Z32_S8_X24 depth buffer format.
2018-07-25 07:37:00 -07:00
bunnei
e74efb1e46
Merge pull request #815 from Subv/z32f_tex
...
GPU: Allow using Z32 as a texture format.
2018-07-25 07:33:09 -07:00
bunnei
c4852be404
Merge pull request #814 from Subv/rt_r8
...
GPU: Allow the usage of R8 as a render target format.
2018-07-25 07:32:18 -07:00
bunnei
f4884e347b
Merge pull request #809 from lioncash/rasterizer
...
gl_rasterizer: Minor cleanup
2018-07-24 19:31:34 -07:00
bunnei
467842a5aa
Merge pull request #811 from Subv/code_address_assert
...
GPU: Remove the assert that required the CODE_ADDRESS to be 0.
2018-07-24 19:31:09 -07:00
Subv
b4ae8432b4
GPU: Implemented the Z32_S8_X24 depth buffer format.
2018-07-24 20:41:40 -05:00
Subv
72cb7ab18b
GPU: Allow using Z32 as a texture format.
2018-07-24 19:54:23 -05:00
Subv
1930980a26
GPU: Allow the usage of R8 as a render target format.
2018-07-24 19:49:36 -05:00
bunnei
f88b7061c8
Merge pull request #806 from lioncash/friend
...
friend: Deduplicate interfaces
2018-07-24 17:42:16 -07:00
bunnei
8bf43a9939
Merge pull request #810 from Subv/r16
...
GPU: Implemented the R16 and R16F texture formats.
2018-07-24 17:41:02 -07:00
bunnei
59a41b585e
Merge pull request #805 from lioncash/sign
...
svc: Resolve sign comparison warnings in WaitSynchronization()
2018-07-24 12:50:03 -07:00
Subv
3b77420f15
GPU: Remove the assert that required the CODE_ADDRESS to be 0.
...
Games usually just leave it at 0 but nouveau sets it to something else. This already works fine, the assert is useless.
2018-07-24 13:54:12 -05:00
Subv
d10cc9c548
GPU: Implemented the R16 and R16F texture formats.
2018-07-24 13:39:16 -05:00
Lioncash
6bbabfe848
gl_rasterizer: Replace magic number with GL_INVALID_INDEX in SetupConstBuffers()
...
This is just the named constant that OpenGL provides, so we can use that
instead of using a literal -1
2018-07-24 12:24:49 -04:00
Lioncash
7300872843
gl_rasterizer: Use std::string_view instead of std::string when checking for extensions
...
We can avoid heap allocations here by just using a std::string_view
instead of performing unnecessary copying of the string data.
2018-07-24 12:10:37 -04:00
Lioncash
2aa1ec7f8d
gl_rasterizer: Use in-class member initializers where applicable
...
We can just assign to the members directly in these cases.
2018-07-24 12:08:12 -04:00
Lioncash
4cab632ba6
video_core/memory_manager: Replace a loop with std::array's fill() function in PageSlot()
...
We already have a function that does what this code was doing, so let's
use that instead.
2018-07-24 11:56:30 -04:00
Lioncash
38ad89a19b
video_core/memory_manager: Avoid repeated unnecessary page slot lookups
...
We don't need to keep calling the same function over and over again in a
loop, especially when the behavior is slightly non-trivial. We can just
keep a reference to the looked up location and do all the checking and
assignments based off it instead.
2018-07-24 11:19:54 -04:00
Lioncash
8dd50ecfb6
deconstructed_rom_directory: Remove unused FindRomFS() function
2018-07-24 10:54:07 -04:00
Lioncash
7449b47e7f
friend: Add friend:m, friend:s, and friend:v services
...
Given we already have friend:a and friend:u, we should add the remaining
services as well.
2018-07-24 10:26:01 -04:00
Lioncash
4ac9553a75
friend/interface: Add missing CreateDaemonSuspendSessionService() to the function handler table
2018-07-24 10:24:16 -04:00
Lioncash
a8473054f0
friend: Deduplicate interfaces
2018-07-24 10:21:51 -04:00
Lioncash
46a1bbceea
svc: Resolve sign comparison warnings in WaitSynchronization()
...
The loop's induction variable was signed, but we were comparing against
an unsigned variable.
2018-07-24 09:55:17 -04:00
Lioncash
5bd30caa5c
svc: Log parameters in SetMemoryAttribute()
...
Provides slightly more context than only logging out the address value.
2018-07-24 09:46:46 -04:00
bunnei
6da26bfccb
Merge pull request #798 from lioncash/const
...
arm_dynarmic: Make MakeJit() a const member function
2018-07-24 04:48:06 -07:00
bunnei
ef04b499ea
Merge pull request #797 from lioncash/explicit
...
core: Make converting constructors explicit where applicable
2018-07-24 04:47:26 -07:00
bunnei
e6abd9a13b
Merge pull request #795 from lioncash/decl
...
apm/interface: Remove redundant declaration of InstallInterfaces()
2018-07-24 04:46:41 -07:00
bunnei
a0873add99
Merge pull request #799 from Subv/tex_r32f
...
GPU: Implement texture format R32F.
2018-07-24 04:46:07 -07:00
bunnei
070b662525
Merge pull request #794 from lioncash/ref
...
mutex: Pass SharedPtr to GetHighestPriorityMutexWaitingThread() by reference
2018-07-24 04:45:34 -07:00
bunnei
2216f26593
Merge pull request #796 from bunnei/gl-uint
...
maxwell_to_gl: Implement VertexAttribute::Type::UnsignedInt.
2018-07-24 04:44:56 -07:00
bunnei
f8a5e5fef3
Merge pull request #789 from bunnei/tex-wrap-border
...
maxwell_to_gl: Implement Texture::WrapMode::Border.
2018-07-24 04:44:37 -07:00
Lioncash
bf002d355b
time: Simplify interface creation
...
We can use one instance of the interface instead of duplicating code.
2018-07-24 06:21:27 -04:00
MerryMage
672d7dd573
core_timing: Split off utility functions into core_timing_util
2018-07-24 11:03:24 +01:00
MerryMage
86834affbb
CMakeLists: Sort filenames
2018-07-24 11:02:53 +01:00
Lioncash
8bfaf576fb
wait_tree: Silence warning about all code paths not returning a value
...
If code execution hits this spot, something has gone very wrong, so mark
the path as unreachable. This silences a warning on MSVC.
2018-07-24 04:06:55 -04:00
Lioncash
01efb33957
set_sys: Implement SetColorSetId()
2018-07-24 00:48:16 -04:00
Lioncash
506fb32dd5
ipc_helper: Add helper member function for popping enum values to RequestParser
2018-07-24 00:47:51 -04:00
bunnei
f493b53c86
Merge pull request #793 from lioncash/priv
...
ipc_helpers: Make member variables of ResponseBuilder private
2018-07-23 21:23:27 -07:00
bunnei
bbc63c6f29
Merge pull request #785 from lioncash/fs
...
partition_filesystem: Use std::move where applicable
2018-07-23 20:36:59 -07:00
bunnei
772c408826
gl_rasterizer: Implement texture border color.
2018-07-23 23:34:42 -04:00
bunnei
a5062c345f
maxwell_to_gl: Implement Texture::WrapMode::Border.
2018-07-23 23:34:41 -04:00
Subv
3a80e8ab24
GPU: Implement texture format R32F.
2018-07-23 22:21:31 -05:00
Lioncash
75c3f87d24
arm_dynarmic: Make MakeJit() a const member function
...
This functions doesn't modify instance state, so it can be a made a
const member function.
2018-07-23 23:19:37 -04:00
Lioncash
88f34a5b96
core: Make converting constructors explicit where applicable
...
Avoids unwanted implicit conversions. Thankfully, given the large amount
of cleanup in past PRs, only this tiny amount is left over to cover.
2018-07-23 23:13:22 -04:00
bunnei
c324ea103c
Merge pull request #791 from bunnei/rg32f-rgba32f-bgra8
...
gl_rasterizer_cache: Implement formats BGRA8_UNORM/RGBA32_FLOAT/RG32_FLOAT
2018-07-23 20:13:19 -07:00
bunnei
295d3104fb
maxwell_to_gl: Implement VertexAttribute::Type::UnsignedInt.
2018-07-23 23:12:14 -04:00
bunnei
15f87717ca
Merge pull request #792 from lioncash/retval
...
gl_shader_decompiler: Correct return value of WriteTexsInstruction()
2018-07-23 20:06:48 -07:00
Lioncash
592a444838
apm/interface: Remove redundant declaration of InstallInterfaces()
...
This is already declared in apm/apm.h
2018-07-23 23:01:04 -04:00
Lioncash
ecc4f5065a
mutex: Pass SharedPtr to GetHighestPriorityMutexWaitingThread() by reference
...
The pointed to thread's members are simply observed in this case, so we
don't need to copy it here.
2018-07-23 22:54:35 -04:00
bunnei
236789a321
Merge pull request #790 from bunnei/shader-print-instr
...
gl_shader_decompiler: Print instruction value in shader comments.
2018-07-23 19:48:47 -07:00
bunnei
f2fc9c5284
Merge pull request #788 from bunnei/shader-check-zero
...
gl_shader_decompiler: Check if SetRegister result is ZeroIndex.
2018-07-23 19:44:05 -07:00
Zach Hilman
bd410ce242
VFS Regression and Accuracy Fixes ( #776 )
...
* Regression and Mode Fixes
* Review Fixes
* string_view correction
* Add operator& for FileSys::Mode
* Return std::string from SanitizePath
* Farming Simulator Fix
* Use != With mode operator&
2018-07-23 19:40:35 -07:00
Lioncash
a15433c2a9
hle_ipc: Make constructors explicit where applicable
2018-07-23 22:40:24 -04:00
Lioncash
97ce8f0457
gl_shader_decompiler: Correct return value of WriteTexsInstruction()
...
This should be returning void, not a std::string
2018-07-23 22:31:58 -04:00
Lioncash
1c25b997e8
ipc_helpers: Make member variables of ResponseBuilder private
...
These aren't used externally at all, so they can be made private.
2018-07-23 22:29:07 -04:00
bunnei
3bf9b59021
Merge pull request #787 from bunnei/tlds
...
gl_shader_decompiler: Implement shader instruction TLDS.
2018-07-23 19:14:01 -07:00
bunnei
a7b90e00bf
Merge pull request #786 from lioncash/exclusive
...
exclusive_monitor: Use consistent type alias for u64
2018-07-23 19:11:05 -07:00
bunnei
a96c899ec9
Merge pull request #784 from lioncash/loader
...
loader: Minor cleanup
2018-07-23 19:08:12 -07:00
bunnei
77c1923b40
Merge pull request #783 from lioncash/linker
...
linker: Remove unused parameter from WriteRelocations()
2018-07-23 19:07:22 -07:00
bunnei
4dae32a7b9
Merge pull request #782 from lioncash/file
...
loader/nro: Minor changes
2018-07-23 19:06:30 -07:00
bunnei
567ae2ae9c
gl_shader_decompiler: Implement shader instruction TLDS.
2018-07-23 22:02:51 -04:00
bunnei
9981de78e8
Merge pull request #781 from lioncash/decl
...
gl_shader_decompiler: Simplify GetCommonDeclarations()
2018-07-23 18:30:23 -07:00
bunnei
1a6fe993da
Merge pull request #780 from lioncash/move
...
vi: Minor changes
2018-07-23 18:29:11 -07:00
bunnei
85a40f8fef
Merge pull request #779 from lioncash/shared
...
hle: Remove unused config_mem and shared_page source files
2018-07-23 18:28:45 -07:00
bunnei
889da74c9d
gl_rasterizer_cache: Implement RenderTargetFormat RG32_FLOAT.
2018-07-23 21:22:54 -04:00
bunnei
c8cb44909a
gl_rasterizer_cache: Implement RenderTargetFormat RGBA32_FLOAT.
2018-07-23 21:22:53 -04:00
bunnei
e1ffcc6817
gl_rasterizer_cache: Implement RenderTargetFormat BGRA8_UNORM.
2018-07-23 21:22:44 -04:00
bunnei
ff355e7684
gl_rasterizer_cache: Add missing log statements.
2018-07-23 21:20:09 -04:00
bunnei
04cf719b92
gl_shader_decompiler: Print instruction value in shader comments.
2018-07-23 21:11:05 -04:00
bunnei
658f096c03
gl_shader_decompiler: Check if SetRegister result is ZeroIndex.
2018-07-23 21:08:40 -04:00
Lioncash
78051d5378
exclusive_monitor: Use consistent type alias for u64
...
Uses the same type aliases we use for virtual addresses, and converts
one lingering usage of std::array<uint64_t, 2> to u128 for consistency.
2018-07-23 20:54:57 -04:00
Lioncash
6904f9f6b1
partition_filesystem: Use std::move where applicable
...
Avoids copying a std::string instance and avoids unnecessary atomic
reference count incrementing and decrementing.
2018-07-23 20:27:11 -04:00
Lioncash
204ed73e8c
loader: Remove unnecessary constructor call in IdentifyFile()
...
RealVfsFile inherits from VfsFile, the instance from std::make_shared is
already compatible with the function argument type, making the copy
constructor call unnecessary.
2018-07-23 17:44:58 -04:00
Lioncash
d5a96f2c94
linker: Remove unused parameter from WriteRelocations()
...
is_jump_relocation is never used within the function, so we can just
remove it.
2018-07-23 17:40:12 -04:00
Lioncash
3a72ee5fec
nro: Replace inclusion with a forward declaration
...
It's sufficient to use a forward declaration instead of a direct
inclusion here.
2018-07-23 17:29:02 -04:00
Lioncash
a2c69eb949
nro: Make bracing consistent
...
Makes the code more uniform, and also braces cases where the body of an
unbraced conditional travels more than one line.
2018-07-23 17:24:29 -04:00
Lioncash
6fd1615b93
nro: Make constructor explicit
...
Makes it consistent with the other Apploader constructors, and prevents
implicit conversions.
2018-07-23 17:20:33 -04:00
Lioncash
df82410454
nro: Remove unused forward declaration
...
This isn't used anywhere in the header.
2018-07-23 17:19:42 -04:00
bunnei
de2a8eb52f
Merge pull request #695 from DarkLordZach/nro-asset
...
NRO Assets and NACP File Format
2018-07-23 14:14:11 -07:00
Lioncash
71c3648ad6
gl_shader_decompiler: Simplify GetCommonDeclarations()
2018-07-23 17:11:18 -04:00
Lioncash
6e39fa5950
vi: Add std::is_trivially_copyable checks to Read and Write functions
...
It's undefined behavior to memcpy an object that isn't considered
trivially copyable, so put a compile-time check in to make sure this
doesn't occur.
2018-07-23 14:53:54 -04:00
Lioncash
dab340a3b3
vi: std::move std::vector in constructors where applicable
...
Allows avoiding unnecessary copies of the vector depending on the
calling code.
While we're at it, remove a redundant no-parameter base constructor call
2018-07-23 14:49:54 -04:00
Lioncash
ec38b938da
hle: Remove config_mem.h/.cpp
...
This is just an unused hold-over from citra, so we can get rid of this
to trim off an exposed global, among other things.
2018-07-23 12:57:34 -04:00
Lioncash
aba0f5452d
hle: Remove shared_page.h/.cpp
...
This is a holdover from citra that's essentially unused.
2018-07-23 12:53:07 -04:00
Lioncash
f53d6ee0bc
set: Add missing log call in GetAvailableLanguageCodeCount()
...
Forgot to include this in 2c22e4be19
2018-07-23 12:37:42 -04:00
bunnei
112b7d1ee6
Merge pull request #775 from lioncash/str
...
string_util: Minor changes
2018-07-23 09:34:41 -07:00
Zach Hilman
ac0c52dd5f
NRO Assets and NACP file format
...
Cleanup
Review fixes
2018-07-23 12:34:26 -04:00
bunnei
b9cd9365c6
Merge pull request #777 from lioncash/lang
...
set: Amend return value of GetAvailableLanguageCodes()
2018-07-23 09:34:08 -07:00
Lioncash
2c22e4be19
set: Implement GetAvailableLanguageCodeCount()
...
This just returns the size of the language code buffer.
2018-07-23 00:29:40 -04:00
Lioncash
6b4ed7cf2f
set: Correct return code size of value in GetAvailableLanguageCodes()
...
The return code should be 32-bit in size.
2018-07-23 00:29:22 -04:00
bunnei
ee26b9541e
Merge pull request #769 from bunnei/shader-mask-fixes
...
shader_bytecode: Implement other TEXS masks.
2018-07-22 18:03:31 -07:00
Lioncash
54b477c4f9
string_util: Get rid of separate resize() in CPToUTF16(), UTF16ToUTF8(), CodeToUTF8() and UTF8ToUTF16()
...
There's no need to perform the resize separately here, since the
constructor allows presizing the buffer.
Also move the empty string check before the construction of the string
to make the early out more straightforward.
2018-07-22 16:39:21 -04:00
Lioncash
cd09896057
string_util: Use emplace_back() in SplitString() instead of push_back()
...
This is equivalent to doing:
push_back(std::string(""));
which is likely not to cause issues, assuming a decent std::string
implementation with small-string optimizations implemented in its
design, however it's still a little unnecessary to copy that buffer
regardless. Instead, we can use emplace_back() to directly construct the
empty string within the std::vector instance, eliminating any possible
overhead from the copy.
2018-07-22 15:36:32 -04:00
Lioncash
7b00b5c322
string_util: Remove unnecessary std::string instance in TabsToSpaces()
...
We can just use the variant of std::string's replace() function that can
replace an occurrence with N copies of the same character, eliminating
the need to allocate a std::string containing a buffer of spaces.
2018-07-22 15:35:48 -04:00
bunnei
fd7888e3f5
Merge pull request #774 from Subv/atomic_signal
...
Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real kernel.
2018-07-22 12:26:03 -07:00
bunnei
5ae803cdab
Merge pull request #773 from Subv/gl_ext_check
...
Frontend: Check for more required OpenGL extensions during startup.
2018-07-22 11:47:07 -07:00
bunnei
349e7974a5
Merge pull request #768 from lioncash/string-view
...
file_util, vfs: Use std::string_view where applicable
2018-07-22 11:32:28 -07:00
Subv
e9639ffafa
Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real kernel.
2018-07-22 12:27:24 -05:00
bunnei
8a3ae169e9
Merge pull request #770 from lioncash/construct
...
gl_shader_decompiler: Remove redundant Subroutine construction in AddSubroutine()
2018-07-22 10:24:20 -07:00
Subv
555a0638ec
Frontend: Check for more required OpenGL extensions during startup.
2018-07-22 12:05:38 -05:00
MerryMage
34bf2dbf68
Implement exclusive monitor
2018-07-22 15:55:17 +01:00
Lioncash
db185e6950
gl_shader_decompiler: Remove redundant Subroutine construction in AddSubroutine()
...
We don't need to toss away the Subroutine instance after the find() call
and reconstruct another instance with the same data right after it.
Particularly give Subroutine contains a std::set.
2018-07-22 03:30:35 -04:00
bunnei
392383692c
shader_bytecode: Implement other TEXS masks.
2018-07-22 03:23:15 -04:00
Lioncash
2cbc2717e4
vfs: Correct file_p variable usage within InterpretAsDirectory()
...
ReplaceFileWithSubdirectory() takes a VirtualFile and a VirtualDir, but
it was being passed a string as one of its arguments. The only reason
this never caused issues is because this template isn't instantiated
anywhere yet.
This corrects an issue before it occurs.
2018-07-22 03:22:28 -04:00
Lioncash
861405d6c0
file_util, vfs: Use std::string_view where applicable
...
Avoids unnecessary construction of std::string instances where
applicable.
2018-07-22 03:22:21 -04:00
bunnei
0605fbbfeb
Merge pull request #765 from lioncash/file
...
file_util: Remove goto usages from Copy()
2018-07-22 00:03:35 -07:00
bunnei
30b1afcf99
Merge pull request #767 from bunnei/shader-cleanup
...
gl_shader_decompiler: Remove unused state tracking and minor cleanup.
2018-07-22 00:03:17 -07:00
bunnei
e04ea2bcef
Merge pull request #766 from bunnei/shader-sel
...
gl_shader_decompiler: Implement SEL instruction.
2018-07-21 23:13:27 -07:00
bunnei
aaac8c5a00
Merge pull request #764 from lioncash/move
...
file_util: Minor changes to ScanDirectoryTree() and ForeachDirectoryEntry()
2018-07-21 22:05:30 -07:00
bunnei
e8f619cc71
gl_shader_decompiler: Remove unused state tracking and minor cleanup.
2018-07-22 01:00:44 -04:00
bunnei
3a6bad38b6
gl_shader_decompiler: Implement SEL instruction.
2018-07-22 00:37:12 -04:00
Lioncash
5440a4a9d9
file_util: Remove goto usages from Copy()
...
We can just leverage std::unique_ptr to automatically close these for us
in error cases instead of jumping to the end of the function to call
fclose on them.
2018-07-21 23:08:55 -04:00
Lioncash
574be087d4
file_util: Use a u64 to represent number of entries
...
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
2018-07-21 22:42:08 -04:00
Lioncash
2684cc586e
file_util: std::move FST entries in ScanDirectoryTree()
...
Avoids unnecessary copies when building up the FST entries.
2018-07-21 22:31:44 -04:00
bunnei
f4101aeacc
gl_rasterizer_cache: Blit surfaces on recreation instead of flush and load.
2018-07-21 21:51:06 -04:00
bunnei
def372de50
gl_rasterizer_cache: Use GPUVAddr as cache key, not parameter set.
2018-07-21 21:51:06 -04:00
bunnei
b00904f10e
gl_rasterizer_cache: Use zeta_width and zeta_height registers for depth buffer.
2018-07-21 21:51:06 -04:00
bunnei
602ff24d5c
gl_rasterizer: Use zeta_enable register to enable depth buffer.
2018-07-21 21:51:06 -04:00
bunnei
6d96a4fc0a
maxwell_3d: Add depth buffer enable, width, and height registers.
2018-07-21 21:51:05 -04:00
bunnei
6602b23676
Merge pull request #759 from lioncash/redundant
...
file_util: Remove redundant duplicate return in GetPathWithoutTop()
2018-07-21 18:50:38 -07:00
bunnei
9ae3e4413f
Merge pull request #748 from lioncash/namespace
...
video_core: Use nested namespaces where applicable
2018-07-21 18:50:14 -07:00
bunnei
fae0eaf7c6
Merge pull request #758 from lioncash/sync
...
common: Remove synchronized_wrapper.h
2018-07-21 18:30:31 -07:00
bunnei
0bb774f069
Merge pull request #760 from lioncash/path
...
file_util: Use an enum class for GetUserPath()
2018-07-21 18:30:04 -07:00
Subv
c4bfd25a6a
GPU: Implement the NVGPU_IOCTL_CHANNEL_KICKOFF_PB ioctl2 command.
...
This behaves quite similarly to the SubmitGPFIFO command. Referenced from Ryujinx.
Many thanks to @gdkchan for investigating this!
2018-07-21 15:50:02 -05:00
Lioncash
85ca923ed4
file_util: Use an enum class for GetUserPath()
...
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.
We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
2018-07-21 16:21:19 -04:00
Lioncash
478a19a774
file_util: Remove explicit type from std::min() in GetPathWithoutTop()
...
Given both operands are the same type, there won't be an issue with
overload selection that requires making this explicit.
2018-07-21 15:19:32 -04:00
Lioncash
32dde02a89
file_util: Remove redundant duplicate return in GetPathWithoutTop()
2018-07-21 15:18:23 -04:00