David Marcec
3a20e74f40
Pass by reference instead of copying parameters
2020-06-02 16:37:06 +10:00
ReinUsesLisp
866c1165af
vk_shader_decompiler: Implement atomic image operations
...
Implement atomic operations on images.
On GLSL these are atomicImage* functions (e.g. atomicImageAdd).
2020-06-02 02:20:02 -03:00
ReinUsesLisp
4a6b9a1a71
vk_rasterizer: Implement storage texels
...
This is the equivalent of an image buffer on OpenGL.
- Used by Octopath Traveler
2020-06-02 02:16:33 -03:00
ReinUsesLisp
3a59e724c9
maxwell_to_vk: Add R16UI image format
...
- Used by Octopath Traveler
2020-06-02 02:15:20 -03:00
bunnei
4511502ca6
Merge pull request #4001 from ReinUsesLisp/avoid-copies
...
buffer_cache: Avoid copying twice on certain cases
2020-06-01 16:59:17 -04:00
bunnei
bb6d93630f
Merge pull request #3998 from ReinUsesLisp/init-3d
...
maxwell_3d: Initialize more registers to their expected value
2020-06-01 16:11:56 -04:00
Morph
74f2e5f1a4
gl_shader_decompiler: Declare gl_Layer and gl_ViewportIndex within gl_PerVertex for vertex and tessellation shaders
2020-06-01 15:35:44 -04:00
Morph
70188d69b0
gl_shader_decompiler: Fix geometry shader outputs for Intel drivers
...
On Intel's proprietary drivers, gl_Layer and gl_ViewportIndex are not allowed members of gl_PerVertex block, causing the shader to fail to compile. Fix this by declaring these variables outside of gl_PerVertex.
2020-06-01 15:34:05 -04:00
Rodrigo Locatti
3a6714ab7f
Merge pull request #4005 from ReinUsesLisp/g24r8
...
format_lookup_table: Implement G24S8 format as S8Z24
2020-06-01 16:07:58 -03:00
bunnei
6c0b1a9ee2
Merge pull request #3996 from ReinUsesLisp/front-faces
...
fixed_pipeline_state,gl_rasterizer: Swap negative viewport checks for front faces
2020-06-01 14:04:35 -04:00
VolcaEM
8c84a7e7ec
Clang-format
2020-06-01 19:42:54 +02:00
VolcaEM
4d10d3113f
hid: Stub GetXpadIDs
...
Allows Minecraft: Nintendo Switch Edition (a.k.a. old Minecraft) to boot and go ingame
2020-06-01 19:38:44 +02:00
ReinUsesLisp
0ee310ebdc
gl_device: Avoid devices with CAVEAT_SUPPORT on ASTC
...
This avoids using Nvidia's ASTC decoder on OpenGL.
The last time it was profiled, it was slower than yuzu's decoder.
While we are at it, fix a bug in the texture cache when native ASTC is
not supported.
2020-05-31 21:34:34 -03:00
ReinUsesLisp
ee21e4ecd3
glsl: Squash constant buffers into a single SSBO when we hit the limit
...
Avoids compilation errors at the cost of shader build times and runtime
performance when a game hits the limit of uniform buffers we can use.
2020-05-31 21:33:49 -03:00
bunnei
e68ee43a1a
Merge pull request #3930 from ReinUsesLisp/animal-borders
...
vk_rasterizer: Implement constant attributes
2020-05-31 18:40:17 -04:00
bunnei
edbf3144d2
Merge pull request #3958 from FernandoS27/gl-debug
...
OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled
2020-05-31 17:04:27 -04:00
bunnei
f7debcaa04
Merge pull request #3999 from ReinUsesLisp/opt-tex-cache
...
texture_cache: Optimize GetSurfacesInRegion
2020-05-31 17:02:29 -04:00
Morph
bb8ef38152
gl_device: Enable compute shaders for Intel proprietary drivers
...
Previously we were disabling compute shaders on Intel's proprietary driver due to broken compute. This has been fixed in the latest Intel drivers. Re-enable compute for Intel proprietary drivers and remove the check for broken compute.
2020-05-31 03:21:07 -04:00
bunnei
058ec22787
Merge pull request #3982 from ReinUsesLisp/membar-cts
...
shader/other: Implement MEMBAR.CTS
2020-05-30 11:51:42 -04:00
ReinUsesLisp
f2d1aa97ad
shader/other: Fix hardcoded value in S2R INVOCATION_INFO
...
Geometry shaders built from Nvidia's compiler check for bits[16:23] to
be less than or equal to 0 with VSETP to default to a "safe" value of
0x8000'0000 (safe from hardware's perspective). To avoid hitting this
path in the shader, return 0x00ff'0000 from S2R INVOCATION_INFO.
This seems to be the maximum number of vertices a geometry shader can
emit in a primitive.
2020-05-30 01:49:14 -03:00
ReinUsesLisp
1ee1a5d3d6
texture_cache: More relaxed reconstruction
...
Only reupload textures when they've not been modified from the GPU.
2020-05-29 23:56:52 -03:00
David Marcec
8118ea160b
Favor switch case over jump table
...
Easier to read and will emit a jump table automatically.
2020-05-30 12:23:58 +10:00
David Marcec
b032ebdfee
Implement macro JIT
2020-05-30 11:40:04 +10:00
David Marcec
d0bdd26c26
Add xbyak external
2020-05-30 10:55:27 +10:00
ReinUsesLisp
e454f7e7a7
texture_cache: Only copy textures that were modified from host
2020-05-29 20:12:46 -03:00
ReinUsesLisp
dd70e097cc
texture_cache: Reload textures when number of resources mismatch
2020-05-29 20:10:58 -03:00
bunnei
87b272699f
Merge pull request #4007 from ReinUsesLisp/reduce-logs
...
maxwell_3d: Reduce severity of logs that can be spammed
2020-05-29 17:29:17 -04:00
ReinUsesLisp
5616be12be
vk_rasterizer: Skip transform feedbacks when extension is unavailable
...
Avoids calling transform feedback procedures when
VK_EXT_transform_feedback is not available.
2020-05-29 03:05:29 -03:00
ReinUsesLisp
5b37cecd76
texture_cache: Handle overlaps with multiple subresources
...
Implement more surface reconstruct cases. Allow overlaps with more than
one layer and mipmap and copies all of them to the new texture.
- Fixes textures moving around objects on Xenoblade games
2020-05-29 02:57:30 -03:00
David Marcec
43bf860b22
kernel: ResourceLimit::Reserve remove useless while loop
...
Timeout is a u64, it will always be >= 0
2020-05-29 13:48:01 +10:00
bunnei
1bb3122c1f
Merge pull request #3991 from ReinUsesLisp/depth-sampling
...
texture_cache: Implement depth stencil texture swizzles
2020-05-28 23:33:38 -04:00
bunnei
5242b21524
Merge pull request #4002 from lat9nq/fix-nix-mod-directories
...
patch_manager: Add support for case-sensitivity on Linux
2020-05-28 22:36:39 -04:00
ReinUsesLisp
9b06e823ee
maxwell_3d: Reduce severity of logs that can be spammed
...
These logs were killing performance on some games when they were
spammed. Reduce them to Debug severity.
2020-05-28 18:23:25 -03:00
ReinUsesLisp
fc153f6bcd
format_lookup_table: Implement G24S8 format as S8Z24
2020-05-28 17:16:07 -03:00
lat9nq
f57cbd9f24
Make copying directory string more concise
2020-05-28 13:33:50 -04:00
lat9nq
326403518d
Address requested changes
2020-05-28 13:30:22 -04:00
bunnei
099ac9c2a8
Merge pull request #3993 from ReinUsesLisp/fix-zla
...
gl_shader_manager: Unbind GLSL program when binding a host pipeline
2020-05-28 12:15:22 -04:00
lat9nq
136c563f76
*nix systems can read any-case patch directories
...
Changes many patch_manager functions to use a case-less variant of
GetSubdirectory. Fixes patches not showing up on *nix systems when
patch directories are named with odd cases, i.e. `exeFS'.
2020-05-27 23:12:56 -04:00
bunnei
640f0d1cec
Merge pull request #3954 from Morph1984/log-memory-amount
...
main: Log host system memory parameters
2020-05-27 22:58:51 -04:00
ReinUsesLisp
3b2dee88e6
buffer_cache: Avoid copying twice on certain cases
...
Avoid copying to a staging buffer on non-granular memory addresses.
Add a callable argument to StreamBufferUpload to be able to copy to the
staging buffer directly from ReadBlockUnsafe.
2020-05-27 23:05:50 -03:00
ReinUsesLisp
b8b6f94ba9
texture_cache: Use unordered_map::find instead of operator[] on hot code
2020-05-27 17:59:04 -03:00
bunnei
630fc12d4e
Merge pull request #3961 from Morph1984/bgra8_srgb
...
maxwell_to_vk: Add format B8G8R8A8_SRGB and add Attachable capability for B8G8R8A8_UNORM
2020-05-27 16:44:22 -04:00
ReinUsesLisp
d2b2557542
texture_cache: Use small vector for surface vectors
...
This avoids most heap allocations when collecting surfaces into a
vector.
2020-05-27 17:31:14 -03:00
ReinUsesLisp
f3f056c3b6
maxwell_3d: Initialize line widths
...
Initialize line widths to avoid setting a line width of zero.
2020-05-27 16:53:43 -03:00
ReinUsesLisp
31eb658fea
maxwell_3d: Initialize polygon modes
...
NVN expects this to be initialized as Fill, otherwise games that never
bind a rasterizer state will log an invalid polygon mode.
2020-05-27 16:52:52 -03:00
Morph
b2af304918
Fix macOS code and change "Swapfile" to "Swap"
2020-05-27 11:21:59 -04:00
ReinUsesLisp
32e6727dae
shader/other: Implement MEMBAR.CTS
...
This silences an assertion we were hitting and uses workgroup memory
barriers when the game requests it.
2020-05-27 00:19:45 -03:00
ReinUsesLisp
b2c4521a91
texture_cache: Fix layered null surfaces
...
Null texture cubes were not considered arrays, causing issues on Vulkan
and OpenGL when creating views.
2020-05-26 17:50:08 -03:00
ReinUsesLisp
b17fe82973
gl_texture_cache: Implement small texture view cache for swizzles
...
This fixes cases where the texture swizzle was applied twice on the same
draw to a texture bound to two different slots.
2020-05-26 17:50:08 -03:00
ReinUsesLisp
8bba84a401
texture_cache: Implement depth stencil texture swizzles
...
Stop ignoring image swizzles on depth and stencil images.
This doesn't fix a known issue on Xenoblade Chronicles 2 where an OpenGL
texture changes swizzles twice before being used. A proper fix would be
having a small texture view cache for this like we do on Vulkan.
2020-05-26 17:44:50 -03:00
ReinUsesLisp
606a62d4c7
gl_rasterizer: Port front face flip check from Vulkan
...
While Vulkan was assuming we had no negative viewports, OpenGL code
was assuming we had them. Port the old code from Vulkan to OpenGL,
checking if the first viewport is negative before flipping faces.
This is not a complete implementation since we only check for the first
viewport to be negative. That said, unless a game is using Vulkan,
OpenGL and NVN games should be fine here, and we can always compare with
our Vulkan backend to see if there's a difference.
2020-05-26 16:33:50 -03:00
ReinUsesLisp
efe7b7483b
fixed_pipeline_state: Remove unnecessary check for front faces flip
...
The check to flip faces when viewports are negative were a left over
from the old OpenGL code. This is not required on Vulkan where we have
negative viewports.
2020-05-26 16:32:27 -03:00
bunnei
508242c267
Merge pull request #3981 from ReinUsesLisp/bar
...
shader/other: Implement BAR.SYNC 0x0
2020-05-26 14:40:13 -04:00
bunnei
623d9c47a2
Merge pull request #3980 from ReinUsesLisp/red-op
...
shader/memory: Implement non-addition operations in RED
2020-05-26 12:50:41 -04:00
ReinUsesLisp
c13e2f1b75
gl_shader_manager: Unbind GLSL program when binding a host pipeline
...
Fixes regression in Link's Awakening caused by 420cc13248
2020-05-26 04:20:39 -03:00
bunnei
86345c126a
Merge pull request #3978 from ReinUsesLisp/write-rz
...
shader_decompiler: Visit source nodes even when they assign to RZ
2020-05-25 21:31:33 -04:00
bunnei
1adabdac7f
Merge pull request #3905 from FernandoS27/vulkan-fix
...
Correct a series of crashes and intructions on Async GPU and Vulkan Pipeline
2020-05-24 15:23:38 -04:00
bunnei
325e7eed3c
Merge pull request #3964 from ReinUsesLisp/arb-integration
...
renderer_opengl: Add assembly program code paths
2020-05-24 00:34:12 -04:00
bunnei
487dd05170
Merge pull request #3979 from ReinUsesLisp/thread-group
...
shader/other: Implement thread comparisons (NV_shader_thread_group)
2020-05-24 00:33:06 -04:00
bunnei
6a5cf1473e
Merge pull request #3975 from ReinUsesLisp/fast-bufcache
...
buffer_cache: Replace boost::icl::interval_map with boost::intrusive::set
2020-05-24 00:32:44 -04:00
Tobias
d0a9caa08f
yuzu/discord_impl: Update the applicationID ( #3977 )
2020-05-22 18:26:26 +02:00
ReinUsesLisp
5d0986a53b
shader/other: Implement BAR.SYNC 0x0
...
Trivially implement this particular case of BAR. Unless games use OpenCL
or CUDA barriers, we shouldn't hit any other case here.
2020-05-21 23:20:43 -03:00
ReinUsesLisp
103809a0ca
shader/memory: Implement non-addition operations in RED
...
Trivially implement these instructions. They are used in Astral Chain.
2020-05-21 23:19:46 -03:00
ReinUsesLisp
e2b67a868b
shader/other: Implement thread comparisons (NV_shader_thread_group)
...
Hardware S2R special registers match gl_Thread*MaskNV. We can trivially
implement these using Nvidia's extension on OpenGL or naively stubbing
them with the ARB instructions to match. This might cause issues if the
host device warp size doesn't match Nvidia's. That said, this is
unlikely on proper shaders.
Refer to the attached url for more documentation about these flags.
https://www.khronos.org/registry/OpenGL/extensions/NV/NV_shader_thread_group.txt
2020-05-21 23:18:37 -03:00
ReinUsesLisp
ed4e324991
shader_decompiler: Visit source nodes even when they assign to RZ
...
Some operations like atomicMin were ignored because they returned were
being stored to RZ. This operations have a side effect and it was being
ignored.
2020-05-21 23:16:03 -03:00
ReinUsesLisp
434856c636
vk_shader_decompiler: Don't assert for void returns
...
Atomic instructions can be used without returning anything and this is
valid code. Remove the assert.
2020-05-21 23:16:03 -03:00
ReinUsesLisp
ebaace294f
buffer_cache: Remove unused boost headers
2020-05-21 16:44:00 -03:00
ReinUsesLisp
a2dcc642c1
map_interval: Add interval allocator and drop hack
...
Drop the std::list hack to allocate memory indefinitely.
Instead use a custom allocator that keeps references valid until
destruction. This allocates fixed chunks of memory and puts pointers in
a free list. When an allocation is no longer used put it back to the
free list, this doesn't heap allocate because std::vector doesn't change
the capacity. If the free list is empty, allocate a new chunk.
2020-05-21 16:44:00 -03:00
ReinUsesLisp
19d4f28001
buffer_cache: Use boost::container::small_vector for maps in range
...
Most overlaps in the buffer cache only contain one mapped address.
We can avoid close to all heap allocations once the buffer cache is
warmed up by using a small_vector with a stack size of one.
2020-05-21 16:44:00 -03:00
ReinUsesLisp
891236124c
buffer_cache: Use boost::intrusive::set for caching
...
Instead of using boost::icl::interval_map for caching, use
boost::intrusive::set. interval_map is intended as a container where the
keys can overlap with one another; we don't need this for caching
buffers and a std::set-like data structure that allows us to search with
lower_bound is enough.
2020-05-21 16:44:00 -03:00
ReinUsesLisp
3b0baf746e
buffer_cache: Remove shared pointers
...
Removing shared pointers is a first step to be able to use intrusive
objects and keep allocations close to one another in memory.
2020-05-21 16:02:54 -03:00
ReinUsesLisp
599274e3f0
buffer_cache: Minor style changes
...
Minor style changes. Mostly done so I avoid editing it while doing other
changes.
2020-05-21 16:02:20 -03:00
VolcaEM
cb75ccc1f7
clang-format
2020-05-21 10:43:55 +02:00
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
2020-05-21 10:23:53 +02:00
bunnei
ae61e47cba
Merge pull request #3946 from ogniK5377/sysverdat-10-0-2
...
file_sys: Update SystemVersion archive to version 10.0.2
2020-05-20 19:21:27 -04:00
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.
2020-05-19 18:00:04 -03:00
ReinUsesLisp
47a7c4f4fe
yuzu: Add frontend settings for assembly shaders
...
Add settings for assembly shaders. Currently hidden to avoid users from
accidentally enabled them.
2020-05-19 17:53:17 -03:00
bunnei
cf4ee279c6
Merge pull request #3926 from ogniK5377/keyboard-states
...
hid: Clear keyboard states & fix logic issue
2020-05-19 15:55:14 -04:00
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
2020-05-18 13:02:09 -04:00
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.
2020-05-17 21:45:09 -04:00
Morph
9a36d8600c
main: Log host system memory parameters
...
Logs both physical memory and swapfile sizes, this is useful for support.
2020-05-17 14:45:12 -04:00
bunnei
65010607b7
Merge pull request #3665 from bunnei/device-save
...
FS: Improve emulation of device saves
2020-05-16 12:39:58 -04:00
bunnei
3c378a31b5
Merge pull request #3945 from ogniK5377/nvflinger-pixformat
...
nv_flinger: Use enum for pixel format instead of u32
2020-05-16 02:00:50 -04:00
David Marcec
17455b7222
file_sys: Update SystemVersion archive to version 10.0.2
2020-05-16 13:56:06 +10:00
David Marcec
6f0360690b
nv_flinger: Use enum for pixel format instead of u32
2020-05-16 13:47:55 +10:00
David Marcec
4b9504028d
DmaPusher: Remove dead code in step
2020-05-16 12:42:27 +10:00
bunnei
55c0dd1cb3
Merge pull request #3942 from ReinUsesLisp/flush-and-invalidate
...
vk_rasterizer: Match OpenGL's FlushAndInvalidate behavior
2020-05-15 21:34:07 -04:00
ReinUsesLisp
7a27b7f3a3
vk_rasterizer: Match OpenGL's FlushAndInvalidate behavior
...
Match OpenGL's behavior. This can fix or simplify bisecting issues on
Vulkan.
2020-05-15 20:40:08 -03:00
Morph
b73f678ee8
frontend: Set minimum window size to 640x360 instead of 1280x720 ( #3413 )
2020-05-15 22:22:27 +02:00
bunnei
024c84d2db
Merge pull request #3927 from jroweboy/fix-bug
...
Frontend: Remove tracking for context wrapper
2020-05-14 00:07:38 -04:00
bunnei
0e2ded049d
Merge pull request #3757 from ogniK5377/better-voice-mixing
...
audio_renderer: Better voice mixing and 6 channel downmixing
2020-05-13 22:46:41 -04:00
bunnei
670a7f51e8
Merge pull request #3909 from bunnei/timezone
...
Improve time zone support
2020-05-13 21:41:45 -04:00
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
2020-05-13 09:51:14 -04:00
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
2020-05-13 04:36:47 -03:00
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.
2020-05-13 04:36:47 -03:00
bunnei
bba54e1880
time_zone: Use std::chrono::seconds for strong typing.
2020-05-12 18:44:07 -04:00
James Rowe
1585981eec
Frontend: Remove tracking for context wrapper
2020-05-11 23:50:03 -06:00
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
2020-05-12 12:40:50 +10:00
bunnei
1beaebe666
Merge pull request #3816 from ReinUsesLisp/vk-rasterizer-enable
...
vk_graphics_pipeline: Implement rasterizer_enable on Vulkan
2020-05-11 18:22:51 -04:00
bunnei
3c8cd62b0d
hle: service: time_zone_manager: Use current time zone setting.
2020-05-11 17:55:25 -04:00
bunnei
33441fa728
common: Add module to get the current time zone.
2020-05-11 17:51:26 -04:00
bunnei
988e42a3f5
core: settings: Add a setting for time zone.
2020-05-11 17:50:07 -04:00
David Marcec
16c0373adc
fix logic error & scale sample volume based on voice volume
2020-05-11 12:56:15 -04:00
David Marcec
c4e7ec7a99
pass by const ref instead
2020-05-11 12:56:15 -04:00
David Marcec
9de860a419
audio_renderer: Better voice mixing and 6 channel downmixing
...
Supersedes #3738 and #3321
2020-05-11 12:56:15 -04:00
bunnei
47b97b9577
service: fsp_srv: Stub implementation of OpenMultiCommitManager.
2020-05-11 12:54:30 -04:00
bunnei
551c61bf27
yuzu: game_list: Fix 'Open Save Data Location' for device saves.
2020-05-11 12:54:30 -04:00
bunnei
ab9ddab0a2
file_sys: savefata_factory: Update to support DeviceSaveData.
2020-05-11 12:54:30 -04:00
bunnei
9c065c013e
file_sys: control_metadata: Expose device_save_data_size.
2020-05-11 12:54:30 -04:00
David Marcec
ecc8ccc9d3
Stub SendKeyboardLockKeyEvent
...
Needed for Puchikon 4 SmileBASIC 1.0.0
2020-05-12 01:01:50 +10:00
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).
2020-05-10 02:59:33 -03:00
Fernando Sahmkow
1887afaf9e
RasterizerCache: Correct documentation.
2020-05-09 21:03:39 -04:00
Fernando Sahmkow
8d15f8b28e
VkPipelineCache: Use a null shader on invalid address.
2020-05-09 20:51:34 -04:00
Fernando Sahmkow
0a4be73b9b
VideoCore: Use SyncGuestMemory mechanism for Shader/Pipeline Cache invalidation.
2020-05-09 19:25:29 -04:00
Rodrigo Locatti
7e376af8fc
Merge pull request #3839 from Morph1984/r8g8ui
...
texture: Implement R8G8UI
2020-05-09 05:28:55 -03:00
ReinUsesLisp
4e57f9d5cf
shader_ir: Separate float-point comparisons in ordered and unordered
...
This allows us to use native SPIR-V instructions without having to
manually check for NAN.
2020-05-09 04:55:15 -03:00
bunnei
a9ee6e346b
Merge pull request #3842 from makigumo/maxwell_to_vk_vertexattribute_signed_int
...
maxwell_to_vk: implement missing signed int formats
2020-05-09 00:36:09 -04:00
James Rowe
bc30a591ba
Replace externals with Conan ( #3735 )
...
* Remove git submodules that will be loaded through conan
* Move custom Find modules to their own folder
* Use conan for downloading missing external dependencies
* CI: Change the yuzu source folder user to the user that the containers run on
* Attempt to remove dirty mingw build hack
* Install conan on the msvc build
* Only set release build type when using not using multi config generator
* Re-add qt bundled to workaround an issue with conan qt not downloading prebuilt binaries
* Add workaround for submodules that use legacy CMAKE variables
* Re-add USE_BUNDLED_QT on the msvc build bot
2020-05-08 17:09:29 -04:00
bunnei
50c27d5ae1
Merge pull request #3885 from ReinUsesLisp/viewport-swizzles
...
video_core: Implement viewport swizzles with NV_viewport_swizzle
2020-05-08 15:16:53 -04:00
bunnei
1121960f0e
Merge pull request #3879 from lioncash/global2
...
hle_ipc: Eliminate core memory globals
2020-05-07 19:13:34 -04:00
bunnei
028f6fdbf6
Merge pull request #3884 from ReinUsesLisp/border-colors
...
vk_sampler_cache: Use VK_EXT_custom_border_color when available
2020-05-07 12:18:53 -04:00
FearlessTobi
9e5af4ad30
Menubar: fix mouse tracking bug
...
Co-Authored-By: Vitor K <vitor-k@users.noreply.github.com>
2020-05-06 22:14:52 +02:00
bunnei
41682e0888
Merge pull request #3815 from FernandoS27/command-list-2
...
GPU: More optimizations to GPU Command List Processing and DMA Copy Optimizations
2020-05-05 17:12:42 -04:00
bunnei
88141bb2d4
Merge pull request #3881 from lioncash/mem-warning
...
kernel/memory: Resolve several compiler warnings
2020-05-05 15:41:18 -04:00
bunnei
eb2c50c5e6
Update src/video_core/gpu.cpp
...
Co-authored-by: David <25727384+ogniK5377@users.noreply.github.com>
2020-05-05 15:39:44 -04:00
bunnei
ea09930196
Update src/video_core/gpu.cpp
...
Co-authored-by: David <25727384+ogniK5377@users.noreply.github.com>
2020-05-05 15:39:37 -04:00
ReinUsesLisp
227278098a
vk_sampler_cache: Use VK_EXT_custom_border_color when available
...
This should fix grass interactions on Breath of the Wild on Vulkan.
It is currently untested against validation layers.
Nvidia's Windows 443.09 beta driver or Linux 440.66.12 is required for
now.
2020-05-04 20:49:23 -03:00
bunnei
929acd4d1e
Merge pull request #3880 from lioncash/encoding
...
kernel/memory: Amend potential encoding warnings
2020-05-04 18:50:29 -04:00
ReinUsesLisp
2dbf5290f2
vk_graphics_pipeline: Implement viewport swizzles with NV_viewport_swizzle
2020-05-04 18:31:17 -03:00
ReinUsesLisp
f813cd3ff7
gl_rasterizer: Implement viewport swizzles with NV_viewport_swizzle
2020-05-04 17:51:30 -03:00
ReinUsesLisp
9b8e962368
maxwell_3d: Add viewport swizzles
2020-05-04 17:50:59 -03:00
bunnei
500e9c5969
Merge pull request #3843 from ogniK5377/GetPopFromGeneralChannelEvent
...
am: IHomeMenuFunctions:GetPopFromGeneralChannelEvent
2020-05-04 16:20:11 -04:00
bunnei
fc04108c77
Merge pull request #3637 from FearlessTobi/port-5094
...
Port citra-emu/citra#5094 : "yuzu: Option to hide mouse on inactivity"
2020-05-03 23:16:19 -04:00
bunnei
29fce1a187
Merge pull request #3822 from ogniK5377/GetAccountId
...
acc: Return a unique value per account for GetAccountId
2020-05-03 23:15:03 -04:00
Lioncash
4620580245
kernel/memory: Remove #pragma once within cpp file
...
This isn't necessary in a cpp file and will cause warnings on clang.
2020-05-03 13:42:07 -04:00
Lioncash
1ecaa86a52
kernel/memory: Remove unused includes
...
Prevents header churn and needing to recompile these files if these
headers are ever changed in the future.
2020-05-03 13:41:18 -04:00
Lioncash
a2e61e6542
kernel/memory: Remove unused variables in memory_block_manager
...
Prevents unused variable warnings.
2020-05-03 13:36:20 -04:00
Lioncash
26aee55aef
kernel/memory: Make use of std::array consistently in address_space_info
...
This allows tuning standard library implementations to enable or disable
range checks at runtime, which is nicer for debugging.
2020-05-03 13:34:24 -04:00
Lioncash
dfa582169b
kernel/memory: Resolve -Wshadow warnings
...
Prevents variable name clashing.
2020-05-03 13:29:42 -04:00
Lioncash
93c083aef1
kernel/memory: Amend potential encoding warnings
...
While èis generally representable in some language encodings, in some
it isn't and will result in compilation warnings occurring. To remain
friendly with other language's codepages on Windows, we normalize it to
an ASCII e.
2020-05-03 13:01:03 -04:00
Lioncash
0ec07e8763
hle_ipc: Eliminate core memory globals
...
We can just pass the required instances into the constructor of the
request, eliminating all usages of the global system accessor.
2020-05-03 12:57:40 -04:00
Morph
3cfa7a89e0
settings: Add anisotropic filtering level to the yuzu configuration log ( #3875 )
2020-05-03 17:42:17 +02:00
bunnei
2aff0b4733
Merge pull request #3808 from ReinUsesLisp/wait-for-idle
...
{maxwell_3d,buffer_cache}: Implement memory barriers using 3D registers
2020-05-03 02:43:18 -04:00
Mat M
3309a6cdf1
Merge pull request #3872 from FearlessTobi/reopen-3792
...
input_common: fix build when SDL2 is disabled
2020-05-03 01:01:11 -04:00
bunnei
8db4feb5b4
Merge pull request #3871 from lioncash/semi
...
readable_event: Remove unnecessary semicolon in Signal()
2020-05-02 23:38:36 -04:00
bunnei
7459215933
Merge pull request #3824 from ogniK5377/GetDisplayVersion
...
am: Properly implement GetDisplayVersion
2020-05-02 23:35:38 -04:00
bunnei
c49f51eaf1
Update src/core/hle/service/am/am.cpp
...
Co-authored-by: Mat M. <mathew1800@gmail.com>
2020-05-02 23:35:31 -04:00
FearlessTobi
3d1e741645
input_common: fix build when SDL2 is disabled
2020-05-02 21:47:17 +02:00
Lioncash
aabf5b2059
readable_event: Remove unnecessary semicolon in Signal()
...
Resolves a -Wextra-semi warning.
While we're at it, we can invert the branch to form a guard clause,
unindenting all of the contained code.
2020-05-02 14:07:31 -04:00
bunnei
30bd77c6e7
Merge pull request #3811 from ogniK5377/audin-init
...
audin:u: ListAudioIns, OpenAudioIn, ListAudioInsAuto, OpenAudioInAuto, ListAudioInsAutoFiltered, OpenAudioInProtocolSpecified
2020-05-02 13:11:52 -04:00
bunnei
5ddcc1b2f5
Merge pull request #3819 from ogniK5377/err-log2
...
kernel: Don't fail silently
2020-05-02 02:51:50 -04:00
bunnei
f4ca8e0d3e
Merge pull request #3732 from lioncash/header
...
vulkan: Remove unnecessary includes
2020-05-02 01:36:57 -04:00
bunnei
0128901102
Merge pull request #3809 from ReinUsesLisp/empty-index
...
vk_rasterizer: Skip index buffer setup when vertices are zero
2020-05-02 01:21:57 -04:00
ReinUsesLisp
3b668e1210
vk_graphics_pipeline: Implement rasterizer_enable on Vulkan
...
We can simply enable rasterizer discard matching the current pipeline
key.
2020-05-02 01:47:25 -03:00
bunnei
e6b4311178
Merge pull request #3693 from ReinUsesLisp/clean-samplers
...
shader/texture: Support multiple unknown sampler properties
2020-05-02 00:45:41 -04:00
Mat M
5f2a9a4c86
Merge pull request #3859 from jbeich/clang
...
Unbreak build with Clang < 10
2020-05-01 23:39:12 -04:00
bunnei
1bcdf5e61c
Merge pull request #3833 from qwell/caps_su-32-stub
...
Add stub for caps:su SetShimLibraryVersion
2020-05-01 23:34:05 -04:00
bunnei
fd005585f6
Merge pull request #3821 from ogniK5377/InitializeApplicationInfo-fix
...
acc: Fix InitializeApplicationInfo
2020-05-01 22:06:05 -04:00
bunnei
224cf3075c
Merge pull request #3812 from ogniK5377/lisst-qualified-users
...
account: ListQualifiedUsers
2020-05-01 22:05:37 -04:00
Jan Beich
b4d0724a63
fixed_pipeline_state: explicitly use template keyword after 1f345ebe3a
...
In file included from src/video_core/renderer_opengl/renderer_opengl.cpp:25:
In file included from src/./video_core/renderer_opengl/gl_rasterizer.h:26:
In file included from src/./video_core/renderer_opengl/gl_fence_manager.h:11:
src/./video_core/fence_manager.h:91:32: error: use 'template' keyword
to treat 'Write' as a dependent template name
memory_manager.Write<u32>(current_fence->GetAddress(), current_fence->GetPayload());
^
template
src/./video_core/fence_manager.h:137:32: error: use 'template'
keyword to treat 'Write' as a dependent template name
memory_manager.Write<u32>(current_fence->GetAddress(), current_fence->GetPayload());
^
template
2020-05-01 23:38:23 +00:00
David Marcec
d5a69ecb68
nvdrv: Fix GetGpuTime stack corruption
...
IoctlGetGpuTime should be 16 bytes, not 8.
2020-05-02 00:14:37 +10:00
David Marcec
8850d85341
am: IHomeMenuFunctions:GetPopFromGeneralChannelEvent
...
QLaunch 1.0.0
2020-05-01 11:20:43 +10:00
Dan
96ee1b42bc
maxwell_to_vk: implement missing signed int formats
2020-04-30 23:39:16 +02:00
Jason Parker
4b16e93f1a
caps:su Stub out SetShimLibraryVersion
...
Used by Animal Crossing: New Horizons when trying to take a picture.
2020-04-30 15:16:53 -04:00
Mat M
f88d2f5739
Merge pull request #3823 from ogniK5377/setvrmode
...
am: IsVrModeEnabled & SetVrModeEnabled fixes
2020-04-30 13:39:16 -04:00
Mat M
ecf1f2e054
Merge pull request #3830 from ogniK5377/GetFriendInvitationStorageChannelEvent
...
am: GetFriendInvitationStorageChannelEvent
2020-04-30 13:38:35 -04:00
Mat M
0a0b676286
Merge pull request #3835 from ogniK5377/GetFreeSpaceSize-GetTotalSpaceSize
...
fs-srv: GetFreeSpaceSize & GetTotalSpaceSize
2020-04-30 13:37:43 -04:00
Mat M
07552d4615
Merge pull request #3832 from ogniK5377/nim-eca-CreateServerInterface
...
nim: CreateServerInterface, CreateAccessorInterface, CreateAsyncInterface
2020-04-30 13:36:04 -04:00
Mat M
e6f4251988
Merge pull request #3831 from ogniK5377/caps-su-names
...
caps: Add missing service names to caps:su
2020-04-30 13:32:53 -04:00
Morph
7909860d16
texture: Implement R8G8UI
...
- Used by The Walking Dead: The Final Season
2020-04-30 13:19:36 -04:00
bunnei
96cd5dce85
Merge pull request #3825 from ogniK5377/psm-no-warn
...
psm: Mark as debug instead of warning
2020-04-30 13:11:11 -04:00
bunnei
bf3f030a0d
Merge pull request #3807 from ReinUsesLisp/fix-depth-clamp
...
maxwell_3d: Fix depth clamping register
2020-04-30 13:07:31 -04:00
bunnei
c7b5a87c90
Merge pull request #3799 from ReinUsesLisp/iadd-cc
...
shader: Implement P2R CC, IADD Rd.CC and IADD.X
2020-04-30 12:56:36 -04:00
bunnei
da2b8295e1
Merge pull request #3805 from ReinUsesLisp/preserve-contents
...
texture_cache: Reintroduce preserve_contents accurately
2020-04-30 12:56:19 -04:00
bunnei
6572660fde
Merge pull request #3788 from FernandoS27/revert
...
Revert: shader_decode: Fix LD, LDG when track constant buffer.
2020-04-30 12:55:39 -04:00
David Marcec
78e5f162e2
fs-srv: GetFreeSpaceSize & GetTotalSpaceSize
...
Closes #3533
Turns out the functions were already implemented but just never added
2020-04-30 23:59:57 +10:00
David Marcec
55e423c8b6
nim: CreateServerInterface, CreateAccessorInterface, CreateAsyncInterface
...
Closes #3026
2020-04-30 23:10:20 +10:00
David Marcec
738140fdd8
caps: Add missing service names to caps:su
...
SetShimLibraryVersion, SaveScreenShotEx1 & SaveScreenShotEx2 were missing
2020-04-30 22:51:06 +10:00
David Marcec
10804d6d0e
am: GetFriendInvitationStorageChannelEvent
...
Closes #3829
2020-04-30 22:37:26 +10:00
David Marcec
973c40b63e
psm: Mark as debug instead of warning
...
No point to emulate battery life. However options are broken out if we ever want to add a setting for it
2020-04-29 22:39:49 +10:00
David Marcec
9acd336422
am: Properly implement GetDisplayVersion
...
Properly implement IApplicationFunctions::GetDisplayVersion
2020-04-29 22:13:56 +10:00
David Marcec
8bddc750e2
am: IsVrModeEnabled & SetVrModeEnabled fixes
...
Return the proper state of vr mode for IsVrModeEnabled
We should not return an error for SetVrModeEnabled. When VR Mode is turned on, it signals to lbl to turn vr mode on, not return an error code
2020-04-29 21:48:58 +10:00
David Marcec
1417849a2b
acc: Return a unique value per account for GetAccountId
2020-04-29 21:09:53 +10:00
David Marcec
1fbc341aba
acc: Fix InitializeApplicationInfo
...
We're not suppose to pop a u64, should just read the sent pid and check that
2020-04-29 20:49:35 +10:00
David Marcec
b6538c3e7c
kernel: Don't fail silently
2020-04-29 14:53:53 +10:00
Lioncash
6c53edd4d3
vulkan: Remove unnecessary includes
...
Reduces some header churn and reduces rebuilds when some header
internals change.
While we're at it we can also resolve a missing include in buffer_cache.
2020-04-28 21:54:46 -04:00
bunnei
8e64fb3225
Merge pull request #3771 from benru/dump-romfs-with-updates
...
Dump RomFS command to include Updates
2020-04-28 21:54:06 -04:00
Mat M
c3c3e07263
Merge pull request #3818 from ogniK5377/err-log
...
Don't fail silently for vi, sm, set and ns services
2020-04-28 21:41:13 -04:00
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
2020-04-28 21:38:02 -04:00
David Marcec
b4dbf1b9c7
Don't fail silently for vi, sm, set and ns services
2020-04-29 11:15:21 +10:00
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.
2020-04-28 17:14:53 -03:00
Fernando Sahmkow
9df67b2095
Clang Format and Documentation.
2020-04-28 14:02:51 -04:00
Fernando Sahmkow
37c690576f
MaxwellDMA: Optimize micro copies.
2020-04-28 13:44:14 -04:00
bunnei
72b73d22ab
Merge pull request #3784 from ReinUsesLisp/shader-memory-util
...
shader/memory_util: Deduplicate code
2020-04-28 12:05:50 -04:00
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.
2020-04-29 01:17:59 +10:00
David Marcec
fdbeb90bd0
Updated comment to reflect ListQualifiedUsers better
2020-04-29 01:13:03 +10:00
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
2020-04-29 00:49:49 +10:00
David Marcec
1276e425d2
marked stubs
2020-04-29 00:43:05 +10:00
David Marcec
a17813c4f4
account: ListQualifiedUsers
...
Closes #2844
2020-04-29 00:37:47 +10:00
David Marcec
fb51a655b8
Audin:u ListAudioIns, OpenAudioIn, ListAudioInsAuto, OpenAudioInAuto, ListAudioInsAutoFiltered, OpenAudioInProtocolSpecified
...
Closes #2874
2020-04-29 00:19:07 +10:00