summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | caps: Add missing service names to caps:suGravatar David Marcec2020-04-301-0/+3
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | SetShimLibraryVersion, SaveScreenShotEx1 & SaveScreenShotEx2 were missing
* | | | | | | | Merge pull request #3825 from ogniK5377/psm-no-warnGravatar bunnei2020-04-301-7/+14
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | psm: Mark as debug instead of warning
| * | | | | | | | psm: Mark as debug instead of warningGravatar David Marcec2020-04-291-7/+14
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | No point to emulate battery life. However options are broken out if we ever want to add a setting for it
* | | | | | | | Merge pull request #3807 from ReinUsesLisp/fix-depth-clampGravatar bunnei2020-04-305-8/+5
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | maxwell_3d: Fix depth clamping register
| * | | | | | | | maxwell_3d: Fix depth clamping registerGravatar ReinUsesLisp2020-04-275-8/+5
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using deko3d as reference: https://github.com/devkitPro/deko3d/blob/4e47ba0013552e592a86ab7a2510d1e7dadf236a/source/maxwell/gpu_3d_state.cpp#L42 We were using bits 3 and 4 to determine depth clamping, but these are the same both enabled and disabled: state->depthClampEnable ? 0x101A : 0x181D The same happens on Nvidia's OpenGL driver, where they do something like this (default capabilities, GL 4.5 compatibility): (state & DEPTH_CLAMP) != 0 ? 0x201a : 0x281c There's always a difference between the first bits in this register, but bit 11 is consistently disabled on both deko3d/NVN and OpenGL. This commit changes yuzu's behaviour to use bit 11 to determine depth clamping. - Fixes depth issues on Super Mario Odyssey's intro.
* | | | | | | | Merge pull request #3799 from ReinUsesLisp/iadd-ccGravatar bunnei2020-04-306-27/+83
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | shader: Implement P2R CC, IADD Rd.CC and IADD.X
| * | | | | | | | shader/arithmetic_integer: Fix tracking issue in temporaryGravatar ReinUsesLisp2020-04-281-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This temporary is not needed as we mark Rd.CC + IADD.X as unimplemented. It caused issues when tracking global buffers.
| * | | | | | | | 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 #3805 from ReinUsesLisp/preserve-contentsGravatar bunnei2020-04-304-41/+81
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | texture_cache: Reintroduce preserve_contents accurately
| * | | | | | | | | texture_cache: Reintroduce preserve_contents accuratelyGravatar ReinUsesLisp2020-04-264-41/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 94b0e2e5dae4e0bd0021ac2d8fe1ff904a93ee69. preserve_contents proved to be a meaningful optimization. This commit reintroduces it but properly implemented on OpenGL. We have to make sure the clear removes all the previous contents of the image. It's not currently implemented on Vulkan because we can do smart things there that's preferred to be introduced in a separate commit.
* | | | | | | | | | Merge pull request #3788 from FernandoS27/revertGravatar bunnei2020-04-301-14/+6
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / |/| | | | | | | | | Revert: shader_decode: Fix LD, LDG when track constant buffer.
| * | | | | | | | | Revert: shader_decode: Fix LD, LDG when track constant buffer.Gravatar Fernando Sahmkow2020-04-241-14/+6
| | | | | | | | | |
* | | | | | | | | | Merge pull request #3771 from benru/dump-romfs-with-updatesGravatar bunnei2020-04-281-1/+3
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / / |/| | | | | | | | | Dump RomFS command to include Updates
| * | | | | | | | | Update src/yuzu/main.cpp with missing constGravatar Ben Russell2020-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Mat M. <mathew1800@gmail.com>
| * | | | | | | | | Dump RomFS command to include UpdatesGravatar Ben Russell2020-04-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch the RomFS with the selected updates before dumping. Previously the resulting RomFS only contained data from the original title. To dump the RomFS without updates the user can disable the update under Properties before choosing Dump RomFS.
* | | | | | | | | | Merge pull request #3818 from ogniK5377/err-logGravatar Mat M2020-04-284-3/+27
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Don't fail silently for vi, sm, set and ns services
| * | | | | | | | | | Don't fail silently for vi, sm, set and ns servicesGravatar David Marcec2020-04-294-3/+27
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #3783 from lioncash/pointerGravatar Mat M2020-04-284-8/+15
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | physical_core: Make use of std::make_unique instead of std::make_shared in ctor
| * | | | | | | | | | physical_core: Make use of std::make_unique instead of std::make_shared in ctorGravatar Lioncash2020-04-244-8/+15
| | |_|_|_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can also allow unicorn to be constructed in 32-bit mode or 64-bit mode to satisfy the need for both interpreter instances. Allows this code to compile successfully of non x86-64 architectures.
* | | | | | | | | | Merge pull request #3784 from ReinUsesLisp/shader-memory-utilGravatar bunnei2020-04-289-159/+153
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | shader/memory_util: Deduplicate code
| * | | | | | | | | | shader/memory_util: Deduplicate codeGravatar ReinUsesLisp2020-04-269-159/+153
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Deduplicate code shared between vk_pipeline_cache and gl_shader_cache as well as shader decoder code. While we are at it, fix a bug in gl_shader_cache where compute shaders had an start offset of a stage shader.
* | | | | | | | | | kernel: Bad GetInfo ids should not be marked as stubsGravatar David Marcec2020-04-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As we currently match hardware and don't return a successful result, these should be marked as errors instead of warnings and as stubs.
* | | | | | | | | | style: Change AMs & Glues error codes to be dec instead of hexGravatar David Marcec2020-04-292-7/+7
| |_|_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | Consistency for the rest of the error codes in the codebase
* | | | | | | | | Merge pull request #3785 from ogniK5377/set-buffer-count-unitGravatar bunnei2020-04-271-1/+9
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / |/| | | | | | | | vi: Don't let uninitialized data pass as a response for SetBufferCount
| * | | | | | | | vi: Don't let uninitialized data pass as a response for SetBufferCountGravatar David Marcec2020-04-241-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently SetBufferCount doesn't write to the out buffer which then contains uninitialized data. This leads to non-zero data which leads to responding with different error codes
* | | | | | | | | Merge pull request #3766 from ReinUsesLisp/renderpass-cache-keyGravatar Fernando Sahmkow2020-04-278-126/+129
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | vk_renderpass_cache: Pack renderpass cache key and unify keys
| * | | | | | | | | vk_rasterizer: Pack texceptions and color formats on invalid formatsGravatar ReinUsesLisp2020-04-242-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes for unknown reasons NVN games can bind a render target format of 0. This may be a yuzu bug. With the commits before this the formats were specified without being "packed", assuming all formats and texceptions will be written like in the color_attachments vector. To address this issue, iterate all render targets and pack them as they are valid. This way they will match color_attachments. - Fixes validation errors and graphical issues on Breath of the Wild.
| * | | | | | | | | vk_rasterizer: Fix framebuffer creation validation errorsGravatar ReinUsesLisp2020-04-231-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Framebuffer creation was ignoring the number of color attachments.
| * | | | | | | | | vk_pipeline_cache: Unify pipeline cache keys into a single operationGravatar ReinUsesLisp2020-04-235-47/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to call Common::CityHash and std::memcmp only once for GraphicsPipelineCacheKey. While we are at it, do the same for compute.
| * | | | | | | | | vk_renderpass_cache: Pack renderpass cache key to 12 bytesGravatar ReinUsesLisp2020-04-234-84/+59
| | |/ / / / / / / | |/| | | | | | |
* | | | | | | | | Merge pull request #3756 from ReinUsesLisp/integrated-devicesGravatar Fernando Sahmkow2020-04-275-35/+6
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | vk_memory_manager: Remove unified memory model flag
| * | | | | | | | | vk_memory_manager: Remove unified memory model flagGravatar ReinUsesLisp2020-04-215-35/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All drivers (even Intel) seem to have a device local memory type that is not host visible. Remove this flag so all devices follow the same path. This fixes a crash when trying to map to host device local memory on integrated devices.
* | | | | | | | | | Merge pull request #3797 from slashiee/hid-stubGravatar Mat M2020-04-272-1/+13
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | services: hid: Stub StopSevenSixAxisSensor.
| * | | | | | | | | | services: hid: Stub StopSevenSixAxisSensor.Gravatar M&M2020-04-252-1/+13
| | |_|_|_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Used by The Legend of Zelda: Breath of the Wild v1.6.0
* | | | | | | | | | Merge pull request #3742 from FernandoS27/command-listGravatar bunnei2020-04-2720-15/+215
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / / |/| | | | | | | | | Optimize GPU Command Lists and Introduce Fast GPU Time Option
| * | | | | | | | | Clang Format.Gravatar Fernando Sahmkow2020-04-236-11/+19
| | | | | | | | | |
| * | | | | | | | | GPU: Add Fast GPU Time Option.Gravatar Fernando Sahmkow2020-04-237-1/+21
| | | | | | | | | |
| * | | | | | | | | Maxwell3D: Process Macros on MultiMethod.Gravatar Fernando Sahmkow2020-04-231-25/+47
| | | | | | | | | |
| * | | | | | | | | DMAPusher: Propagate multimethod writes into the engines.Gravatar Fernando Sahmkow2020-04-2314-14/+164
| | |_|_|_|/ / / / | |/| | | | | | |
* | | | | | | | | Merge pull request #3795 from vitor-k/fix-folderGravatar bunnei2020-04-261-7/+7
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix "Port citra-emu/citra#4956: "Fixes to game list sorting" #3611"
| * | | | | | | | | Fix the mistake in the port and update the comment for clarityGravatar Vitor Kiguchi2020-04-251-7/+7
| | |/ / / / / / / | |/| | | | | | |
* | | | | | | | | Merge pull request #3744 from lioncash/table2Gravatar bunnei2020-04-2619-7/+108
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | service: Update function tables
| * | | | | | | | | service: Update function tablesGravatar Lioncash2020-04-2019-7/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keeps the service function tables up to date. Updated based off information on SwitchBrew.
* | | | | | | | | | Merge pull request #3753 from ReinUsesLisp/ac-vulkanGravatar Rodrigo Locatti2020-04-265-12/+53
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | {gl,vk}_rasterizer: Add lazy default buffer maker and use it for empty buffers
| * | | | | | | | | | vk_rasterizer: Add lazy default buffer maker and use it for empty buffersGravatar ReinUsesLisp2020-04-213-4/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a default buffer getter that lazily constructs an empty buffer. This is intended to match OpenGL's buffer 0. Use this for disabled vertex and uniform buffers. While we are at it, include vertex buffer usages for staging buffers to silence validation errors.