Commit Graph

14901 Commits (968d631aa59a0a4e51e219eaa143d2b95593c3e7)
 

Author SHA1 Message Date
VolcaEM 235805edf3
nifm: correct assert in CreateTemporaryNetworkProfile
This has been wrong since 0432af5ad1
I haven't found a game that called this function (and I haven't tried this on a real Switch), and because of this I haven't been able to check if the number in assert OR the string in the assert is wrong, but one of the two is wrong:
NetworkProfileData is 0x18E, while SfNetworkProfileData is 0x17C, according to Switchbrew
Switchbrew doesn't officially say that NetworkProfileData's size is 0x18E but it's possible to calculate its size since Switchbrew provides the size and the offset of all the components of NetworkProfileData (which isn't currently implemented in yuzu, alongside SfNetworkProfileData)
NetworkProfileData documentation: https://switchbrew.org/wiki/Network_Interface_services#NetworkProfileData
SfNetworkProfileData documentation: https://switchbrew.org/wiki/Network_Interface_services#SfNetworkProfileData
Since I trust ogniK's work on reversing NIFM, I'd assume this was just a typo in the string
5 years ago
bunnei ae61e47cba
Merge pull request #3946 from ogniK5377/sysverdat-10-0-2
file_sys: Update SystemVersion archive to version 10.0.2
5 years ago
ReinUsesLisp 420cc13248 renderer_opengl: Add assembly program code paths
Add code required to use OpenGL assembly programs based on
NV_gpu_program5. Decompilation for ARB programs is intended to be added
in a follow up commit. This does **not** include ARB decompilation and
it's not in an usable state.

The intention behind assembly programs is to reduce shader stutter
significantly on drivers supporting NV_gpu_program5 (and other required
extensions). Currently only Nvidia's proprietary driver supports these
extensions.

Add a UI option hidden for now to avoid people enabling this option
accidentally.

This code path has some limitations that OpenGL compatibility doesn't
have:
- NV_shader_storage_buffer_object is limited to 16 entries for a single
OpenGL context state (I don't know if this is an intended limitation, an
specification issue or I am missing something). Currently causes issues
on The Legend of Zelda: Link's Awakening.
- NV_parameter_buffer_object can't bind buffers using an offset
different to zero. The used workaround is to copy to a temporary buffer
(this doesn't happen often so it's not an issue).

