Commit Graph

14863 Commits (cf137ea40b8770310773cf9d51ae5e47bdbddf9d)
 

Author SHA1 Message Date
Mat M 5cb531b6cf
Merge pull request #3783 from lioncash/pointer
physical_core: Make use of std::make_unique instead of std::make_shared in ctor
5 years ago
David Marcec b4dbf1b9c7 Don't fail silently for vi, sm, set and ns services 5 years ago
ReinUsesLisp 871aadbe36 shader/arithmetic_integer: Fix tracking issue in temporary
This temporary is not needed as we mark Rd.CC + IADD.X as unimplemented.
It caused issues when tracking global buffers.
5 years ago
Fernando Sahmkow 9df67b2095 Clang Format and Documentation. 5 years ago
Fernando Sahmkow 37c690576f MaxwellDMA: Optimize micro copies. 5 years ago
bunnei 72b73d22ab
Merge pull request #3784 from ReinUsesLisp/shader-memory-util
shader/memory_util: Deduplicate code
5 years ago
Mat M 961427037c
Merge pull request #3814 from ogniK5377/getinfo-err
kernel: Bad GetInfo ids should not be marked as stubs
5 years ago
David Marcec 2261cf24af kernel: Bad GetInfo ids should not be marked as stubs
As we currently match hardware and don't return a successful result, these should be marked as errors instead of warnings and as stubs.
5 years ago
David Marcec fdbeb90bd0 Updated comment to reflect ListQualifiedUsers better 5 years ago
Mat M 5e19691e41
Merge pull request #3813 from ogniK5377/err-hex-2-dec
style: Change AMs & Glues error codes to be dec instead of hex
5 years ago
David Marcec 0f6064e5c9 style: Change AMs & Glues error codes to be dec instead of hex
Consistency for the rest of the error codes in the codebase
5 years ago
David Marcec 1276e425d2 marked stubs 5 years ago
David Marcec a17813c4f4 account: ListQualifiedUsers
Closes #2844
5 years ago
David Marcec fb51a655b8 Audin:u ListAudioIns, OpenAudioIn, ListAudioInsAuto, OpenAudioInAuto, ListAudioInsAutoFiltered, OpenAudioInProtocolSpecified
Closes #2874
5 years ago
ReinUsesLisp d6a24b4a5b vk_rasterizer: Skip index buffer setup when vertices are zero
Xenoblade 2 invokes a draw call with zero vertices.
This is likely due to indirect drawing (glDrawArraysIndirect).

This causes a crash in the staging buffer pool when trying to create a
buffer with a size of zero. To workaround this, skip index buffer setup
entirely when the number of indices is zero.
5 years ago
ReinUsesLisp fe931ac976 {maxwell_3d,buffer_cache}: Implement memory barriers using 3D registers
Drop MemoryBarrier from the buffer cache and use Maxwell3D's register
WaitForIdle.

To implement this on OpenGL we just call glMemoryBarrier with the
necessary bits.

