summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* CMakeLists: Make missing declarations a compile-time errorGravatar Lioncash2020-04-161-0/+1
| | | | Ensures that our code always has its linkage explicit.
* General: Resolve warnings related to missing declarationsGravatar Lioncash2020-04-1611-88/+89
|
* CMakeLists: Enable -Wmissing-declarations on Linux buildsGravatar Lioncash2020-04-161-0/+1
| | | | | Allows catching cases where internal linkage isn't specified for helper functions when they should be marked as such.
* Merge pull request #3673 from lioncash/extraGravatar bunnei2020-04-1626-70/+93
|\ | | | | CMakeLists: Specify -Wextra on linux builds
| * CMakeLists: Specify -Wextra on linux buildsGravatar Lioncash2020-04-1526-70/+93
| | | | | | | | | | | | | | | | | | | | | | Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
* | Merge pull request #3600 from ReinUsesLisp/no-pointer-buf-cacheGravatar Fernando Sahmkow2020-04-1614-228/+90
|\ \ | | | | | | buffer_cache: Return handles instead of pointer to handles
| * | buffer_cache: Return handles instead of pointer to handlesGravatar ReinUsesLisp2020-04-1614-228/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original idea of returning pointers is that handles can be moved. The problem is that the implementation didn't take that in mind and made everything harder to work with. This commit drops pointer to handles and returns the handles themselves. While it is still true that handles can be invalidated, this way we get an old handle instead of a dangling pointer. This problem can be solved in the future with sparse buffers.
* | | Merge pull request #3675 from degasus/linux_shared_librariesGravatar bunnei2020-04-164-28/+71
|\ \ \ | | | | | | | | externals: Use shared libraries if possible
| * | | externals: Use shared libraries if possibleGravatar Markus Wick2020-04-161-19/+65
| | | | | | | | | | | | | | | | | | | | This is mostly done by pkgconfig. I've focused on the larger and more stable libraries.
| * | | externals: Move LibreSSL linking to httplib.Gravatar Markus Wick2020-04-163-12/+9
| | | | | | | | | | | | | | | | | | | | | | | | Neither core nor web_services use OpenSSL nor LibreSSL. However they need to link them as it's a requirement of httplib. So let's declare this within httplib instead of core and web_services.
| * | | input_common: Use the CMake target instead of the variable.Gravatar Markus Wick2020-04-161-1/+1
|/ / /
* | | Merge pull request #3659 from bunnei/time-calc-standard-userGravatar Rodrigo Locatti2020-04-163-1/+25
|\ \ \ | | | | | | | | service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.
| * | | service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.Gravatar bunnei2020-04-143-1/+25
| |/ / | | | | | | | | | - Used by Animal Crossing: New Horizons.
* | | Merge pull request #3689 from lioncash/unused-varGravatar Rodrigo Locatti2020-04-161-1/+0
|\ \ \ | | | | | | | | decode/shift: Remove unused variable within Shift()
| * | | decode/shift: Remove unused variable within Shift()Gravatar Lioncash2020-04-161-1/+0
| | |/ | |/| | | | | | | | | | Removes a redundant variable that is already satisfied by the IsFull() utility function.
* | | Merge pull request #3688 from lioncash/nequalGravatar Rodrigo Locatti2020-04-162-0/+5
|\ \ \ | | | | | | | | surface_view: Add missing operator!= to ViewParams
| * | | surface_view: Add missing operator!= to ViewParamsGravatar Lioncash2020-04-162-0/+5
| |/ / | | | | | | | | | Provides logical symmetry to the interface.
* | | Merge pull request #3680 from lioncash/staticGravatar Rodrigo Locatti2020-04-161-1/+1
|\ \ \ | | | | | | | | gl_device: Mark stage_swizzle as constexpr
| * | | gl_device: Mark stage_swizzle as constexprGravatar Lioncash2020-04-151-1/+1
| |/ / | | | | | | | | | Previously this was mutable even though it shouldn't be.
* | | Merge pull request #3687 from lioncash/constnessGravatar Rodrigo Locatti2020-04-161-2/+2
|\ \ \ | | | | | | | | surface_base: Make IsInside() a const member function
| * | | surface_base: Make IsInside() a const member functionGravatar Lioncash2020-04-151-2/+2
| |/ / | | | | | | | | | This doesn't modify internal state, so this can be made const.
* | | Merge pull request #3685 from lioncash/copiesGravatar Rodrigo Locatti2020-04-161-3/+3
|\ \ \ | | | | | | | | control_flow: Make use of std::move in TryInspectAddress()
| * | | control_flow: Make use of std::move in TryInspectAddress()Gravatar Lioncash2020-04-151-3/+3
| |/ / | | | | | | | | | Eliminates redundant atomic reference count increments and decrements.
* | | Merge pull request #3683 from lioncash/docsGravatar bunnei2020-04-152-5/+5
|\ \ \ | | | | | | | | video_core: Amend doxygen comment references
| * | | video_core: Amend doxygen comment referencesGravatar Lioncash2020-04-152-5/+5
| |/ / | | | | | | | | | Fixes broken documentation references.
* | | Merge pull request #3649 from FernandoS27/3d-fixGravatar Rodrigo Locatti2020-04-151-0/+6
|\ \ \ | |/ / |/| | Texture Cache: Read current data when flushing a 3D segment.
| * | Texture Cache: Read current data when flushing a 3D segment.Gravatar Fernando Sahmkow2020-04-151-0/+6
| |/ | | | | | | | | This PR corrects flushing of 3D segments when data of other segments is mixed, this aims to preserve the data in place.
* | Merge pull request #3612 from ReinUsesLisp/redGravatar Fernando Sahmkow2020-04-155-70/+141
|\ \ | | | | | | shader/memory: Implement RED.E.ADD and minor changes to ATOM
| * | shader/memory: Implement RED.E.ADDGravatar ReinUsesLisp2020-04-065-28/+99
| | | | | | | | | | | | | | | | | | | | | | | | Implements a reduction operation. It's an atomic operation that doesn't return a value. This commit introduces another primitive because some shading languages might have a primitive for reduction operations.
| * | shader/memory: Add "using std::move"Gravatar ReinUsesLisp2020-04-061-11/+13
| | |
| * | shader/memory: Minor fixes in ATOMGravatar ReinUsesLisp2020-04-061-32/+30
| | |
* | | Merge pull request #3670 from lioncash/reorderGravatar Mat M2020-04-154-5/+7
|\ \ \ | | | | | | | | CMakeLists: Make -Wreorder a compile-time error
| * | | CMakeLists: Make -Wreorder a compile-time errorGravatar Lioncash2020-04-154-5/+7
|/ / / | | | | | | | | | | | | | | | This can result in silent logic bugs within code, and given the amount of times these kind of warnings are caused, they should be flagged at compile-time so no new code is submitted with them.
* | | Merge pull request #3662 from ReinUsesLisp/constant-attrsGravatar Mat M2020-04-152-2/+6
|\ \ \ | | | | | | | | gl_rasterizer: Implement constant vertex attributes
| * | | gl_rasterizer: Implement constant vertex attributesGravatar ReinUsesLisp2020-04-142-2/+6
| | |/ | |/| | | | | | | | | | Credits go to gdkchan from Ryujinx for finding constant attributes are used in retail games.
* | | Merge pull request #3668 from ReinUsesLisp/vtx-format-16uiGravatar Mat M2020-04-151-0/+10
|\ \ \ | | | | | | | | maxwell_to_vk: Add uint16 vertex formats
| * | | maxwell_to_vk: Add uint16 vertex formatsGravatar ReinUsesLisp2020-04-151-0/+8
| | | |
| * | | maxwell_to_vk: Add missing breaksGravatar ReinUsesLisp2020-04-151-0/+2
| | | | | | | | | | | | | | | | Avoid invalid fallbacks.
* | | | Merge pull request #3656 from ReinUsesLisp/glsl-full-decompileGravatar Mat M2020-04-151-1/+3
|\ \ \ \ | | | | | | | | | | gl_shader_cache: Use CompileDepth::FullDecompile on GLSL
| * | | | gl_shader_cache: Use CompileDepth::FullDecompile on GLSLGravatar ReinUsesLisp2020-04-141-1/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | From my testing on a Splatoon 2 shader that takes 3800ms on average to compile changing to FullDecompile reduces it to 900ms on average. The shader decoder will automatically fallback to a more naive method if it can't use full decompile.
* | | | Merge pull request #3654 from ReinUsesLisp/fix-fb-attachGravatar Mat M2020-04-151-1/+1
|\ \ \ \ | | | | | | | | | | gl_texture_cache: Fix layered texture attachment base level
| * | | | gl_texture_cache: Fix layered texture attachment base levelGravatar ReinUsesLisp2020-04-131-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | The base level is already included in the texture view. If we specify the base level in the texture again, this will end up in the incorrect level and potentially out of bounds.
* | | | Merge pull request #3663 from ReinUsesLisp/fcmp-rcGravatar Mat M2020-04-152-3/+6
|\ \ \ \ | | | | | | | | | | shader/arithmetic: Add FCMP_CR variant
| * | | | shader/arithmetic: Add FCMP_CR variantGravatar ReinUsesLisp2020-04-142-3/+6
| | | | | | | | | | | | | | | | | | | | Adds another variant of FCMP.
* | | | | Merge pull request #3664 from ReinUsesLisp/fe3h-black-squaresGravatar Mat M2020-04-151-2/+4
|\ \ \ \ \ | | | | | | | | | | | | Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"
| * | | | | Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"Gravatar ReinUsesLisp2020-04-141-2/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 05cf27083608bebd3ee4c38f2f948c8f2030f881. Apparently the first approach using floats instead of bitfieldInert worked better for Fire Emblem: Three Houses. Reverting to get that behavior back.
* | | | | Merge pull request #3667 from ReinUsesLisp/viewport-trashGravatar Mat M2020-04-151-0/+2
|\ \ \ \ \ | |_|_|/ / |/| | | | vk_blit_screen: Initialize all members in VkPipelineViewportStateCreateInfo
| * | | | vk_blit_screen: Initialize all members in VkPipelineViewportStateCreateInfoGravatar ReinUsesLisp2020-04-151-0/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the dynamic state is specified, pViewports and pScissors are ignored, quoting the specification: pViewports is a pointer to an array of VkViewport structures, defining the viewport transforms. If the viewport state is dynamic, this member is ignored. That said, AMD's proprietary driver itself seem to read it regardless of what the specification says.
* | | | Merge pull request #3657 from ReinUsesLisp/viewport-zeroGravatar Rodrigo Locatti2020-04-151-3/+6
|\ \ \ \ | | | | | | | | | | vk_rasterizer: Default to 1 viewports with a size of 0
| * | | | vk_rasterizer: Default to 1 viewports with a size of 0Gravatar ReinUsesLisp2020-04-141-3/+6
| | |/ / | |/| | | | | | | | | | Silence validation layer errors.