aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-08-20Merge pull request #1095 from DarkLordZach/sysarchivesbunnei
filesystem: Add support for loading of system archives
2018-08-20telemetry_session: Don't allocate std::string instances for program lifetime ↵Lioncash
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-20acc: Replace profile_manager include with a forward declarationLioncash
This is only used in a shared_ptr, so we can forward declare it.
2018-08-20acc: Simplify WriteBuffer call within LoadImage()Lioncash
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-20acc: Correct IProfile's constructor initializer list orderLioncash
Arranges them in the order the members would be initialized
2018-08-20acc: Remove unused DEFAULT_USER_IDLioncash
This is no longer used, so it can be removed.
2018-08-20profile_manager: Use INVALID_UUID in the initializer of last_opened_userLioncash
Makes it a little bit more self-documenting.
2018-08-20profile_manager: Remove unnecessary memcpy in GetProfileBaseAndData()Lioncash
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-20profile_manager: Use type aliases for username data, profile data, and user ↵Lioncash
arrays Avoids the need to repeatedly specify the whole array type in multiple places.
2018-08-20profile_manager: Take ProfileInfo by const reference where applicableLioncash
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-20profile_manager: Make array parameter to CreateNewUser a const referenceLioncash
This doesn't modify the passed in array, so this can be a const reference.
2018-08-20profile_manager: Remove unnecessary staticLioncash
This can just be constexpr like the others
2018-08-20profile_manager: Simplify UUID's two param constructor, operator==, and ↵Lioncash
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-20profile_manager: Move UUID generation function to the cpp fileLioncash
This avoids needing to dump the contents of <random> into other files that include the profile manager header.
2018-08-20GPU: Implemented the logic op functionality of the GPU.Subv
This will ASSERT if blending is enabled at the same time as logic ops.
2018-08-20Merge pull request #1064 from lioncash/telemetrybunnei
common/telemetry: Migrate core-independent info gathering to common
2018-08-20GLState: Allow enabling/disabling GL_COLOR_LOGIC_OP independently from blending.Subv
2018-08-20rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signatureLioncash
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-20GPU: Added registers for the logicop functionality.Subv
2018-08-20renderer_base: Make creation of the rasterizer, the responsibility of the ↵Lioncash
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-21Port #3353 from CitrafearlessTobi
2018-08-20Shaders: Write all the enabled color outputs when a fragment shader exits.Subv
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-20registration: Add Data_Unknown5 NCAContentTypeZach Hilman
2018-08-20profile_manager: Remove unnecessary std::move in AddToProfiles() and ↵Lioncash
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-20Rasterizer: Reinterpret the raw texture bytes instead of blitting (and thus ↵Subv
doing format conversion) to a new texture when a game requests an old texture address with a different format.
2018-08-20Rasterizer: Don't attempt to copy over the old texture's data when doing a ↵Subv
format reinterpretation if we're only going to clear the framebuffer.
2018-08-20Merge pull request #1104 from Subv/instanced_arraysbunnei
GLRasterizer: Implemented instanced vertex arrays.
2018-08-20Merge pull request #1115 from Subv/texs_maskbunnei
Shaders/TEXS: Write to the correct output register when swizzling.
2018-08-20Merge pull request #1112 from Subv/sampler_typesbunnei
Shaders: Use the correct shader type when sampling textures.
2018-08-20Merge pull request #1117 from ogniK5377/CheckFreeCommunicationPermissionbunnei
Added CheckFreeCommunicationPermission
2018-08-20Merge pull request #1017 from ogniK5377/better-accountbunnei
New account backend to allow for future extended support
2018-08-20Merge pull request #1120 from ogniK5377/rgba8-uintbunnei
Implemented RGBA8_UINT
2018-08-20Implemented RGBA8_UINTDavid Marcec
Needed by kirby
2018-08-20game_list: Avoid uninitialized variables when retrieving program IDLioncash
Avoids potentially leaving this variable uninitialized based off the loader failing to retrieve the ID value.
2018-08-20Added CheckFreeCommunicationPermissionDavid Marcec
This fixes save files not loading in splatoon 2
2018-08-19Shaders/TEXS: Fixed the component mask in the TEXS instruction.Subv
Previously we could end up with a TEXS that didn't write any outputs, this was wrong.
2018-08-19Merge pull request #1089 from Subv/neg_bitsbunnei
Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions.
2018-08-19Merge pull request #1105 from Subv/convert_negbunnei
Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions.
2018-08-19Merge pull request #1113 from Subv/texs_maskbunnei
Shaders/TEXS: Fixed the component mask in the TEXS instruction.
2018-08-19Shaders/TEXS: Fixed the component mask in the TEXS instruction.Subv
Previously we could end up with a TEXS that didn't write any outputs, this was wrong.
2018-08-19Merge pull request #1102 from ogniK5377/mirror-clamp-edgebunnei
Added WrapMode MirrorOnceClampToEdge
2018-08-19Merge pull request #1101 from Subv/ssy_stackbunnei
Shaders: Implemented a stack for the SSY/SYNC instructions.
2018-08-19Shader: Implemented the TLD4 and TLD4S opcodes using GLSL's textureGather.Subv
It is unknown how TLD4S determines the sampler type, more research is needed.
2018-08-19Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions.Subv
Different sampler types have their parameters in different registers.
2018-08-19Shader: Added bitfields for the texture type of the various sampling ↵Subv
instructions.
2018-08-19Shaders: Added decodings for TLD4 and TLD4SSubv
2018-08-19Merge pull request #1109 from Subv/ldg_decodebunnei
Shaders: Added decodings for the LDG and STG instructions.
2018-08-19Merge pull request #1108 from Subv/front_facingbunnei
Shaders: Implemented the gl_FrontFacing input attribute (attr 63).
2018-08-19Shaders: Added decodings for the LDG and STG instructions.Subv
2018-08-19Shaders: Implemented the gl_FrontFacing input attribute (attr 63).Subv