Vulkan lacks this synchronization primitive, so we set an event and
immediately wait for it. This is not a pretty solution, but it's what
Vulkan can do without submitting the current command buffer to the queue
(which ends up being more expensive on the CPU).
5 years ago
Fernando Sahmkow b87422a86f VideoCore/GPU: Delegate subchannel engines to the dma pusher. 5 years ago
Fernando Sahmkow 90e5694230 VideoCore/Engines: Refactor Engines CallMethod. 5 years ago
ReinUsesLisp bb1ed66d99 maxwell_3d: Fix depth clamping register
Using deko3d as reference:
4e47ba0013/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.
5 years ago
bunnei 4dca2298f9
Merge pull request #3785 from ogniK5377/set-buffer-count-unit
vi: Don't let uninitialized data pass as a response for SetBufferCount
5 years ago
Fernando Sahmkow 1517cba8ca
Merge pull request #3766 from ReinUsesLisp/renderpass-cache-key
vk_renderpass_cache: Pack renderpass cache key and unify keys
5 years ago
Fernando Sahmkow a65e9ad552
Merge pull request #3756 from ReinUsesLisp/integrated-devices
vk_memory_manager: Remove unified memory model flag
5 years ago
Mat M e8e04a4b80
Merge pull request #3797 from slashiee/hid-stub
services: hid: Stub StopSevenSixAxisSensor.
5 years ago
bunnei 6c7d8073be
Merge pull request #3742 from FernandoS27/command-list
Optimize GPU Command Lists and Introduce Fast GPU Time Option
5 years ago
ReinUsesLisp 8da16cf9fb texture_cache: Reintroduce preserve_contents accurately
This reverts commit 94b0e2e5da.

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.
5 years ago
bunnei 378aed07e9
Merge pull request #3795 from vitor-k/fix-folder
Fix "Port citra-emu/citra#4956: "Fixes to game list sorting" #3611"
5 years ago
bunnei 11e1629d89
Merge pull request #3744 from lioncash/table2
service: Update function tables
5 years ago
Rodrigo Locatti 7e38dd580f
Merge pull request #3753 from ReinUsesLisp/ac-vulkan
{gl,vk}_rasterizer: Add lazy default buffer maker and use it for empty buffers
5 years ago
ReinUsesLisp ddd82ef42b shader/memory_util: Deduplicate code
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.
5 years ago
bunnei 9bd70c52e5
Merge pull request #3791 from Kewlan/hotkey-config-plus
configuration: Add Restore Default and Clear options to hotkeys
5 years ago
bunnei ccda5ffa58
Merge pull request #3761 from Kewlan/stick-modifier-slider
configure_input_player: Use slider to edit modifier scale
5 years ago
ReinUsesLisp e895a4e2d7 shader/arithmetic_integer: Fix edge case and mark IADD.X Rd.CC as unimplemented
IADD.X Rd.CC requires some extra logic that is not currently
implemented. Abort when this is hit.
5 years ago
ReinUsesLisp 2a96bea6a7 shader/arithmetic_integer: Change IAdd to UAdd to avoid signed overflow
Signed integer addition overflow might be undefined behavior. It's free
to change operations to UAdd and use unsigned integers to avoid
potential bugs.
5 years ago
ReinUsesLisp c788f9c0bd shader/arithmetic_integer: Implement IADD.X
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.
5 years ago
ReinUsesLisp 255197e643 shader/arithmetic_integer: Implement CC for IADD 5 years ago
ReinUsesLisp ffc5ec6fa8 decode/register_set_predicate: Implement CC
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.
5 years ago
ReinUsesLisp d523734266 decode/register_set_predicate: Use move for shared pointers
Avoid atomic counters used by shared pointers.
5 years ago
M&M c1ffaa8b29 services: hid: Stub StopSevenSixAxisSensor.
- Used by The Legend of Zelda: Breath of the Wild v1.6.0
5 years ago
Vitor Kiguchi dffcff9fec Fix the mistake in the port and update the comment for clarity 5 years ago
bunnei c5bf693882
Merge pull request #3721 from ReinUsesLisp/sort-devices
vulkan/wrapper: Sort physical devices
5 years ago
bunnei 4e37825dab
Merge pull request #3734 from ReinUsesLisp/half-float-mods
decode/arithmetic_half: Fix HADD2 and HMUL2 absolute and negation bits
5 years ago
bunnei d1e7cf3bdc
Merge pull request #3780 from lioncash/process
svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemory
5 years ago
ReinUsesLisp 527a1574c3 vk_rasterizer: Pack texceptions and color formats on invalid formats
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.
5 years ago
Kewlan a19c6317ef Add Restore Defaults and Clear options to hotkeys 5 years ago
bunnei 7c8acb0025
Merge pull request #3749 from ReinUsesLisp/lea-imm
shader/arithmetic_integer: Fix LEA_IMM encoding
5 years ago
Fernando Sahmkow d8a961cd6c Revert: shader_decode: Fix LD, LDG when track constant buffer. 5 years ago
Zach Hilman 6ec965ef91
Merge pull request #3786 from degasus/fix_warnings
Fix -Werror=conversion and -Wdeprecated-copy issues
5 years ago
Markus Wick e717a1df20 Fix -Wdeprecated-copy warning. 5 years ago
Markus Wick c499c22cf7 Fix -Werror=conversion error. 5 years ago
David Marcec 03a6f3b0f4 vi: Don't let uninitialized data pass as a response for SetBufferCount
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
5 years ago