bunnei
c6fda4c758
externals: Update dynarmic to a42f301c.
7 years ago
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.
7 years ago
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.
7 years ago
Lioncash
f5b132676f
acc: Correct IProfile's constructor initializer list order
Arranges them in the order the members would be initialized
7 years ago
Lioncash
0fcdf37917
acc: Remove unused DEFAULT_USER_ID
This is no longer used, so it can be removed.
7 years ago
Lioncash
350f6e0aa4
profile_manager: Use INVALID_UUID in the initializer of last_opened_user
Makes it a little bit more self-documenting.
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
Lioncash
dfdf4a46fe
profile_manager: Remove unnecessary static
This can just be constexpr like the others
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
bunnei
b1d238bbb8
Merge pull request #1064 from lioncash/telemetry
common/telemetry: Migrate core-independent info gathering to common
7 years ago
Subv
f24ab6d9e6
GLState: Allow enabling/disabling GL_COLOR_LOGIC_OP independently from blending.
7 years ago
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.
7 years ago
Subv
6bcdf37d4f
GPU: Added registers for the logicop functionality.
7 years ago
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)
7 years ago
fearlessTobi
ba8ff096fd
Port #3353 from Citra
7 years ago
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.
7 years ago
Zach Hilman
e8cb6f5c9b
registration: Add Data_Unknown5 NCAContentType
7 years ago
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).
7 years ago
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.
7 years ago
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.
7 years ago
bunnei
028d90eb79
Merge pull request #1104 from Subv/instanced_arrays
GLRasterizer: Implemented instanced vertex arrays.
7 years ago
bunnei
296e57fa0e
Merge pull request #1115 from Subv/texs_mask
Shaders/TEXS: Write to the correct output register when swizzling.
7 years ago
bunnei
b20ed93884
Merge pull request #1112 from Subv/sampler_types
Shaders: Use the correct shader type when sampling textures.
7 years ago
bunnei
185b35bfcd
Merge pull request #1117 from ogniK5377/CheckFreeCommunicationPermission
Added CheckFreeCommunicationPermission
7 years ago
bunnei
943771e703
Merge pull request #1017 from ogniK5377/better-account
New account backend to allow for future extended support
7 years ago
bunnei
ce4b77bd7d
Merge pull request #1120 from ogniK5377/rgba8-uint
Implemented RGBA8_UINT
7 years ago
bunnei
6ee8b15abe
Merge pull request #1119 from lioncash/uninit
game_list: Avoid uninitialized variables when retrieving program ID
7 years ago
David Marcec
23d45715dc
Implemented RGBA8_UINT
Needed by kirby
7 years ago
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.
7 years ago
David Marcec
8a88110060
Added CheckFreeCommunicationPermission
This fixes save files not loading in splatoon 2
7 years ago
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.
7 years ago
bunnei
51ddb130c5
Merge pull request #1089 from Subv/neg_bits
Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions.
7 years ago
bunnei
9b17486be6
Merge pull request #1105 from Subv/convert_neg
Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions.
7 years ago
bunnei
0a1d4fbc5c
Merge pull request #1113 from Subv/texs_mask
Shaders/TEXS: Fixed the component mask in the TEXS instruction.
7 years ago
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.
7 years ago
bunnei
b0eb580931
Merge pull request #1102 from ogniK5377/mirror-clamp-edge
Added WrapMode MirrorOnceClampToEdge
7 years ago
bunnei
85da529f15
Merge pull request #1101 from Subv/ssy_stack
Shaders: Implemented a stack for the SSY/SYNC instructions.
7 years ago
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.
7 years ago
Subv
3ef4b3d4b4
Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions.
Different sampler types have their parameters in different registers.
7 years ago
Subv
73b937b190
Shader: Added bitfields for the texture type of the various sampling instructions.
7 years ago
Subv
656758fd81
Shaders: Added decodings for TLD4 and TLD4S
7 years ago
bunnei
29d4f8c2dd
Merge pull request #1109 from Subv/ldg_decode
Shaders: Added decodings for the LDG and STG instructions.
7 years ago
bunnei
9baf5de90c
Merge pull request #1108 from Subv/front_facing
Shaders: Implemented the gl_FrontFacing input attribute (attr 63).
7 years ago
bunnei
d6cb22b0df
Merge pull request #1103 from Subv/lop_pred
Shader: Implemented the predicate and mode arguments of LOP.
7 years ago
Subv
1b92ae136f
Shaders: Added decodings for the LDG and STG instructions.
7 years ago