- 04 Jun, 2020 1 commit
-
-
David Marcec authored
-
- 03 Jun, 2020 1 commit
-
-
David Marcec authored
-
- 02 Jun, 2020 1 commit
-
-
David Marcec authored
-
- 30 May, 2020 4 commits
-
-
David Marcec authored
Easier to read and will emit a jump table automatically.
-
David Marcec authored
-
Fernando Sahmkow authored
Add xbyak external
-
David Marcec authored
-
- 29 May, 2020 3 commits
- 28 May, 2020 6 commits
-
-
ReinUsesLisp authored
These logs were killing performance on some games when they were spammed. Reduce them to Debug severity.
-
lat9nq authored
-
lat9nq authored
-
bunnei authored
gl_shader_manager: Unbind GLSL program when binding a host pipeline
-
lat9nq authored
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'.
-
bunnei authored
main: Log host system memory parameters
-
- 27 May, 2020 2 commits
- 26 May, 2020 7 commits
-
-
ReinUsesLisp authored
Null texture cubes were not considered arrays, causing issues on Vulkan and OpenGL when creating views.
-
ReinUsesLisp authored
This fixes cases where the texture swizzle was applied twice on the same draw to a texture bound to two different slots.
-
ReinUsesLisp authored
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.
-
bunnei authored
shader/other: Implement BAR.SYNC 0x0
-
bunnei authored
shader/memory: Implement non-addition operations in RED
-
ReinUsesLisp authored
Fixes regression in Link's Awakening caused by 420cc132
-
bunnei authored
shader_decompiler: Visit source nodes even when they assign to RZ
-
- 24 May, 2020 4 commits
-
-
bunnei authored
Correct a series of crashes and intructions on Async GPU and Vulkan Pipeline
-
bunnei authored
renderer_opengl: Add assembly program code paths
-
bunnei authored
shader/other: Implement thread comparisons (NV_shader_thread_group)
-
bunnei authored
buffer_cache: Replace boost::icl::interval_map with boost::intrusive::set
-
- 22 May, 2020 7 commits
-
-
Tobias authored
-
bunnei authored
nifm: correct assert string in CreateTemporaryNetworkProfile
-
ReinUsesLisp authored
Trivially implement this particular case of BAR. Unless games use OpenCL or CUDA barriers, we shouldn't hit any other case here.
-
ReinUsesLisp authored
Trivially implement these instructions. They are used in Astral Chain.
-
ReinUsesLisp authored
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
-
ReinUsesLisp authored
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.
-
ReinUsesLisp authored
Atomic instructions can be used without returning anything and this is valid code. Remove the assert.
-
- 21 May, 2020 4 commits
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
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.
-
ReinUsesLisp authored
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.
-
ReinUsesLisp authored
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.
-