bunnei
232b0d9d2a
Merge pull request #1156 from Lakumakkara/lop3
...
gl_shader_decompiler: Implement LOP3
2018-08-23 02:16:49 -04:00
David Marcec
eccc77a8c8
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
74e08b4800
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
c5ea6db02d
Merge pull request #1137 from lioncash/namespace
...
renderer_opengl: Namespace OpenGL code
2018-08-22 18:14:48 -04:00
Lioncash
12ba80a86c
gl_shader_gen: Make ShaderSetup's constructor explicit
...
Prevents implicit conversions.
2018-08-22 17:04:44 -04:00
Lioncash
1fd979f50a
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
b2ca8089ce
more fixes
2018-08-23 00:01:40 +03:00
Laku
e70a3c5a5d
fixes
2018-08-22 21:33:32 +03:00
Lioncash
dd35b4b18a
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
4877e6c2f6
remove debug logging
2018-08-22 11:45:28 +03:00
Laku
8e8326595f
implement lop3
2018-08-22 10:09:44 +03:00
tech4me
8ce02d85e9
config: Fixed icon size get set to 0
2018-08-21 22:36:29 -07:00
bunnei
b38d67d940
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
cea627b0fc
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
5abf71fe65
Merge pull request #1154 from OatmealDome/topology-lines
...
maxwell_to_gl: Implement PrimitiveTopology::Lines
2018-08-22 01:08:34 -04:00
bunnei
eef0c93643
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
125d7122ac
Merge pull request #1124 from Subv/logic_ops
...
GPU: Implemented logic ops.
2018-08-22 01:05:25 -04:00
OatmealDome
ad1220e1b3
maxwell_to_gl: Implement PrimitiveTopology::Lines
...
Used by Splatoon 2's debug menu.
2018-08-22 01:01:06 -04:00
bunnei
92b85fad70
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
cb8b371570
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
15cc34b93e
Added missing include for pl:u
...
Should fix any compile errors
2018-08-22 12:39:52 +10:00
David
99fc32428a
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
d63b1d21f1
Revert "Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions."
...
- This reverts commit 3ef4b3d4b4
.
- 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
ac68c8a605
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
c2695aa2eb
Merge pull request #1146 from lioncash/am
...
am: Utilize std::array within PopLaunchParameter()
2018-08-21 18:00:06 -04:00
bunnei
16b83fac9b
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
a0e2bd85a5
shader_bytecode: Parenthesize conditional expression within GetTextureType()
...
Resolves a -Wlogical-op-parentheses warning.
2018-08-21 15:08:35 -04:00
Lioncash
29ac15d1b8
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
0057a47e41
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
5a53d75313
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
8dd9cb98ce
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
c95c4442e9
Merge pull request #1143 from lioncash/inc
...
sdmc_factory: Remove unnecessary core include
2018-08-21 10:22:29 -04:00
bunnei
37f2ec6fc2
Merge pull request #1139 from lioncash/bitfield
...
bit_field: Convert ToBool() into explicit operator bool
2018-08-21 10:21:19 -04:00
bunnei
624239ed6b
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
3f4fb4b037
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
bfb28c5b3f
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
f2d5b100c2
Port #3902 from Citra: "Add restart hotkey & menu option"
2018-08-21 13:24:55 +02:00
fearlessTobi
6923ecee3a
Port #4056 from Citra: "Add Clear Recent Files menu action"
2018-08-21 13:12:45 +02:00
Lioncash
36090521ce
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
cc71832b19
qt/main: Port part of citra( #3411 ), open savedata works
2018-08-21 02:04:33 -07:00
bunnei
bf89a99839
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
79243b6fa0
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
b0f7713fce
Merge pull request #1132 from Subv/gl_FragDepth
...
Shaders: Implement depth writing in fragment shaders.
2018-08-21 01:17:53 -04:00
bunnei
8c9abe1d41
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
ca58929eb0
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
523e4be02c
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
fde3b1b6f2
Merge pull request #1133 from lioncash/guard
...
gl_stream_buffer: Add missing header guard
2018-08-20 23:37:55 -04:00
Lioncash
477eee3993
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
93a4097e9d
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
e3bddf8137
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
c4ce7e456a
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
e33452f7e8
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
5aaee2ff8d
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
2ae88feea7
shader_bytecode: Replace some UNIMPLEMENTED logs.
2018-08-20 21:53:49 -04:00
bunnei
16db8b9d9f
gl_shader_decompiler: Implement Texture3D for TEXS.
2018-08-20 21:53:18 -04:00
bunnei
948002635f
gl_shader_decompiler: Implement TextureCube for TEX.
2018-08-20 21:53:00 -04:00
bunnei
ea99819f37
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
eac3cf301c
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
fc5b489b0f
Shaders: Log and crash when using an unimplemented texture type in a texture sampling instruction.
2018-08-20 20:44:56 -05:00
bunnei
19b05c3f55
Merge pull request #1122 from lioncash/acc
...
acc/profile_manager: General cleanup
2018-08-20 20:54:34 -04:00
Lioncash
96463d0a55
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
dd70ddad7e
Merge pull request #1095 from DarkLordZach/sysarchives
...
filesystem: Add support for loading of system archives
2018-08-20 20:17:57 -04:00
Lioncash
b5fb246a99
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
609cb04f3f
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
eb88fedc5d
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
f5b132676f
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
0fcdf37917
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
350f6e0aa4
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
9d8f19d7bf
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
38cd4e9c61
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
f9a26d468c
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
1277556c69
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
dfdf4a46fe
profile_manager: Remove unnecessary static
...
This can just be constexpr like the others
2018-08-20 19:48:57 -04:00
Lioncash
69dd37d874
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
f13a66b963
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
2b9eee4d1e
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
b1d238bbb8
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
f24ab6d9e6
GLState: Allow enabling/disabling GL_COLOR_LOGIC_OP independently from blending.
2018-08-20 18:43:11 -05:00
Lioncash
46ef072cf9
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
6bcdf37d4f
GPU: Added registers for the logicop functionality.
2018-08-20 18:42:36 -05:00
Lioncash
bc16f7f3cc
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
ba8ff096fd
Port #3353 from Citra
2018-08-21 01:14:06 +02:00
Subv
7784ce1854
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
e8cb6f5c9b
registration: Add Data_Unknown5 NCAContentType
2018-08-20 17:34:18 -04:00
Lioncash
9e9a4bb3a7
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
d7c68fbb12
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
3fe77be392
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
028d90eb79
Merge pull request #1104 from Subv/instanced_arrays
...
GLRasterizer: Implemented instanced vertex arrays.
2018-08-20 14:32:50 -04:00
bunnei
296e57fa0e
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
b20ed93884
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
185b35bfcd
Merge pull request #1117 from ogniK5377/CheckFreeCommunicationPermission
...
Added CheckFreeCommunicationPermission
2018-08-20 11:00:26 -04:00
bunnei
943771e703
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
ce4b77bd7d
Merge pull request #1120 from ogniK5377/rgba8-uint
...
Implemented RGBA8_UINT
2018-08-20 10:54:51 -04:00
David Marcec
23d45715dc
Implemented RGBA8_UINT
...
Needed by kirby
2018-08-20 22:26:54 +10:00
Lioncash
ffd60ee476
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
8a88110060
Added CheckFreeCommunicationPermission
...
This fixes save files not loading in splatoon 2
2018-08-20 18:14:49 +10:00
Subv
6cf719a4ab
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
51ddb130c5
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
9b17486be6
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
0a1d4fbc5c
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
f7edbcd7a3
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
b0eb580931
Merge pull request #1102 from ogniK5377/mirror-clamp-edge
...
Added WrapMode MirrorOnceClampToEdge
2018-08-19 13:59:41 -04:00
bunnei
85da529f15
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
7fb406c3fc
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
3ef4b3d4b4
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
73b937b190
Shader: Added bitfields for the texture type of the various sampling instructions.
2018-08-19 12:57:51 -05:00
Subv
656758fd81
Shaders: Added decodings for TLD4 and TLD4S
2018-08-19 12:57:08 -05:00
bunnei
29d4f8c2dd
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
9baf5de90c
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
1b92ae136f
Shaders: Added decodings for the LDG and STG instructions.
2018-08-19 00:46:34 -05:00
Subv
731701a2d2
Shaders: Implemented the gl_FrontFacing input attribute (attr 63).
2018-08-19 00:14:34 -05:00
David Marcec
706fc5d2d6
Added check to see if ARB_texture_mirror_clamp_to_edge is supported
2018-08-19 12:00:33 +10:00
Zach Hilman
27da7bc9da
filesystem: Add support for loading of system archives
2018-08-18 21:28:23 -04:00
Subv
9b1c49a9cf
Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions.
2018-08-18 14:48:05 -05:00
Subv
e0f66c1fbf
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
8335b2f115
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
71cc482bbd
Added WrapMode MirrorOnceClampToEdge
...
Used by splatoon 2
2018-08-19 02:26:50 +10:00
Subv
ff358d97e8
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
2e95ba2e9c
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
63dff47e22
Added predcondition GreaterThanWithNan
2018-08-18 17:49:59 +10:00
bunnei
504cff2b7a
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
804aebf7c7
Merge pull request #1097 from bunnei/gl-critical
...
renderer_opengl: Treat OpenGL errors as critical.
2018-08-17 10:39:13 -04:00
greggameplayer
2003771789
Implement SetIdleTimeDetectionExtension & GetIdleTimeDetectionExtension ( #1059 )
...
* Used by Mario Tennis Aces
2018-08-17 00:23:08 -04:00
bunnei
f246fd778d
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
1db7839f11
Merge pull request #1091 from lioncash/warning
...
qt/main: Get rid of compilation warnings
2018-08-17 00:19:05 -04:00
bunnei
224be09d66
Merge pull request #1093 from greggameplayer/GetDefaultDisplayResolutionChangeEvent
...
Implement GetDefaultDisplayResolutionChangeEvent
2018-08-17 00:18:35 -04:00
bunnei
e341d868ee
gl_rasterizer_cache: Remove asserts for supported blits.
2018-08-17 00:10:08 -04:00
bunnei
da7226442f
renderer_opengl: Treat OpenGL errors as critical.
2018-08-17 00:09:27 -04:00
bunnei
727136a9c9
Merge pull request #1019 from Subv/vertex_divisor
...
Rasterizer: Manually implemented instanced rendering.
2018-08-17 00:07:06 -04:00
bunnei
0d9b3e425e
Merge pull request #1087 from MerryMage/dynarmic
...
dynarmic: Update to 550d662
2018-08-16 18:07:11 -04:00
bunnei
ce56b8e1fa
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
cef35e7c9c
correct coding style
2018-08-16 23:46:06 +02:00
greggameplayer
928e78dced
Implement GetDefaultDisplayResolutionChangeEvent
...
Require by Toki Tori and Toki Tori 2+
2018-08-16 23:25:54 +02:00
bunnei
3fd78f4d24
Merge pull request #1085 from lioncash/namespace
...
common: Namespace hex_util.h/.cpp
2018-08-16 11:54:42 -04:00
Lioncash
9791f0d590
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
2a3d7128d1
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
aac807fd3a
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
a0ce6de913
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
94329038b6
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
24a759de4a
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
b39cd70cd4
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
c594ec3417
Merge pull request #1005 from DarkLordZach/registered-fmt
...
file_sys: Add support for registration format
2018-08-15 23:11:58 -04:00
bunnei
89c3d6a2a3
gl_rasterizer_cache: Treat Depth formats differently from DepthStencil.
2018-08-15 21:24:04 -04:00
bunnei
c00b374e78
Merge pull request #1078 from lioncash/message
...
lm: Handle threads and modules within the logger
2018-08-15 18:53:47 -04:00
bunnei
69236e5aff
Merge pull request #1079 from lioncash/fmt
...
loader: Make ResultStatus directly compatible with fmt
2018-08-15 18:25:57 -04:00
bunnei
1dd27aff47
Merge pull request #1051 from B3n30/UnscheduleEventThreadsafe
...
Core::CoreTiming: add UnscheduleEventThreadsafe
2018-08-15 18:25:30 -04:00
bunnei
cee6a7ab55
Merge pull request #1080 from lioncash/ret
...
sm/controller: Correct return value of QueryPointerBufferSize
2018-08-15 18:25:05 -04:00
bunnei
a2fa37b499
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
f96de510ee
Merge pull request #1081 from lioncash/convert
...
kernel/server_session: Add IsSession() member function
2018-08-15 13:02:25 -04:00
Subv
91140f6c0a
Shader/Conversion: Implemented the negate bit in F2F and I2I instructions.
2018-08-15 09:27:43 -05:00
Subv
38592a3b5e
Shader/I2F: Implemented the negate I2F_C instruction variant.
2018-08-15 09:25:02 -05:00
Subv
40ecdda19e
Shader/F2I: Implemented the negate bit in the I2F instruction
2018-08-15 09:18:55 -05:00
Subv
5ef447cc0e
Shader/F2I: Implemented the F2I_C instruction variant.
2018-08-15 09:16:35 -05:00
Subv
11c221cc62
Shader/F2I: Implemented the negate bit in the F2I instruction.
2018-08-15 09:15:55 -05:00
bunnei
40f83fee6a
Merge pull request #1077 from bunnei/rgba16u
...
gl_rasterizer_cache: Add RGBA16U to PixelFormatFromTextureFormat.
2018-08-15 09:25:15 -04:00
Lioncash
aac5792a2b
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
5752454629
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
87d8a9c986
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
0769aa594e
loader/nca: Remove unnecessary includes and member variables
2018-08-15 01:41:40 -04:00
Lioncash
c8e3f98c27
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
b74df62959
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
e0b0f4eece
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
b1148d269d
gl_rasterizer_cache: Cleanup some PixelFormat names and logging.
2018-08-14 23:31:45 -04:00
Subv
c5284efd4f
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
8599e1e4fc
gl_rasterizer_cache: Add RGBA16U to PixelFormatFromTextureFormat.
...
- Used by Breath of the Wild.
2018-08-14 23:18:34 -04:00
bunnei
3aad82b1a3
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
2a42dea568
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
c8cd1785e6
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
991eb4824c
Merge pull request #1068 from bunnei/g8r8s
...
gl_rasterizer_cache: Implement G8R8S format.
2018-08-14 23:13:43 -04:00
bunnei
301baaa942
Merge pull request #1067 from lioncash/init
...
emu_window: Ensure WindowConfig members are always initialized
2018-08-14 22:43:32 -04:00
bunnei
3db1b8e0cd
Merge pull request #1073 from lioncash/3ds
...
loader: Remove address mapping remnants from citra
2018-08-14 22:43:04 -04:00
bunnei
8f9c49f7ee
Merge pull request #1072 from lioncash/svc
...
kernel/svc: Log svcBreak parameters
2018-08-14 22:42:44 -04:00
bunnei
f009ed63f3
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
6eda9ebbdb
Implement Z16_UNORM in PixelFormatFromTextureFormat function
...
Require by Zelda Breath Of The Wild
2018-08-15 04:14:15 +02:00
bunnei
ad7815a28d
Merge pull request #1054 from zhaowenlan1779/misc-fixup
...
common/misc: use windows.h
2018-08-14 21:47:28 -04:00
bunnei
409d2e07c2
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
96c0b81a51
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
25d71454d1
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
5e66a24423
gl_shader_decompiler: Several fixes for indirect constant buffer loads.
2018-08-14 20:47:50 -04:00
bunnei
290439a6a5
gl_rasterizer: Fix upload size for constant buffers.
2018-08-14 20:44:19 -04:00
bunnei
dc876fd63a
maxwell_to_gl: Properly handle UnsignedInt/SignedInt sizes.
2018-08-14 20:43:02 -04:00
bunnei
d8fd3ef4fe
gl_rasterizer_cache: Implement G8R8S format.
...
- Used by Super Mario Odyssey.
2018-08-14 20:41:49 -04:00
Lioncash
2e715ef70d
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
60f476cd8f
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
6d549abb4e
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
0ce0905380
common/xbyak: Use nested namespace specifiers where applicable
2018-08-14 18:27:27 -04:00
Lioncash
11895d54af
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
d1520410a3
Merge pull request #1055 from lioncash/init
...
audout_u: Correct IAudioOut initializer list order
2018-08-14 08:03:33 -04:00
bunnei
4dacb8a4b1
Merge pull request #1058 from greggameplayer/BC7U_Fix
...
Fix BC7U
2018-08-14 08:03:07 -04:00
bunnei
5b32594fbe
Merge pull request #1050 from bunnei/rgba16-unorm
...
renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.
2018-08-14 08:02:50 -04:00
Lioncash
bc7bfd96f0
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
6bfcf13187
Fix BC7U
2018-08-14 02:36:00 +02:00
Mat M
309564abe3
Merge pull request #1046 from ogniK5377/missing-channels
...
Added missing channel devices
2018-08-13 19:36:26 -04:00
Lioncash
b6c47b578f
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
9d09d92c56
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
57d007e545
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
6e52f37d5b
renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.
...
- Used by Breath of the Wild.
2018-08-13 18:20:07 -04:00
Zhu PengFei
59d18ef55b
common/misc: use windows.h
...
linux-mingw does not really like this.
2018-08-14 04:28:24 +08:00
bunnei
46fbf6dd92
Merge pull request #1052 from ogniK5377/xeno
...
Implement RG32UI and R32UI
2018-08-13 12:31:39 -04:00
bunnei
f19b4fab5f
Merge pull request #1033 from MerryMage/interp
...
audio_core: Interpolate
2018-08-13 12:19:59 -04:00
bunnei
875d52a81f
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
9bf9c71c88
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
fcc5155601
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
45cc022ea9
Implement RG32UI and R32UI
...
Needed for xenoblade
2018-08-13 22:55:16 +10:00
B3n30
eab35c8235
Core::CoreTiming: add UnscheduleEventThreadsafe
2018-08-13 13:56:41 +02:00
MerryMage
01d199965a
audio_renderer: samples_remaining counts frames, not samples
2018-08-13 11:26:50 +01:00
MerryMage
4b44b8b4fb
audio_core: Interpolate
2018-08-13 11:26:50 +01:00
MerryMage
56300f2928
audio_core: Implement low-pass filter
2018-08-13 11:26:50 +01:00
bunnei
e67630b51e
Merge pull request #1032 from lioncash/sanitize
...
vfs: Use sanitized paths within MoveFile() and MoveDirectory()
2018-08-13 01:43:35 -04:00
bunnei
bd14653417
Merge pull request #1031 from lioncash/verbosity
...
card_image: Simplify return statement of GetSubdirectories()
2018-08-13 01:42:07 -04:00
bunnei
2e89719d3e
Merge pull request #1048 from lioncash/atomic
...
kernel/object: Tighten object against data races
2018-08-13 01:41:23 -04:00
bunnei
41b77c4e0a
maxwell_to_gl: Implement VertexAttribute::Size::Size_8.
...
- Used by Breath of the Wild.
2018-08-13 01:34:21 -04:00
Lioncash
3476f5b4d3
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
bdf17fe0cc
renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.
...
- Used by Breath of the Wild.
2018-08-13 00:06:22 -04:00
bunnei
54ef9302a2
Merge pull request #1045 from bunnei/rg8-unorm
...
renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
2018-08-13 00:05:25 -04:00
David Marcec
76fad8410d
Registered missing channel devices
2018-08-13 14:03:50 +10:00
David Marcec
92492ee23b
Added missing channel devices
2018-08-13 14:00:27 +10:00
bunnei
8fe118bcaa
maxwell_to_gl: Implement PrimitiveTopology::LineStrip.
...
- Used by Breath of the Wild.
2018-08-12 23:09:32 -04:00
bunnei
c56a0e3c34
renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
...
- Used by Breath of the Wild.
2018-08-12 23:08:50 -04:00
bunnei
fecffeb0dd
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
9608f51cde
Merge pull request #1036 from lioncash/thread
...
scheduler: Make HaveReadyThreads() a const member function
2018-08-12 22:13:14 -04:00
bunnei
e4ed5bc836
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
de5d431eec
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
8da753ab81
Merge pull request #1040 from bunnei/xmad
...
gl_shader_decompiler: Implement XMAD instruction.
2018-08-12 21:56:40 -04:00
Subv
d923766042
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
a9877c8f65
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
2e7802ad7d
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
3a338d9286
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
84b542c386
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
0135b328ed
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
534abf9d97
gl_shader_decompiler: Implement XMAD instruction.
2018-08-12 18:30:24 -04:00
Subv
5224cc49c4
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
b82b093108
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
cf0a7cd1c1
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
424e90f0f5
Merge pull request #1025 from ogniK5377/bad-cast
...
Fixed invalid cast in loader
2018-08-12 16:22:35 -04:00
bunnei
e12a07079e
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
35e4a47be0
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
fcc5ffdfdd
cubeb_sink: Protect queue with a mutex
2018-08-12 20:41:46 +01:00
bunnei
4cafc24a4e
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
68c44ca0ee
Merge pull request #1028 from ogniK5377/aoa
...
Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
2018-08-12 13:33:08 -04:00
bunnei
e858a72a22
Merge pull request #1034 from lioncash/hid
...
hid: Stub DisconnectNpad()
2018-08-12 13:15:56 -04:00
Lioncash
e850ff63bc
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
11470f331a
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
55c73e10a7
thread_queue_list: Convert typedef to a type alias
2018-08-12 12:47:11 -04:00
Markus Wick
0eb39922f6
gl_rasterizer: Use a shared helper to upload from CPU memory.
2018-08-12 16:10:26 +02:00
Markus Wick
0af7e93763
gl_state: Don't track constant buffer mappings.
2018-08-12 16:10:26 +02:00
Markus Wick
6ff7906ddc
gl_rasterizer: Use the stream buffer for constant buffers.
2018-08-12 16:10:26 +02:00
Markus Wick
ce722e317b
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
6f6bba3ff1
gl_rasterizer: Use a helper for aligning the buffer.
2018-08-12 15:47:35 +02:00
Markus Wick
d7298ec262
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
66f4f86a82
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
63a70c253e
hid: disable clang-format around tables
...
Prevents clang-format from butchering them.
2018-08-12 05:57:33 -04:00
Lioncash
9e74d6238e
hid: Stub DisconnectNpad()
...
This is required by ARMS.
2018-08-12 05:56:28 -04:00
Lioncash
75bba25009
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
7b6519741b
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
d6a1a43854
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
639ebb39f6
gl_shader_decompiler: Fix SetOutputAttributeToRegister empty check.
2018-08-12 02:22:42 -04:00
David Marcec
094f6003e0
Pushed the requested sample rate instead of our fixed sample rate
2018-08-12 14:58:36 +10:00
David Marcec
98b940052c
made ResultStatus a u16
2018-08-12 14:56:22 +10:00
David Marcec
e5ee0afe6f
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
a70ad9b5bb
Merge pull request #1026 from ogniK5377/retro-city-rampage
...
Stub UpdateUserPresence
2018-08-12 00:25:57 -04:00
bunnei
c68aa65226
gl_shader_decompiler: Fix GLSL compiler error with KIL instruction.
2018-08-12 00:06:48 -04:00
David Marcec
ecfbe7d9c8
Stub UpdateUserPresence
...
Needed for Retro City Rampage to go in game
2018-08-12 14:00:44 +10:00
David Marcec
a1fb8a331f
Fixed invalid cast in loader
...
GetMessageForResultStatus takes a u16, not a size_t.
2018-08-12 13:31:15 +10:00
Zach Hilman
6b76b77400
registration: Add support for force overwrite of installed
2018-08-11 23:01:42 -04:00
Zach Hilman
fdf27bf390
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
8f06a0f898
vfs_real: Add CreateFullPath to Create* operations
2018-08-11 22:50:48 -04:00
Zach Hilman
dda8ef11c7
control_metadata: Remove unnecessary reference to base file
2018-08-11 22:50:48 -04:00
Zach Hilman
149bda980a
romfs: Remove cyclic shared_ptr leak in romfs code
2018-08-11 22:50:48 -04:00
Zach Hilman
893447b6b0
registration: Update documentation and style
2018-08-11 22:50:48 -04:00
Zach Hilman
22bdddd6f0
nca_metadata: Remove unnecessary reference to base file
2018-08-11 22:50:48 -04:00
Zach Hilman
62e859c6c7
bis_factory: Create NAND dirs if they don't exist
2018-08-11 22:50:48 -04:00
Zach Hilman
f78a6e752f
qt: Use custom RawCopy with progress bar for installs
2018-08-11 22:50:48 -04:00
Zach Hilman
3b3c919e20
registration: Take RawCopy function as parameter
...
Instead of defaulting to VfsRawCopy
2018-08-11 22:50:48 -04:00
Zach Hilman
10812f8407
game_list: Populate control data from installed NAND
2018-08-11 22:50:48 -04:00
Zach Hilman
e5504a060d
registered_cache: Fix missing reading from yuzu_meta
2018-08-11 22:50:48 -04:00
Zach Hilman
167bfddafa
file_sys: Comply to style guidelines
2018-08-11 22:50:48 -04:00
Zach Hilman
bfb945c243
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
b67e751ccb
game_list: Modify game list to scan installed titles
2018-08-11 22:50:48 -04:00
Zach Hilman
a91983b11c
file_sys: Add RegisteredCache
...
Manages NAND NCA get and install.
2018-08-11 22:50:48 -04:00
Zach Hilman
9aab787122
file_sys: Add support for parsing NCA metadata (CNMT)
2018-08-11 22:50:48 -04:00
Zach Hilman
ab8acce645
card_image: Add accessor for all NCAs in XCI
2018-08-11 22:50:48 -04:00
Zach Hilman
9b0e3556ed
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
c0257cf52f
filesystem: Add Open and Register functions for BISFactory
2018-08-11 22:50:48 -04:00
Zach Hilman
70a510bd8f
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
95bb1067c1
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
5b4119fa7f
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
42114e1df4
vfs: Add ConcatenatedVfsFile
2018-08-11 22:50:08 -04:00
Zach Hilman
a27ec24c0f
crypto: Remove hex utilities from key_manager
...
Move to hex_util.h in common
2018-08-11 22:50:08 -04:00
Zach Hilman
b70a831608
file_util: Add getter for NAND registration directory
2018-08-11 22:50:08 -04:00
Zach Hilman
10aac376d1
common: Move hex string processing to separate file
2018-08-11 22:50:08 -04:00
bunnei
a921d22545
Merge pull request #1022 from bunnei/fix-splat
...
Several Friend service fixes
2018-08-11 22:42:45 -04:00
bunnei
ee07041b3a
Merge pull request #1020 from lioncash/namespace
...
core: Namespace EmuWindow
2018-08-11 22:40:08 -04:00
bunnei
9c977d2215
Merge pull request #1021 from lioncash/warn
...
gl_rasterizer: Silence implicit truncation warning in SetupShaders()
2018-08-11 22:39:46 -04:00
bunnei
f2c7b5dcd6
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
d37da52cb3
Merge pull request #1023 from Subv/invalid_attribs
...
RasterizerGL: Ignore invalid/unset vertex attributes.
2018-08-11 22:18:40 -04:00
Subv
969326bd58
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
224071a652
Implement R8_UINT RenderTargetFormat & PixelFormat ( #1014 )
...
- Used by Go Vacation
2018-08-11 21:44:42 -04:00
Subv
2dad1204e8
RasterizerGL: Ignore invalid/unset vertex attributes.
...
This should make the es2gears example not crash anymore.
2018-08-11 20:36:40 -05:00
bunnei
249341d08f
friend: Stub DeclareCloseOnlinePlaySession.
...
- Used by Splatoon 2.
2018-08-11 21:34:14 -04:00
bunnei
261a4f0311
friend: Fix CreateFriendService to return an IFriendService interface.
2018-08-11 21:29:58 -04:00
bunnei
ca4bf671ce
server_session: Provide more useful information and don't crash on bad IPC request.
2018-08-11 21:15:24 -04:00
Lioncash
28e90fa0e0
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
0a93b45b6a
core: Namespace EmuWindow
...
Gets the class out of the global namespace.
2018-08-11 20:20:21 -04:00
bunnei
403dfd68fc
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
c519354506
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
0b668d5ff3
gl_shader_decompiler: Improve handling of unknown input/output attributes.
2018-08-11 19:26:45 -04:00
bunnei
bc286c169f
Merge pull request #970 from DarkLordZach/loader-errors
...
loader: Add more descriptive errors
2018-08-11 19:25:30 -04:00
bunnei
670a2c1f80
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
88ffa422d4
gl_rasterizer: Implement render target format RG8_SNORM.
...
- Used by Super Mario Odyssey.
2018-08-11 19:06:42 -04:00
bunnei
0471976b48
gl_rasterizer: Implement render target format RGBA8_SNORM.
...
- Used by Super Mario Odyssey.
2018-08-11 18:59:14 -04:00
Subv
c1ad973881
GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY).
2018-08-11 16:00:14 -05:00
Subv
305a05f820
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
d64303d185
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
b8b9f41b6b
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
dfcde52f39
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
10f494eefe
Better UUID randomness
2018-08-12 02:31:43 +10:00
David Marcec
448290bee4
Removed un-needed count from ListOpenUsers and ListAllUsers
2018-08-12 02:11:04 +10:00
David Marcec
2592e41301
Added better explanations in the profile manager
2018-08-12 01:51:31 +10:00
David Marcec
0b6f8ba51e
Code cleanup for profile manager
2018-08-12 01:34:22 +10:00
David Marcec
d0b2950434
Removed const from ProfileBase Invalidate
2018-08-12 00:41:17 +10:00
David Marcec
42431d2aa6
fixed invalid uuid bool operator
2018-08-11 21:29:10 +10:00
David Marcec
b8e70faa2d
Added GetOpenUserCount
2018-08-11 20:45:06 +10:00
David Marcec
662218e997
Removed all for loops from the profile manager
2018-08-11 20:15:59 +10:00
David Marcec
c3013c7c9c
Added missing ListAllUsers count
2018-08-11 20:06:06 +10:00
David Marcec
acff922762
If statement style change
2018-08-11 18:46:42 +10:00
David Marcec
dfea525cbe
Second round of account changes
2018-08-11 18:26:13 +10:00
David Marcec
82fa0bcea7
First round of account changes
2018-08-11 16:47:33 +10:00
David Marcec
6aa8ee6943
Refactored profile manager sharing
2018-08-11 13:17:06 +10:00
David Marcec
b76ddb7647
Merge remote-tracking branch 'origin/master' into better-account
2018-08-11 10:35:47 +10:00
David Marcec
2a3b335b15
Added IsUserRegistrationRequestPermitted
2018-08-11 10:33:11 +10:00
Lioncash
20c2928c2b
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
f380496728
renderer_base: Remove unused kFramebuffer enumeration
...
This is entirely unused and can be removed.
2018-08-10 18:31:13 -04:00
Lioncash
2e80e7480d
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
8eb97706b8
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
aaf671a309
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
be53097577
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
6b0bc48a42
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
...
- Used by Super Mario Odyssey.
2018-08-10 12:47:00 -04:00
bunnei
a5b65df9cf
maxwell_to_gl: Implement VertexAttribute::Size::Size_32_32_32.
...
- Used by Super Mario Odyssey.
2018-08-10 12:46:49 -04:00
bunnei
57626fda7b
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
6313d54cef
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
2156cb3cbe
Revert "gl_state: Temporarily disable culling and depth test."
2018-08-10 10:39:46 -04:00
Zach Hilman
8069fbd37f
game_list: Reorder error checks
...
clang-format fix
2018-08-09 21:37:35 -04:00
Zach Hilman
ec3bef7b4c
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
0e1510ac29
gl_rasterizer_cache: Remove unused viewport parameter of GetFramebufferSurfaces()
2018-08-09 20:55:41 -04:00
Lioncash
b8c43b6080
video_core: Use variable template variants of type_traits interfaces where applicable
2018-08-09 20:45:48 -04:00
bunnei
3a67876252
textures: Refactor out for Texture/Depth FormatFromPixelFormat.
2018-08-09 20:36:03 -04:00
bunnei
6828c25498
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
5191c20b71
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
a91bb7080d
Merge pull request #989 from lioncash/log
...
common/logging: Add missing service log categories
2018-08-09 19:30:14 -04:00
bunnei
69cd213fac
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
05c33d89a1
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
96ef22d3d0
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
e8c52d4c89
gl_rasterizer_cache: Add bounds checking for gl_buffer copies.
2018-08-09 19:20:17 -04:00
bunnei
37e1ed3744
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
75e12a33ae
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
6ef027b958
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
59ea37daa7
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
0bfe974281
Merge pull request #992 from bunnei/declr-pred
...
gl_shader_decompiler: Declare predicates on use.
2018-08-09 14:36:52 -04:00
bunnei
88b18b9ba4
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
b125137493
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
f765a6b902
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
5cb6eceecf
Implement BC5/DXN2 ( #996 )
...
- Used by Kirby Star Allies.
2018-08-09 12:57:13 -04:00
Lioncash
b46a5c42ff
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
ff5024ee2a
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
5c908c0373
Merge pull request #988 from lioncash/color
...
common/color: Minor cleanup
2018-08-09 00:37:32 -04:00
bunnei
c333bfc193
Merge pull request #977 from bunnei/bgr565
...
gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.
2018-08-08 23:43:04 -04:00
Lioncash
e831b80d69
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
434f352eb3
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
4e1471ef21
Don't add user if the uuid already exists
2018-08-09 13:30:58 +10:00
bunnei
5b1b758326
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
dfc3eed0cb
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
06d0b96ca9
maxwell_to_gl: Implement PrimitiveTopology::Points.
...
- Used by Super Mario Odyssey (in game).
2018-08-08 23:28:00 -04:00
bunnei
4283019aa0
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
efe6b473c5
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
557c466994
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
25ba4d1b68
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
668458525e
vfs: Fix documentation
2018-08-08 21:45:04 -04:00
bunnei
2f4f4f147f
Merge pull request #986 from mailwl/acc-loadimage
...
Service/Account: stub LoadImage function
2018-08-08 21:21:06 -04:00
Zach Hilman
94cf327e77
vfs: Fix typo in VfsFilesystem docs
2018-08-08 21:18:45 -04:00
Zach Hilman
2b6128fe0b
file_util: Use enum instead of bool for specifing path behavior
2018-08-08 21:18:45 -04:00
Zach Hilman
dad2ae1ee0
loader: Remove unused IdentifyFile overload
2018-08-08 21:18:45 -04:00
Zach Hilman
656e97df16
vfs: Use RealVfsFilesystem for fs-operations in RealVfsDirectory
2018-08-08 21:18:45 -04:00
Zach Hilman
52a2e42cb9
file_sys: Add missing include in savedata_factory
2018-08-08 21:18:45 -04:00
Zach Hilman
4b471f0554
core: Port core to VfsFilesystem for file access
2018-08-08 21:18:45 -04:00
Zach Hilman
aaa8fdea52
vfs: Add unreachable assert to file permissions converter
2018-08-08 21:18:45 -04:00
Zach Hilman
2de2ec25d6
vfs: Add RealVfsFilesystem implementation
2018-08-08 21:18:45 -04:00
Zach Hilman
3f82dad1e4
file_util: Add platform-specific slash option to SanitizePath
2018-08-08 21:18:45 -04:00
Zach Hilman
3bf488ce52
vfs: Add VfsFilesystem interface and default implementation
2018-08-08 21:18:45 -04:00
Zach Hilman
b36dee364e
filesystem: Remove unnecessary if conditions
2018-08-08 21:18:45 -04:00
bunnei
ddec200290
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
cf917a5e93
Merge pull request #976 from bunnei/shader-imm
...
gl_shader_decompiler: Let OpenGL interpret floats.
2018-08-08 19:17:01 -04:00
bunnei
9ceceb212f
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
9f48454ea9
Merge pull request #978 from bunnei/fixioctl
...
nvhost_gpu: Don't over copy IoctlSubmitGpfifo.
2018-08-08 19:16:14 -04:00
Lioncash
7353cfc781
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
4afb05d0cc
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
cc2526dd51
Merge pull request #985 from bunnei/rt-r11g11b10
...
gpu: Add R11G11B10_FLOAT to RenderTargetBytesPerPixel.
2018-08-08 18:21:34 -04:00
bunnei
096b04f1a4
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
756e1e6f9b
Merge pull request #975 from bunnei/am-stub
...
am: Stub SetScreenShotImageOrientation.
2018-08-08 16:46:45 -04:00
Lioncash
6e90f0bf6a
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
599c011f40
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
5a9c00ea04
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
76197a4be9
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
cc9d7bbf01
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
d224eb7c39
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
fd9da4232b
Merge pull request #850 from DarkLordZach/icon-meta
...
Add Icons and Metadata Support
2018-08-08 12:27:19 -04:00
bunnei
507e6ae100
Merge pull request #968 from lioncash/vec
...
vector_math: Minor cleanups
2018-08-08 12:00:13 -04:00
bunnei
448264e719
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
e9978fd4f5
Open first user added
2018-08-09 01:37:55 +10:00
David Marcec
75169c7570
Inital pass of account backend implementation
...
This commit verified working on puyo
2018-08-09 01:09:12 +10:00
David Marcec
03d7faf583
GetProfileBase and GetProfileBaseAndData added
2018-08-08 23:41:12 +10:00
David Marcec
6f691e71bf
began initial implementation of "ProfileManager"
2018-08-08 22:26:42 +10:00
mailwl
c0d44d3b2a
Service/Account: stub LoadImage function
2018-08-08 14:42:54 +03:00
David Marcec
5f8d253ce0
Switched uuids from u128 to new UUID struct
2018-08-08 21:09:45 +10:00
bunnei
f156a45c01
Merge pull request #972 from lioncash/catch
...
externals: Update catch to 2.3.0
2018-08-08 03:00:57 -04:00
bunnei
6a5d032809
Merge pull request #965 from lioncash/unused-files
...
hle: Remove unused romfs.cpp/.h
2018-08-08 03:00:38 -04:00
bunnei
4941e3d412
Merge pull request #974 from lioncash/acc
...
acc: Add missing function table entries for GetUserCount
2018-08-08 02:56:00 -04:00
bunnei
7bf422d58c
gpu: Add R11G11B10_FLOAT to RenderTargetBytesPerPixel.
...
- Used by Super Mario Odyssey.
2018-08-08 02:42:14 -04:00
mailwl
3c498189b6
hid: fix IsSixAxisSensorAtRest() response
2018-08-08 09:36:23 +03:00
bunnei
7f0d0a93f7
gl_shader_decompiler: Stub input attribute Unknown_63.
2018-08-08 02:35:59 -04:00
bunnei
57982df105
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
8c6338b6f9
renderer_opengl: Use trace log in a few places.
2018-08-08 01:53:23 -04:00
bunnei
c120ed7d18
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
2018-08-08 01:50:53 -04:00
bunnei
0f834e2284
nvhost_gpu: Don't over copy IoctlSubmitGpfifo.
2018-08-08 01:49:47 -04:00
bunnei
aaf8d9ac2f
gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.
...
- Used by Super Mario Odyssey.
2018-08-08 01:48:27 -04:00
bunnei
e542356d0c
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
b7fb9f2071
am: Stub SetScreenShotImageOrientation.
...
- Used by Super Mario Odyssey.
2018-08-08 00:41:35 -04:00
Lioncash
934a2b9604
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
2bc296801a
acc: Stub GetUserCount. ( #973 )
...
- Used by Pokken Tournament DX.
2018-08-07 22:39:12 -04:00
bunnei
80cfd88e4e
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
d378d98e26
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
766c1a2d50
vector_math: Remove unimplemented function prototypes
2018-08-07 21:33:48 -04:00
Lioncash
5c323d96e0
vector_math: Make functions constexpr where applicable
2018-08-07 21:32:05 -04:00
Lioncash
4e3bc37791
vector_math: Convert typedefs to type aliases
2018-08-07 21:15:10 -04:00
Lioncash
a7d6efc520
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
cd1a96f389
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
62b0b83fd8
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
4fa3511a63
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
7139f05fc5
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
1abfd4166e
configure_gamelist: Use explicit QVariant constructor
2018-08-07 17:10:10 -04:00
bunnei
b9829a05be
Merge pull request #920 from DarkLordZach/titlekey
...
content_archive: Add support for titlekey cryptography
2018-08-07 17:01:25 -04:00
bunnei
7ed8565978
Merge pull request #957 from lioncash/event
...
nvflinger: Correct typo in name of composition event
2018-08-07 15:56:51 -04:00
bunnei
6576bc8927
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
2d57cbaec1
Merge pull request #960 from lioncash/apm
...
service/apm: Add the apm:sys service
2018-08-07 14:57:12 -04:00
bunnei
3242e7c164
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
573a66c23d
Merge pull request #955 from lioncash/view
...
nvflinger: Use std::string_view in OpenDisplay()
2018-08-07 14:26:51 -04:00
bunnei
97c6f984dc
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
07595987ac
Merge pull request #959 from KAMiKAZOW/cubeb-compilation
...
Make building cubeb optional
2018-08-07 14:25:17 -04:00
bunnei
b09c4f45c7
Merge pull request #956 from lioncash/nv
...
nvdrv: Get rid of indirect inclusions
2018-08-07 14:23:32 -04:00
Lioncash
0735a0c8a1
file_util: Avoid sign-conversions in WriteArray() and ReadArray()
...
Prevents compiler warnings.
2018-08-07 13:51:37 -04:00
Hexagon12
bc6d91a103
Lowered down the logging for methods
2018-08-07 19:51:40 +03:00
bunnei
c392650e21
Merge pull request #952 from lioncash/usb
...
service: Add usb services
2018-08-07 11:27:49 -04:00
bunnei
8f73f41824
Merge pull request #949 from lioncash/priv
...
client_port: Make all data members private
2018-08-07 11:20:26 -04:00
Zach Hilman
3e81c09094
loader: Fix scope error in DeconstructedRomDirectory
2018-08-07 10:37:38 -04:00
Lioncash
12ab5a0547
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
d3f64785d1
nvflinger: Correct typo in name of composition event
2018-08-07 09:03:52 -04:00
Lioncash
300ab211e8
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
fa8017295b
nvdrv: Get rid of indirect inclusions
2018-08-07 08:54:50 -04:00
Lioncash
e40b0cf437
nvflinger: Get rid of indirect inclusions
2018-08-07 08:32:05 -04:00
Lioncash
7e49881b7f
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
0f5c4615ae
Make building cubeb optional
2018-08-07 13:21:56 +02:00
Lioncash
890e543304
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
20c976ff2a
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
45bc449ff9
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
c8f6754417
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
91cfe70301
loader: Add icon and title support to XCI
2018-08-06 23:13:42 -04:00
Zach Hilman
5927cf0e17
Use const where applicable
2018-08-06 23:06:33 -04:00
Zach Hilman
9e88f03e75
Avoid parsing RomFS to directory in NCA
2018-08-06 23:06:33 -04:00
Lioncash
da2f00ab7d
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
826b1394e8
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
0c3c91e41c
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
e2b74f6354
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
e218d79cc2
Merge pull request #943 from lioncash/decl
...
game_list: Join declarations and assignments in onTextChanged()
2018-08-06 22:00:49 -04:00
bunnei
75df8a3969
Merge pull request #946 from lioncash/compress
...
qt/main: Collapse if statement in UpdateRecentFiles()
2018-08-06 21:34:20 -04:00
bunnei
645d35ac32
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
168958f8e2
Merge pull request #942 from lioncash/default
...
qt: Minor cleanup-related changes
2018-08-06 21:32:25 -04:00
bunnei
f179e87864
Merge pull request #940 from lioncash/private
...
kernel/event: Make data members private
2018-08-06 21:31:25 -04:00
bunnei
cf82358ee6
Merge pull request #936 from bunnei/avoid-copies
...
gl_rasterizer_cache: Avoid superfluous surface copies.
2018-08-06 21:29:29 -04:00
bunnei
83ef37ca37
Merge pull request #934 from lioncash/chrono
...
core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds
2018-08-06 18:03:05 -04:00
Lioncash
96b6ad11c1
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
10d693b9c2
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
a5ac53dd4c
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
251e92513a
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
cf983888cc
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
2b2dc00bfd
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
d33f641912
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
9764b4ec0e
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
7846295a8f
qt: Add missing override specifiers where applicable
2018-08-06 13:29:14 -04:00
Lioncash
00a68c5eea
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
2feb1a8ba6
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
1ac45342dd
Merge pull request #933 from lioncash/memory
...
memory: Correct prototype of ZeroBlock
2018-08-06 12:34:57 -04:00
mailwl
2ea0f0fd16
Service/Audio: audout_a.cpp: remove pragma once
2018-08-06 12:29:27 +03:00
bunnei
904d7eaa94
maxwell_3d: Remove outdated assert.
2018-08-05 23:57:19 -04:00
bunnei
57eb936200
gl_rasterizer_cache: Avoid superfluous surface copies.
2018-08-05 23:40:03 -04:00
bunnei
0b80bbeb95
Merge pull request #932 from lioncash/func
...
core_timing: Use transparent functors where applicable
2018-08-05 23:37:53 -04:00
bunnei
f1b93d63d1
Merge pull request #929 from lioncash/addr
...
gdbstub: Minor changes
2018-08-05 23:36:26 -04:00
bunnei
03b7ebbc08
Merge pull request #930 from lioncash/thread
...
address_arbiter: Return by value from GetThreadsWaitingOnAddress()
2018-08-05 23:35:59 -04:00
bunnei
bb21c2198a
Merge pull request #925 from bunnei/audren
...
Implement audren audio output
2018-08-05 23:35:22 -04:00
Lioncash
6c56754322
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
a0c3a46aa9
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