On the other hand, it has the following advantages:
- Shaders build a lot faster.
- We have control over how floating point rounding is done over
individual instructions (SPIR-V on Vulkan can't do this).
- Operations on shared memory can be unsigned and signed.
- Transform feedbacks are dynamic state (not yet implemented).
- Parameter buffers (uniform buffers) are per stage, matching NVN and
hardware's behavior.
- The API to bind and create assembly programs makes sense, unlike
ARB_separate_shader_objects.
5 years ago
ReinUsesLisp 47a7c4f4fe yuzu: Add frontend settings for assembly shaders
Add settings for assembly shaders. Currently hidden to avoid users from
accidentally enabled them.
5 years ago
bunnei cf4ee279c6
Merge pull request #3926 from ogniK5377/keyboard-states
hid: Clear keyboard states & fix logic issue
5 years ago
Morph d0fc12684a maxwell_to_vk: Add format B8G8R8A8_SRGB
Add format B8G8R8A8_SRGB and add Attachable capability for B8G8R8A8_UNORM
Used by Bravely Default II
5 years ago
Fernando Sahmkow 4cff5dd194 OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled.
This commit aims to help easing debugging of driver crashes without
having to modify existing code.
5 years ago
Morph 9a36d8600c main: Log host system memory parameters
Logs both physical memory and swapfile sizes, this is useful for support.
5 years ago
bunnei 65010607b7
Merge pull request #3665 from bunnei/device-save
FS: Improve emulation of device saves
5 years ago
bunnei 3c378a31b5
Merge pull request #3945 from ogniK5377/nvflinger-pixformat
nv_flinger: Use enum for pixel format instead of u32
5 years ago
bunnei 74d5c0ed2f
Merge pull request #3944 from ogniK5377/dma_mget
DmaPusher: Remove dead code in step
5 years ago
David Marcec 17455b7222 file_sys: Update SystemVersion archive to version 10.0.2 5 years ago
David Marcec 6f0360690b nv_flinger: Use enum for pixel format instead of u32 5 years ago
David Marcec 4b9504028d DmaPusher: Remove dead code in step 5 years ago
bunnei 55c0dd1cb3
Merge pull request #3942 from ReinUsesLisp/flush-and-invalidate
vk_rasterizer: Match OpenGL's FlushAndInvalidate behavior
5 years ago
ReinUsesLisp 7a27b7f3a3 vk_rasterizer: Match OpenGL's FlushAndInvalidate behavior
Match OpenGL's behavior. This can fix or simplify bisecting issues on
Vulkan.
5 years ago
Morph b73f678ee8 frontend: Set minimum window size to 640x360 instead of 1280x720 (#3413) 5 years ago
bunnei 024c84d2db
Merge pull request #3927 from jroweboy/fix-bug
Frontend: Remove tracking for context wrapper
5 years ago
bunnei 0e2ded049d
Merge pull request #3757 from ogniK5377/better-voice-mixing
audio_renderer: Better voice mixing and 6 channel downmixing
5 years ago
bunnei 670a7f51e8
Merge pull request #3909 from bunnei/timezone
Improve time zone support
5 years ago
bunnei b1a1bd12ca
Merge pull request #3899 from ReinUsesLisp/float-comparisons
shader_ir: Add separate instructions for ordered and unordered comparisons and fix NE on GLSL
5 years ago
ReinUsesLisp 91dddca26e vk_rasterizer: Implement constant attributes
Constant attributes (in OpenGL known disabled attributes) are not
supported on Vulkan, even with extensions. To emulate this behavior we
return zero on reads from disabled vertex attributes in shader code.
This has no caching cost because attribute formats are not dynamic state
on Vulkan and we have to store it in the pipeline cache anyway.

- Fixes Animal Crossing: New Horizons terrain borders
5 years ago
ReinUsesLisp cf6a40fc12 vk_rasterizer: Remove buffer check in attribute selection
This was a left over from OpenGL when disabled buffers where not properly
emulated. We no longer have to assert this as it is checked in vertex
buffer initialization.
5 years ago
bunnei bba54e1880 time_zone: Use std::chrono::seconds for strong typing. 5 years ago
James Rowe 1585981eec Frontend: Remove tracking for context wrapper 5 years ago
David Marcec a79f060ea2 hid: Clear keyboard states & fix logic issue
Previously we never cleared the states of the entries and the key would stay held down, also looping over the key bytes for each key lead to setting every bit for the key state instead of the key we wanted
5 years ago
bunnei 1beaebe666
Merge pull request #3816 from ReinUsesLisp/vk-rasterizer-enable
vk_graphics_pipeline: Implement rasterizer_enable on Vulkan
5 years ago
bunnei 3c8cd62b0d hle: service: time_zone_manager: Use current time zone setting. 5 years ago
bunnei 33441fa728 common: Add module to get the current time zone. 5 years ago
bunnei 988e42a3f5 core: settings: Add a setting for time zone. 5 years ago
bunnei 5dec81fcbd
Merge pull request #3925 from ogniK5377/hid-SendKeyboardLockKeyEvent
Stub hid:SendKeyboardLockKeyEvent
5 years ago
David Marcec 16c0373adc fix logic error & scale sample volume based on voice volume 5 years ago
David Marcec c4e7ec7a99 pass by const ref instead 5 years ago
David Marcec 9de860a419 audio_renderer: Better voice mixing and 6 channel downmixing
Supersedes #3738 and #3321
5 years ago
bunnei 47b97b9577 service: fsp_srv: Stub implementation of OpenMultiCommitManager. 5 years ago
bunnei 551c61bf27 yuzu: game_list: Fix 'Open Save Data Location' for device saves. 5 years ago
bunnei ab9ddab0a2 file_sys: savefata_factory: Update to support DeviceSaveData. 5 years ago
bunnei 9c065c013e file_sys: control_metadata: Expose device_save_data_size. 5 years ago
David Marcec ecc8ccc9d3 Stub SendKeyboardLockKeyEvent
Needed for Puchikon 4 SmileBASIC 1.0.0
5 years ago
bunnei 6ec6cb50dd
Merge pull request #3896 from jroweboy/remove-clang-format-check-from-patreon
CI: Don't check clang format on early access builds
5 years ago
ReinUsesLisp 8b329ddcc9 gl_shader_decompiler: Properly emulate NaN behaviour on NE
"Not equal" operators on GLSL seem to behave as unordered when we expect
an ordered comparison.

Manually emulate this checking for LGE values (numbers, not-NaNs).
5 years ago
Fernando Sahmkow 1887afaf9e RasterizerCache: Correct documentation. 5 years ago
Fernando Sahmkow 8d15f8b28e VkPipelineCache: Use a null shader on invalid address. 5 years ago
Fernando Sahmkow 0a4be73b9b VideoCore: Use SyncGuestMemory mechanism for Shader/Pipeline Cache invalidation. 5 years ago
James Rowe d4e1633fb7
Merge pull request #3902 from degasus/cmake_version_checks
externals: Cmake version checks
5 years ago
Markus Wick e8baf07136 Mark the opus version check as broken. 5 years ago
Markus Wick 290bc20e79 Add version check to Findnlohmann_json.cmake 5 years ago
Markus Wick c96a8867f0 Add version check for catch2 5 years ago
Markus Wick 0e2a7ca91b Add version check to Findfmt 5 years ago
Markus Wick ef1f596595 Fix libzip version check 5 years ago