VolcaEM
c0d6162050
Revert IsValidNRO refactor but make it more readable
6 years ago
VolcaEM
4b71bf654d
Update assert string
6 years ago
VolcaEM
39213b1c59
Clang-format again
6 years ago
VolcaEM
198b0fa790
Use consistent variable names
6 years ago
VolcaEM
1520d7865d
Clang-format
6 years ago
VolcaEM
761d206049
Make assert strings consistent
6 years ago
VolcaEM
151a3fe7b3
Attempt to fix crashes in SSBU and refactor IsValidNRO
6 years ago
VolcaEM
dfd1badc12
Address review comments
6 years ago
VolcaEM
a087b3365a
Add comment to nrr_kind
According to Atmosphére (c7026b9094/libraries/libstratosphere/include/stratosphere/ro/ro_types.hpp), nrr_kind (Atmosphére calls it "type") is 7.0.0+
6 years ago
VolcaEM
2b1cc232bc
ldr: Update NRR/NRO structs
This was based on Switchbrew pages:
https://switchbrew.org/wiki/NRR
https://switchbrew.org/wiki/NRO
6 years ago
bunnei
058ec22787
Merge pull request #3982 from ReinUsesLisp/membar-cts
shader/other: Implement MEMBAR.CTS
6 years ago
Fernando Sahmkow
9d9ffe0f94
Merge pull request #4017 from ogniK5377/xbyak
Add xbyak external
6 years ago
David Marcec
d0bdd26c26
Add xbyak external
6 years ago
bunnei
87b272699f
Merge pull request #4007 from ReinUsesLisp/reduce-logs
maxwell_3d: Reduce severity of logs that can be spammed
6 years ago
bunnei
1bb3122c1f
Merge pull request #3991 from ReinUsesLisp/depth-sampling
texture_cache: Implement depth stencil texture swizzles
6 years ago
bunnei
5242b21524
Merge pull request #4002 from lat9nq/fix-nix-mod-directories
patch_manager: Add support for case-sensitivity on Linux
6 years ago
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.
6 years ago
lat9nq
f57cbd9f24
Make copying directory string more concise
6 years ago
lat9nq
326403518d
Address requested changes
6 years ago
bunnei
099ac9c2a8
Merge pull request #3993 from ReinUsesLisp/fix-zla
gl_shader_manager: Unbind GLSL program when binding a host pipeline
6 years ago
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'.
6 years ago
bunnei
640f0d1cec
Merge pull request #3954 from Morph1984/log-memory-amount
main: Log host system memory parameters
6 years ago
bunnei
630fc12d4e
Merge pull request #3961 from Morph1984/bgra8_srgb
maxwell_to_vk: Add format B8G8R8A8_SRGB and add Attachable capability for B8G8R8A8_UNORM
6 years ago
Morph
b2af304918
Fix macOS code and change "Swapfile" to "Swap"
6 years ago
ReinUsesLisp
32e6727dae
shader/other: Implement MEMBAR.CTS
This silences an assertion we were hitting and uses workgroup memory
barriers when the game requests it.
6 years ago
ReinUsesLisp
b2c4521a91
texture_cache: Fix layered null surfaces
Null texture cubes were not considered arrays, causing issues on Vulkan
and OpenGL when creating views.
6 years ago
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.
6 years ago
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.
6 years ago
bunnei
508242c267
Merge pull request #3981 from ReinUsesLisp/bar
shader/other: Implement BAR.SYNC 0x0
6 years ago
bunnei
623d9c47a2
Merge pull request #3980 from ReinUsesLisp/red-op
shader/memory: Implement non-addition operations in RED
6 years ago
ReinUsesLisp
c13e2f1b75
gl_shader_manager: Unbind GLSL program when binding a host pipeline
Fixes regression in Link's Awakening caused by 420cc13248
6 years ago
bunnei
86345c126a
Merge pull request #3978 from ReinUsesLisp/write-rz
shader_decompiler: Visit source nodes even when they assign to RZ
6 years ago
bunnei
1adabdac7f
Merge pull request #3905 from FernandoS27/vulkan-fix
Correct a series of crashes and intructions on Async GPU and Vulkan Pipeline
6 years ago
bunnei
325e7eed3c
Merge pull request #3964 from ReinUsesLisp/arb-integration
renderer_opengl: Add assembly program code paths
6 years ago
bunnei
487dd05170
Merge pull request #3979 from ReinUsesLisp/thread-group
shader/other: Implement thread comparisons (NV_shader_thread_group)
6 years ago
bunnei
6a5cf1473e
Merge pull request #3975 from ReinUsesLisp/fast-bufcache
buffer_cache: Replace boost::icl::interval_map with boost::intrusive::set
6 years ago
Tobias
d0a9caa08f
yuzu/discord_impl: Update the applicationID ( #3977 )
6 years ago
bunnei
1306608b2a
Merge pull request #3970 from VolcaEM/patch-1
nifm: correct assert string in CreateTemporaryNetworkProfile
6 years ago
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.
6 years ago
ReinUsesLisp
103809a0ca
shader/memory: Implement non-addition operations in RED
Trivially implement these instructions. They are used in Astral Chain.
6 years ago
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
6 years ago
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.
6 years ago
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.
6 years ago
ReinUsesLisp
ebaace294f
buffer_cache: Remove unused boost headers
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
ReinUsesLisp
599274e3f0
buffer_cache: Minor style changes
Minor style changes. Mostly done so I avoid editing it while doing other
changes.
6 years ago
VolcaEM
cb75ccc1f7
clang-format
6 years ago