summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1146 from lioncash/amGravatar bunnei2018-08-211-3/+4
|\ | | | | am: Utilize std::array within PopLaunchParameter()
| * am: Utilize std::array within PopLaunchParameter()Gravatar Lioncash2018-08-211-3/+4
| | | | | | | | | | | | 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.
* | Merge pull request #1148 from lioncash/audio-warnGravatar bunnei2018-08-211-1/+1
|\ \ | | | | | | audio_core/filter: Add explicit cast to assignment in Process()
| * | audio_core/filter: Add explicit cast to assignment in Process()Gravatar Lioncash2018-08-211-1/+1
| |/ | | | | | | | | Previously this would cause warnings about implicit conversions to s16 from a double
* / shader_bytecode: Parenthesize conditional expression within GetTextureType()Gravatar Lioncash2018-08-211-1/+1
|/ | | | Resolves a -Wlogical-op-parentheses warning.
* Merge pull request #1143 from lioncash/incGravatar bunnei2018-08-212-1/+1
|\ | | | | sdmc_factory: Remove unnecessary core include
| * sdmc_factory: Remove unnecessary core includeGravatar Lioncash2018-08-212-1/+1
| | | | | | | | | | This doesn't require the central core header to be included, it just needs the vfs headers.
* | Merge pull request #1139 from lioncash/bitfieldGravatar bunnei2018-08-211-2/+1
|\ \ | | | | | | bit_field: Convert ToBool() into explicit operator bool
| * | bit_field: Convert ToBool() into explicit operator boolGravatar Lioncash2018-08-211-2/+1
| |/ | | | | | | Gets rid of a TODO that is long overdue.
* | Merge pull request #1140 from FearlessTobi/port-4056Gravatar bunnei2018-08-212-0/+14
|\ \ | | | | | | Port #4056 from Citra: "Add Clear Recent Files menu action"
| * | Port #4056 from Citra: "Add Clear Recent Files menu action"Gravatar fearlessTobi2018-08-212-0/+14
| |/
* / perf_stats: Change MAX_LAG_TIME_US to an appropriate valueGravatar MerryMage2018-08-211-1/+1
|/ | | | | | | | | | 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.
* Merge pull request #1123 from lioncash/screenGravatar bunnei2018-08-217-30/+25
|\ | | | | rasterizer_interface: Remove renderer-specific ScreenInfo type from AccelerateDraw() in RasterizerInterface
| * rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signatureGravatar Lioncash2018-08-205-17/+14
| | | | | | | | | | | | 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.
| * renderer_base: Make creation of the rasterizer, the responsibility of the ↵Gravatar Lioncash2018-08-204-14/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | Merge pull request #1129 from lioncash/headerGravatar bunnei2018-08-2111-8/+40
|\ \ | | | | | | romfs_factory, service/filesystem: Use forward declarations where applicable
| * | service/filesystem: Use forward declarations where applicableGravatar Lioncash2018-08-209-5/+28
| | | | | | | | | | | | | | | | | | | | | | | | 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
| * | romfs_factory: Remove unnecessary includes and use forward declarations ↵Gravatar Lioncash2018-08-203-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #1132 from Subv/gl_FragDepthGravatar bunnei2018-08-211-1/+6
|\ \ \ | | | | | | | | Shaders: Implement depth writing in fragment shaders.
| * | | Shaders: Implement depth writing in fragment shaders.Gravatar Subv2018-08-201-1/+6
| | | | | | | | | | | | | | | | We'll write <last color output reg + 2> to gl_FragDepth.
* | | | Merge pull request #1134 from lioncash/logGravatar bunnei2018-08-211-1/+1
|\ \ \ \ | | | | | | | | | | renderer_opengl: Use LOG_DEBUG for GL_DEBUG_SEVERITY_NOTIFICATION and GL_DEBUG_SEVERITY_LOW logs
| * | | | renderer_opengl: Use LOG_DEBUG for GL_DEBUG_SEVERITY_NOTIFICATION and ↵Gravatar Lioncash2018-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge pull request #1121 from Subv/tex_reinterpretGravatar bunnei2018-08-214-16/+70
|\ \ \ \ \ | |/ / / / |/| | | | Rasterizer: Use PBOs to reinterpret texture formats when games re-use the same memory.
| * | | | Rasterizer: Reinterpret the raw texture bytes instead of blitting (and thus ↵Gravatar Subv2018-08-201-3/+49
| | | | | | | | | | | | | | | | | | | | doing format conversion) to a new texture when a game requests an old texture address with a different format.
| * | | | Rasterizer: Don't attempt to copy over the old texture's data when doing a ↵Gravatar Subv2018-08-204-13/+21
| | |_|/ | |/| | | | | | | | | | format reinterpretation if we're only going to clear the framebuffer.
* | | | Merge pull request #1133 from lioncash/guardGravatar bunnei2018-08-201-0/+2
|\ \ \ \ | |_|/ / |/| | | gl_stream_buffer: Add missing header guard
| * | | gl_stream_buffer: Add missing header guardGravatar Lioncash2018-08-201-0/+2
| | | | | | | | | | | | | | | | | | | | Prevents potential compilation errors from occuring due to multiple inclusions
* | | | Merge pull request #1126 from lioncash/telemGravatar bunnei2018-08-201-4/+4
|\ \ \ \ | | | | | | | | | | telemetry_session: Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()
| * | | | telemetry_session: Don't allocate std::string instances for program lifetime ↵Gravatar Lioncash2018-08-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge pull request #1131 from bunnei/impl-tex3d-texcubeGravatar bunnei2018-08-202-2/+21
|\ \ \ \ \ | | | | | | | | | | | | gl_shader_decompiler: Implement TextureCube/Texture3D for TEX/TEXS.
| * | | | | shader_bytecode: Replace some UNIMPLEMENTED logs.Gravatar bunnei2018-08-201-2/+6
| | | | | |
| * | | | | gl_shader_decompiler: Implement Texture3D for TEXS.Gravatar bunnei2018-08-201-0/+7
| | | | | |
| * | | | | gl_shader_decompiler: Implement TextureCube for TEX.Gravatar bunnei2018-08-201-0/+8
| | | | | |
* | | | | | Merge pull request #1106 from Subv/multiple_rendertargetsGravatar bunnei2018-08-202-6/+45
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Shaders: Write all the enabled color outputs when a fragment shader exits.
| * | | | | Shaders: Write all the enabled color outputs when a fragment shader exits.Gravatar Subv2018-08-202-6/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | Merge pull request #1130 from Subv/tex_2dGravatar bunnei2018-08-201-6/+15
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Shaders: Fixed texture coordinates in TEX with Texture2D
| * | | | | Shaders: Fixed the coords in TEX with Texture2D.Gravatar Subv2018-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The X and Y coordinates should be in gpr8 and gpr8+1, respectively. This fixes the cutscene rendering in Sonic Mania.
| * | | | | Shaders: Log and crash when using an unimplemented texture type in a texture ↵Gravatar Subv2018-08-201-5/+14
| | |/ / / | |/| | | | | | | | | | | | | sampling instruction.
* | | | | Merge pull request #1122 from lioncash/accGravatar bunnei2018-08-204-57/+61
|\ \ \ \ \ | |_|_|_|/ |/| | | | acc/profile_manager: General cleanup
| * | | | acc: Replace profile_manager include with a forward declarationGravatar Lioncash2018-08-202-2/+6
| | | | | | | | | | | | | | | | | | | | This is only used in a shared_ptr, so we can forward declare it.
| * | | | acc: Simplify WriteBuffer call within LoadImage()Gravatar Lioncash2018-08-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | acc: Correct IProfile's constructor initializer list orderGravatar Lioncash2018-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | Arranges them in the order the members would be initialized
| * | | | acc: Remove unused DEFAULT_USER_IDGravatar Lioncash2018-08-201-3/+0
| | | | | | | | | | | | | | | | | | | | This is no longer used, so it can be removed.
| * | | | profile_manager: Use INVALID_UUID in the initializer of last_opened_userGravatar Lioncash2018-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | Makes it a little bit more self-documenting.
| * | | | profile_manager: Remove unnecessary memcpy in GetProfileBaseAndData()Gravatar Lioncash2018-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Given the source and destination types are the same std::array type, we can simply use regular assignment to perform the same behavior.
| * | | | profile_manager: Use type aliases for username data, profile data, and user ↵Gravatar Lioncash2018-08-202-19/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arrays Avoids the need to repeatedly specify the whole array type in multiple places.
| * | | | profile_manager: Take ProfileInfo by const reference where applicableGravatar Lioncash2018-08-202-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | profile_manager: Make array parameter to CreateNewUser a const referenceGravatar Lioncash2018-08-202-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This doesn't modify the passed in array, so this can be a const reference.
| * | | | profile_manager: Remove unnecessary staticGravatar Lioncash2018-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | This can just be constexpr like the others
| * | | | profile_manager: Simplify UUID's two param constructor, operator==, and ↵Gravatar Lioncash2018-08-201-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.