Lioncash
935346a9b2
romfs_factory: Remove unnecessary includes and use forward declarations where applicable
Avoids the need to rebuild whatever includes the romfs factory header if
the loader header ever changes. We also don't need to include the main
core header. We can instead include the headers we specifically need.
7 years ago
bunnei
821b9d1901
Merge pull request #1095 from DarkLordZach/sysarchives
filesystem: Add support for loading of system archives
7 years ago
James Rowe
7714c59d56
Merge pull request #1127 from yuzu-emu/revert-838-port-3616
Revert "Port #3616 from Citra: "appveyor: set jobs to 4 for mingw""
7 years ago
Zach Hilman
461343ca9b
Revert "Port #3616 from Citra: "appveyor: set jobs to 4 for mingw""
7 years ago
Lioncash
35e0f49b3f
telemetry_session: Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()
Given these functions aren't intended to be used frequently, there's no
need to keep the std::string instances allocated for the whole lifetime
of the program. It's just a waste of memory.
7 years ago
bunnei
5e68f4a523
externals: Update dynarmic to a42f301c.
7 years ago
Lioncash
2b5eb5254d
acc: Replace profile_manager include with a forward declaration
This is only used in a shared_ptr, so we can forward declare it.
7 years ago
Lioncash
d643659275
acc: Simplify WriteBuffer call within LoadImage()
We have an overload of WriteBuffer that accepts containers that satisfy
the ContiguousContainer concept, which std::array does, so we only need
to pass in the array itself.
7 years ago
Lioncash
477a9f8a66
acc: Correct IProfile's constructor initializer list order
Arranges them in the order the members would be initialized
7 years ago
Lioncash
f645b3ef5a
acc: Remove unused DEFAULT_USER_ID
This is no longer used, so it can be removed.
7 years ago
Lioncash
b3c07b97df
profile_manager: Use INVALID_UUID in the initializer of last_opened_user
Makes it a little bit more self-documenting.
7 years ago
Lioncash
f035a384b1
profile_manager: Remove unnecessary memcpy in GetProfileBaseAndData()
Given the source and destination types are the same std::array type, we
can simply use regular assignment to perform the same behavior.
7 years ago
Lioncash
280b278b33
profile_manager: Use type aliases for username data, profile data, and user arrays
Avoids the need to repeatedly specify the whole array type in multiple
places.
7 years ago
Lioncash
4fbaf3e0af
profile_manager: Take ProfileInfo by const reference where applicable
ProfileInfo is quite a large struct in terms of data, and we don't need
to perform a copy in these instances, so we can just pass constant
references instead.
7 years ago
Lioncash
3b6af2a6f7
profile_manager: Make array parameter to CreateNewUser a const reference
This doesn't modify the passed in array, so this can be a const
reference.
7 years ago
Lioncash
4b39dd7d47
profile_manager: Remove unnecessary static
This can just be constexpr like the others
7 years ago
Lioncash
30c2015a2e
profile_manager: Simplify UUID's two param constructor, operator==, and operator bool
We can use the constructor initializer list and just compare the
contained u128's together instead of comparing each element
individually. Ditto for comparing against an invalid UUID.
7 years ago
Lioncash
29ee3bc8d6
profile_manager: Move UUID generation function to the cpp file
This avoids needing to dump the contents of <random> into other files
that include the profile manager header.
7 years ago
Subv
9e19247ca3
GPU: Implemented the logic op functionality of the GPU.
This will ASSERT if blending is enabled at the same time as logic ops.
7 years ago
bunnei
6813959578
Merge pull request #1064 from lioncash/telemetry
common/telemetry: Migrate core-independent info gathering to common
7 years ago
Subv
181efe72a6
GLState: Allow enabling/disabling GL_COLOR_LOGIC_OP independently from blending.
7 years ago
Lioncash
03cb9b116d
rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signature
This is an OpenGL renderer-specific data type. Given that, this type
shouldn't be used within the base interface for the rasterizer. Instead,
we can pass this information to the rasterizer via reference.
7 years ago
Subv
b55ca15b4b
GPU: Added registers for the logicop functionality.
7 years ago
Lioncash
d18dda762c
renderer_base: Make creation of the rasterizer, the responsibility of the renderers themselves
Given we use a base-class type within the renderer for the rasterizer
(RasterizerInterface), we want to allow renderers to perform more
complex initialization if they need to do such a thing. This makes it
important to reserve type information.
Given the OpenGL renderer is quite simple settings-wise, this is just a
simple shuffling of the initialization code. For something like Vulkan
however this might involve doing something like:
// Initialize and call rasterizer-specific function that requires
// the full type of the instance created.
auto raster = std::make_unique<VulkanRasterizer>(some, params);
raster->CallSomeVulkanRasterizerSpecificFunction();
// Assign to base class variable
rasterizer = std::move(raster)
7 years ago
fearlessTobi
fc6901c205
Port #3353 from Citra
7 years ago
Subv
1318ecc2f1
Shaders: Write all the enabled color outputs when a fragment shader exits.
We were only writing to the first render target before.
Note that this is only the GLSL side of the implementation, supporting multiple render targets requires more changes in the OpenGL renderer.
Dual Source blending is not implemented and stuff that uses it might not work at all.
7 years ago
Zach Hilman
132d82db7d
registration: Add Data_Unknown5 NCAContentType
7 years ago
Lioncash
92ca1346ea
profile_manager: Remove unnecessary std::move in AddToProfiles() and CreateNewUser()
Moving a const reference isn't possible, so this just results in a copy
(and given ProfileInfo is composed of trivial types and aggregates, a
move wouldn't really do anything).
7 years ago
Subv
cab352e38c
Rasterizer: Reinterpret the raw texture bytes instead of blitting (and thus doing format conversion) to a new texture when a game requests an old texture address with a different format.
7 years ago
Subv
f2c2f8c196
Rasterizer: Don't attempt to copy over the old texture's data when doing a format reinterpretation if we're only going to clear the framebuffer.
7 years ago
bunnei
f0b3a58e70
Merge pull request #1104 from Subv/instanced_arrays
GLRasterizer: Implemented instanced vertex arrays.
7 years ago
bunnei
d05b7cbe9c
Merge pull request #1115 from Subv/texs_mask
Shaders/TEXS: Write to the correct output register when swizzling.
7 years ago
bunnei
0e2d8a6fc3
Merge pull request #1112 from Subv/sampler_types
Shaders: Use the correct shader type when sampling textures.
7 years ago
bunnei
929cac9d1a
Merge pull request #1117 from ogniK5377/CheckFreeCommunicationPermission
Added CheckFreeCommunicationPermission
7 years ago
bunnei
e2227e88d4
Merge pull request #1017 from ogniK5377/better-account
New account backend to allow for future extended support
7 years ago
bunnei
c0a920a6ef
Merge pull request #1120 from ogniK5377/rgba8-uint
Implemented RGBA8_UINT
7 years ago
bunnei
6ce3a6a831
Merge pull request #1119 from lioncash/uninit
game_list: Avoid uninitialized variables when retrieving program ID
7 years ago
David Marcec
4d26be905a
Implemented RGBA8_UINT
Needed by kirby
7 years ago
Lioncash
9981f15c87
game_list: Avoid uninitialized variables when retrieving program ID
Avoids potentially leaving this variable uninitialized based off the
loader failing to retrieve the ID value.
7 years ago
David Marcec
43a8240c64
Added CheckFreeCommunicationPermission
This fixes save files not loading in splatoon 2
7 years ago
Subv
076cedb836
Shaders/TEXS: Fixed the component mask in the TEXS instruction.
Previously we could end up with a TEXS that didn't write any outputs, this was wrong.
7 years ago
bunnei
67de67fdcf
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
2a0d141f54
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
6ebc5532d9
Merge pull request #1113 from Subv/texs_mask
Shaders/TEXS: Fixed the component mask in the TEXS instruction.
7 years ago
Subv
67da7c7ab8
Shaders/TEXS: Fixed the component mask in the TEXS instruction.
Previously we could end up with a TEXS that didn't write any outputs, this was wrong.
7 years ago
bunnei
540ac8b322
Merge pull request #1102 from ogniK5377/mirror-clamp-edge
Added WrapMode MirrorOnceClampToEdge
7 years ago
bunnei
565eb378c3
Merge pull request #1101 from Subv/ssy_stack
Shaders: Implemented a stack for the SSY/SYNC instructions.
7 years ago
Subv
1f92a7cb88
Shader: Implemented the TLD4 and TLD4S opcodes using GLSL's textureGather.
It is unknown how TLD4S determines the sampler type, more research is needed.
7 years ago
Subv
18b91924b1
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
8b1711cdd5
Shader: Added bitfields for the texture type of the various sampling instructions.
7 years ago