summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader/arithmetic_integer: Fix edge case and mark IADD.X Rd.CC as unimplementedGravatar ReinUsesLisp2020-04-251-1/+6
| | | | | IADD.X Rd.CC requires some extra logic that is not currently implemented. Abort when this is hit.
* shader/arithmetic_integer: Change IAdd to UAdd to avoid signed overflowGravatar ReinUsesLisp2020-04-251-2/+2
| | | | | | Signed integer addition overflow might be undefined behavior. It's free to change operations to UAdd and use unsigned integers to avoid potential bugs.
* shader/arithmetic_integer: Implement IADD.XGravatar ReinUsesLisp2020-04-252-0/+10
| | | | | IADD.X takes the carry flag and adds it to the result. This is generally used to emulate 64-bit operations with 32-bit registers.
* shader/arithmetic_integer: Implement CC for IADDGravatar ReinUsesLisp2020-04-254-3/+42
|
* decode/register_set_predicate: Implement CCGravatar ReinUsesLisp2020-04-251-9/+14
| | | | | | P2R CC takes the state of condition codes and puts them into a register. We already have this implemented for PR (predicates). This commit implements CC over that.
* decode/register_set_predicate: Use move for shared pointersGravatar ReinUsesLisp2020-04-251-16/+17
| | | | Avoid atomic counters used by shared pointers.
* Merge pull request #3721 from ReinUsesLisp/sort-devicesGravatar bunnei2020-04-251-1/+20
|\ | | | | vulkan/wrapper: Sort physical devices
| * vulkan/wrapper: Sort physical devicesGravatar ReinUsesLisp2020-04-181-1/+20
| | | | | | | | | | | | | | | | | | | | Sort discrete GPUs over the rest, Nvidia over AMD, AMD over Intel, Intel over the rest. This gives us a somewhat consistent order when Optimus is removed (renderdoc does this when it's attached). This can break the configuration of users with an Intel GPU that manually remove Optimus on yuzu. That said, it's a very unlikely to happen.
* | Merge pull request #3734 from ReinUsesLisp/half-float-modsGravatar bunnei2020-04-252-16/+37
|\ \ | | | | | | decode/arithmetic_half: Fix HADD2 and HMUL2 absolute and negation bits
| * | decode/arithmetic_half: Fix HADD2 and HMUL2 absolute and negation bitsGravatar ReinUsesLisp2020-04-232-16/+37
| |/ | | | | | | | | | | | | | | | | | | | | | | The encoding for negation and absolute value was wrong. Extracting is now done manually. Similar instructions having different encodings is the rule, not the exception. To keep sanity and readability I preferred to extract the desired bit manually. This is implemented against nxas: https://github.com/ReinUsesLisp/nxas/blob/8dbc38995711cc12206aa370145a3a02665fd989/table.h#L68 That is itself tested against nvdisasm (Nvidia's official disassembler).
* | Merge pull request #3780 from lioncash/processGravatar bunnei2020-04-241-2/+138
|\ \ | | | | | | svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemory
| * | svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemoryGravatar Lioncash2020-04-231-2/+138
| | | | | | | | | | | | These were lost in the re-implementation of the virtual memory manager.
* | | Merge pull request #3749 from ReinUsesLisp/lea-immGravatar bunnei2020-04-241-2/+2
|\ \ \ | | | | | | | | shader/arithmetic_integer: Fix LEA_IMM encoding
| * | | shader/arithmetic_integer: Fix LEA_IMM encodingGravatar ReinUsesLisp2020-04-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The operand order in LEA_IMM was flipped compared to nvdisasm. Fix that using nxas as reference: https://github.com/ReinUsesLisp/nxas/blob/8dbc38995711cc12206aa370145a3a02665fd989/table.h#L122
* | | | Fix -Wdeprecated-copy warning.Gravatar Markus Wick2020-04-241-0/+1
| | | |
* | | | Fix -Werror=conversion error.Gravatar Markus Wick2020-04-242-2/+2
| | | |
* | | | Merge pull request #3760 from Morph1984/trailing-filedir-separatorGravatar bunnei2020-04-241-1/+1
|\ \ \ \ | | | | | | | | | | frontend/filesystem: Add a trailing separator to the string path
| * | | | Add a trailing separator to the string pathGravatar Morph2020-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | Fixes #3643
* | | | | Merge pull request #3777 from lioncash/warnGravatar Rodrigo Locatti2020-04-231-2/+2
|\ \ \ \ \ | | | | | | | | | | | | page_table: Remove unused captures
| * | | | | page_table: Remove unused capturesGravatar Lioncash2020-04-231-2/+2
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | Any time the lambda function is called, the permission being used in the capture would be passed in as an argument to the lambda, so the capture is unnecessary.
* | | | | Merge pull request #3778 from lioncash/unused-varGravatar Rodrigo Locatti2020-04-231-3/+0
|\ \ \ \ \ | | | | | | | | | | | | svc: Remove unused variable
| * | | | | svc: Remove unused variableGravatar Lioncash2020-04-231-3/+0
| |/ / / / | | | | | | | | | | | | | | | Since the VMM refactor, this is no longer used or needed.
* / / / / shared_memory: Amend doxygen referenceGravatar Lioncash2020-04-232-5/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | Amends the parameter to match the documentation reference. Resolves a -Wdocumentation warning with clang.
* | | | Merge pull request #3768 from H27CK/cmd-title-fmtGravatar Rodrigo Locatti2020-04-231-3/+4
|\ \ \ \ | | | | | | | | | | Fix format error in performance statistics
| * | | | Fix format error in performance statisticsGravatar H27CK2020-04-231-3/+4
| | | | | | | | | | | | | | | | | | | | Formatting
* | | | | kernel: memory: Improve implementation of device shared memory. (#3707)Gravatar bunnei2020-04-236-16/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * kernel: memory: Improve implementation of device shared memory. * fixup! kernel: memory: Improve implementation of device shared memory. * fixup! kernel: memory: Improve implementation of device shared memory.
* | | | | Merge pull request #3730 from lioncash/timeGravatar bunnei2020-04-231-24/+26
|\ \ \ \ \ | | | | | | | | | | | | service/time: Remove reliance on the global system accessor
| * | | | | service/time: Remove reliance on the global system accessorGravatar Lioncash2020-04-191-24/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eliminates usages of the global system accessor and instead passes the existing system instance into the interfaces.
* | | | | | Merge pull request #3697 from lioncash/declarationsGravatar bunnei2020-04-2310-24/+27
|\ \ \ \ \ \ | | | | | | | | | | | | | | CMakeLists: Enable -Wmissing-declarations on Linux builds
| * | | | | | 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-169-24/+25
| | | | | | |
| * | | | | | 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 #3677 from FernandoS27/better-syncGravatar bunnei2020-04-2241-63/+1193
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | Introduce Predictive Flushing and Improve ASYNC GPU
| * | | | | | GL_Fence_Manager: use GL_TIMEOUT_IGNORED instead of a loop,Gravatar Fernando Sahmkow2020-04-221-2/+1
| | | | | | |
| * | | | | | Address Feedback.Gravatar Fernando Sahmkow2020-04-223-24/+18
| | | | | | |
| * | | | | | Async GPU: Correct flushing behavior to be similar to old async GPU behavior.Gravatar Fernando Sahmkow2020-04-223-0/+11
| | | | | | |
| * | | | | | MaxwellDMA: Correct copying on accuracy level.Gravatar Fernando Sahmkow2020-04-221-2/+7
| | | | | | |
| * | | | | | ShaderCache/PipelineCache: Cache null shaders.Gravatar Fernando Sahmkow2020-04-224-8/+31
| | | | | | |
| * | | | | | Address Feedback.Gravatar Fernando Sahmkow2020-04-2213-132/+117
| | | | | | |
| * | | | | | Fix GCC error.Gravatar Fernando Sahmkow2020-04-222-6/+5
| | | | | | |
| * | | | | | Correct Linux Compile Error.Gravatar Fernando Sahmkow2020-04-222-7/+10
| | | | | | |
| * | | | | | Clang format.Gravatar Fernando Sahmkow2020-04-221-1/+2
| | | | | | |
| * | | | | | QueryCache: Only do async flushes on async gpu.Gravatar Fernando Sahmkow2020-04-221-1/+4
| | | | | | |
| * | | | | | Async GPU: Only do reactive flushing on Extreme Level.Gravatar Fernando Sahmkow2020-04-221-1/+1
| | | | | | |
| * | | | | | vk_fence_manager: Initial implementationGravatar ReinUsesLisp2020-04-228-12/+222
| | | | | | |
| * | | | | | QueryCache: Implement Async Flushes.Gravatar Fernando Sahmkow2020-04-225-12/+77
| | | | | | |
| * | | | | | OpenGL: Guarantee writes to Buffers.Gravatar Fernando Sahmkow2020-04-223-4/+2
| | | | | | |
| * | | | | | GPU: Implement Flush Requests for Async mode.Gravatar Fernando Sahmkow2020-04-226-8/+70
| | | | | | |
| * | | | | | FenceManager: Manage syncpoints and rename fences to semaphores.Gravatar Fernando Sahmkow2020-04-2211-25/+123
| | | | | | |
| * | | | | | BufferCache: Refactor async managing.Gravatar Fernando Sahmkow2020-04-222-10/+27
| | | | | | |