bunnei
5122792d3f
Merge pull request #3679 from lioncash/track
track: Eliminate redundant copies
6 years ago
bunnei
8895964653
Merge pull request #3720 from jbeich/freebsd
Unbreak Vulkan on FreeBSD
6 years ago
bunnei
5ce3dc16a5
core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page.
6 years ago
Rodrigo Locatti
3fa8a21647
Merge pull request #3719 from jbeich/clang
Unbreak -Werror=implicit-fallthrough with Clang
6 years ago
Jan Beich
cc5e71c5ad
renderer_vulkan: assume X11 if not Windows/macOS after 30bbdc653c
Render.Vulkan <Error> video_core/renderer_vulkan/renderer_vulkan.cpp:CreateInstance:131: Presentation not supported on this platform
Render.Vulkan <Error> video_core/renderer_vulkan/renderer_vulkan.cpp:CreateSurface:378: Presentation not supported on this platform
Core <Critical> core/core.cpp:Load:199: Failed to initialize system (Error 5)!
6 years ago
ReinUsesLisp
fcbe714435
vulkan/wrapper: Sort physical devices
Sort discrete GPUs over the rest, Nvidia over AMD, AMD over Intel, Intel
over the rest. This gives us a somewhat consistent order when Optimus
is removed (renderdoc does this when it's attached).
This can break the configuration of users with an Intel GPU that
manually remove Optimus on yuzu. That said, it's a very unlikely to
happen.
6 years ago
Jan Beich
c6bd2823bb
cmake: Silence -Werror=implicit-fallthrough in SDL2 headers
In file included from src/input_common/sdl/sdl_impl.cpp:16:
In file included from /usr/local/include/SDL2/SDL.h:32:
In file included from /usr/local/include/SDL2/SDL_main.h:25:
/usr/local/include/SDL2/SDL_stdinc.h:445:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
case 3: *_p++ = _val; /* fallthrough */
^
/usr/local/include/SDL2/SDL_stdinc.h:445:9: note: insert '[[fallthrough]];' to silence this warning
case 3: *_p++ = _val; /* fallthrough */
^
[[fallthrough]];
/usr/local/include/SDL2/SDL_stdinc.h:445:9: note: insert 'break;' to avoid fall-through
case 3: *_p++ = _val; /* fallthrough */
^
break;
/usr/local/include/SDL2/SDL_stdinc.h:446:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
case 2: *_p++ = _val; /* fallthrough */
^
/usr/local/include/SDL2/SDL_stdinc.h:446:9: note: insert '[[fallthrough]];' to silence this warning
case 2: *_p++ = _val; /* fallthrough */
^
[[fallthrough]];
/usr/local/include/SDL2/SDL_stdinc.h:446:9: note: insert 'break;' to avoid fall-through
case 2: *_p++ = _val; /* fallthrough */
^
break;
/usr/local/include/SDL2/SDL_stdinc.h:447:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
case 1: *_p++ = _val; /* fallthrough */
^
/usr/local/include/SDL2/SDL_stdinc.h:447:9: note: insert '[[fallthrough]];' to silence this warning
case 1: *_p++ = _val; /* fallthrough */
^
[[fallthrough]];
/usr/local/include/SDL2/SDL_stdinc.h:447:9: note: insert 'break;' to avoid fall-through
case 1: *_p++ = _val; /* fallthrough */
^
break;
3 errors generated.
6 years ago
ReinUsesLisp
98266da47c
fixed_pipeline_state: Hash and compare the whole structure
Pad FixedPipelineState's size to 384 bytes to be a multiple of 16.
Compare the whole struct with std::memcmp and hash with CityHash. Using
CityHash instead of a naive hash should reduce the number of collisions.
Improve used type traits to ensure this operation is safe.
With these changes the improvements to the hashable pipeline state are:
Optimized structure
Hash: 89 ns
Comparison: 103 ns
Construction*: 164 ns
Struct size: 384 bytes
Original structure
Hash: 148 ns
Equal: 174 ns
Construction*: 281 ns
Size: 1384 bytes
* Attribute state initialization is not measured
These measures are averages taken with std::chrono::high_accuracy_clock
on MSVC shipped on Visual Studio 16.6.0 Preview 2.1.
6 years ago
ReinUsesLisp
89c816a3cf
fixed_pipeline_state: Pack blending state
Reduce FixedPipelineState's size to 364 bytes.
6 years ago
ReinUsesLisp
d74b3a5a50
fixed_pipeline_state: Pack rasterizer state
Reduce FixedPipelineState's size to 600 bytes.
6 years ago
ReinUsesLisp
cc6af27ae7
fixed_pipeline_state: Pack depth stencil state
Reduce FixedPipelineState's size to 632 bytes.
6 years ago
ReinUsesLisp
fd2f04bbdc
fixed_pipeline_state: Pack attribute state
Reduce FixedPipelineState's size from 1384 to 664 bytes
6 years ago
Mat M
63fb1421a5
Merge pull request #3716 from bunnei/fix-another-impl-fallthrough
video_core: gl_shader_decompiler: Fix implicit fallthrough errors.
6 years ago
bunnei
6613cbfc35
video_core: gl_shader_decompiler: Fix implicit fallthrough errors.
6 years ago
bunnei
610f78e1eb
Merge pull request #3710 from lioncash/nso
loader/nso: Resolve moves not occurring in DecompressSegment
6 years ago
Mat M
fb321bdb18
Merge pull request #3715 from bunnei/fix-impl-fallthrough
service: hid: npad: Fix implicit fallthrough errors.
6 years ago
bunnei
f220140e8a
service: hid: npad: Fix implicit fallthrough errors.
6 years ago
bunnei
32fd01e339
Merge pull request #3713 from lioncash/time
service/time: Minor changes
6 years ago
bunnei
8044966cf4
Merge pull request #3711 from lioncash/cast
memory/slab_heap: Make use of static_cast over reinterpret_cast
6 years ago
Lioncash
e302cb8c36
gl_shader_decompiler: Avoid copies where applicable
Avoids unnecessary reference count increments where applicable and also
avoids reallocating a vector.
Unlikely to make a huge difference, but given how trivial of an
amendment it is, why not?
6 years ago
Lioncash
de87fe690e
time/system_clock_core: Remove unnecessary initializer
This is already initialized within the class body.
6 years ago
Lioncash
8c0589239b
service/time: Mark IsStandardNetworkSystemClockAccuracySufficient as const
This doesn't modify internal member state.
6 years ago
Lioncash
30af9f0d5c
service/time: Add virtual destructors where applicable
Many of these implementations are used to implement a polymorphic
interface. While not directly used polymorphically, this prevents
virtual destruction from ever becoming an issue.
6 years ago
Lioncash
5f25db88b1
service: Remove unused RequestParser instances
These aren't used, so they should be removed to reduce compilation
warnings.
6 years ago
bunnei
50800a5509
Merge pull request #3704 from lioncash/fmt
externals: Update fmt to 6.2.0
6 years ago
bunnei
9611466c66
Merge pull request #3630 from benru/open-windows-network-files
common/file_util: Allow access to files on network shares
6 years ago
Lioncash
ac3ff8c9ba
memory/slab_heap: Make use of static_cast over reinterpret_cast
Casting from void* with static_cast is permitted by the standard, so we
can just make use of that instead.
6 years ago
Lioncash
d0569a0865
loader/nso: Resolve moves not occurring in DecompressSegment
Given the std::vector was const, an automatic move out of the function
could not occur.
We can allow automatic return value optimizations to occur by making the
buffer non-const.
6 years ago
Lioncash
972240e94a
am: Resolve ineffective moves
Previously const objects were being std::moved, which results in no move
actually occurring. This resolves that.
6 years ago
Mat M
830767716e
Merge pull request #3706 from degasus/fix_fallthrough_error
video_code: Fix implicit switch fallthrough.
6 years ago
Markus Wick
d8d02fa184
video_code: Fix implicit switch fallthrough.
Since yesterday, this breaks the build on linux.
So let's fix it.
6 years ago
Lioncash
b250791362
externals: Update fmt to 6.2.0
Keeps the library up to date.
6 years ago
ReinUsesLisp
153845bba3
vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers
Nvidia recently introduced a new memory type for data streaming
(awesome!), but yuzu was assuming that all heaps had enough memory
for the assumed stream buffer size (256 MiB).
This worked fine on AMD but Nvidia's new memory heap was smaller than
256 MiB. This commit changes this assumption and allocates a bit less
than the size of the preferred heap, with a maximum of 256 MiB (to avoid
allocating all system memory on integrated devices).
- Fixes a crash on NVIDIA 450.82.0.0
6 years ago
Fernando Sahmkow
74ce229ca5
Merge pull request #3703 from yuzu-emu/revert-3656-glsl-full-decompile
Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL"
6 years ago
Fernando Sahmkow
c2bd9f729c
Merge pull request #3672 from lioncash/null
file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero
6 years ago
Rodrigo Locatti
aed8e57a1b
Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL"
6 years ago
bunnei
66cb8ee64f
Merge pull request #3666 from bunnei/new-vmm
Implement a new virtual memory manager
6 years ago
bunnei
d392c4e552
Merge pull request #3682 from lioncash/uam
gl_query_cache: Resolve use-after-move in CachedQuery move assignment operator
6 years ago
bunnei
4cdbd44f51
core: hle: Address various feedback & code cleanup.
- Should be no functional changes.
6 years ago
bunnei
2e718b26c8
core: device_memory: Remove incorrect usage of constexpr.
6 years ago
bunnei
bdf7501e7b
memory: Add copyright notice for Atmosphere where applicable.
6 years ago
bunnei
0cf0195874
kernel: Remove old VMManager class.
6 years ago
bunnei
a48860f7ba
loader: nso: Fix loader size and arguments.
6 years ago
bunnei
9b2526392a
loader: elf/kip/nro: Updates for new VMM.
6 years ago
bunnei
0707404f34
service: ldr: Updates for new VMM.
- Includes removing some service impls. that are untested.
6 years ago
bunnei
27b5b6c36f
kernel: memory: page_table: Simplify GetPhysicalAddr impl.
6 years ago
bunnei
6b40850b9a
kernel: svc: Updates for new VMM.
- Includes removing some SVC impls. that are untested.
6 years ago
bunnei
8a67b3058e
core: memory: Fix memory access on page boundaries.
- Fixes Super Smash Bros. Ultimate.
6 years ago
bunnei
5a461a7482
video_core: memory_manager: Updates for Common::PageTable changes.
6 years ago
bunnei
43321c1a69
core: memory: Updates for new VMM.
6 years ago