LC
da07977db0
Merge pull request #5251 from ReinUsesLisp/wuninitialized
...
cmake: Enforce -Wuninitialized
2020-12-30 06:34:42 +07:00
bunnei
d5fe722a30
Merge pull request #4967 from ReinUsesLisp/new-texcache
...
video_core/texture_cache: Rewrite the texture cache
2020-12-29 23:20:09 +07:00
ReinUsesLisp
9764c13d6d
video_core: Rewrite the texture cache
...
The current texture cache has several points that hurt maintainability
and performance. It's easy to break unrelated parts of the cache
when doing minor changes. The cache can easily forget valuable
information about the cached textures by CPU writes or simply by its
normal usage.The current texture cache has several points that hurt
maintainability and performance. It's easy to break unrelated parts
of the cache when doing minor changes. The cache can easily forget
valuable information about the cached textures by CPU writes or simply
by its normal usage.
This commit aims to address those issues.
2020-12-30 03:38:50 +07:00
ReinUsesLisp
ac2e2ebe97
cmake: Enforce -Wuninitialized
2020-12-30 02:58:58 +07:00
ReinUsesLisp
157fc2d785
service/pcie: Fix invalid initialization argument
2020-12-30 02:58:38 +07:00
ReinUsesLisp
9106ac1e6b
video_core: Add a delayed destruction ring abstraction
2020-12-30 02:10:19 +07:00
ReinUsesLisp
21b18057f7
host_shaders: Add Vulkan assembler compute shaders
2020-12-30 02:03:50 +07:00
ReinUsesLisp
87ff58b1d7
host_shaders: Add helper to blit depth stencil fragment shader
2020-12-30 02:02:07 +07:00
ReinUsesLisp
ae5725b709
host_shaders: Add texture color blit fragment shader
2020-12-30 02:00:48 +07:00
ReinUsesLisp
64fbf319f1
host_shaders: Add shaders to present to the swapchain
2020-12-30 01:59:12 +07:00
ReinUsesLisp
82b7daed9c
host_shaders: Add shaders to convert between depth and color images
2020-12-30 01:48:44 +07:00
ReinUsesLisp
dc81a90640
host_shaders: Add compute shader to copy BC4 as RG32UI to RGBA8
2020-12-30 01:47:08 +07:00
ReinUsesLisp
5169ce9fcd
host_shaders: Add shader to render a full screen triangle
2020-12-30 01:44:09 +07:00
ReinUsesLisp
59c46f9de9
host_shaders: Add pitch linear upload compute shader
2020-12-30 01:41:42 +07:00
ReinUsesLisp
12d16248dd
host_shaders: Add block linear upload compute shaders
2020-12-30 01:39:35 +07:00
ReinUsesLisp
f20e18f60d
host_shaders: Add copyright headers to OpenGL present shaders
2020-12-30 01:35:56 +07:00
ReinUsesLisp
95d156a150
video_core/host_shaders: Add support for prebuilt SPIR-V shaders
...
Add support for building SPIR-V shaders from GLSL and generating headers
to include the text of those same GLSL shaders to consume from OpenGL.
2020-12-30 01:29:07 +07:00
ReinUsesLisp
b3587102d1
core/memory: Read and write page table atomically
...
Squash attributes into the pointer's integer, making them an uintptr_t
pair containing 2 bits at the bottom and then the pointer. These bits
are currently unused thanks to alignment requirements.
Configure Dynarmic to mask out these bits on pointer reads.
While we are at it, remove some unused attributes carried over from
Citra.
Read/Write and other hot functions use a two step unpacking process that
is less readable to stop MSVC from emitting an extra AND instruction in
the hot path:
mov rdi,rcx
shr rdx,0Ch
mov r8,qword ptr [rax+8]
mov rax,qword ptr [r8+rdx*8]
mov rdx,rax
-and al,3
and rdx,0FFFFFFFFFFFFFFFCh
je Core::Memory::Memory::Impl::Read<unsigned char>
mov rax,qword ptr [vaddr]
movzx eax,byte ptr [rdx+rax]
2020-12-29 21:54:49 +07:00
bunnei
85cfd96f62
Merge pull request #5247 from comex/xx-concepts
...
k_priority_queue: Fix concepts use
2020-12-29 16:50:20 +07:00
bunnei
82e0eeed21
hle: kernel: service_thread: Make thread naming more consistent.
2020-12-29 16:46:29 +07:00
bunnei
a2a0f5318d
hle: kernel: Manage service threads on another thread.
...
- This is to allow service threads to defer destruction of themselves.
2020-12-29 16:46:29 +07:00
bunnei
69e82d01d5
common: ThreadWorker: Add class to help do asynchronous work.
2020-12-29 16:46:29 +07:00
bunnei
b02464f685
Merge pull request #5246 from comex/xx-include
...
Add missing include of "core/hle/kernel/kernel.h"
2020-12-29 16:43:17 +07:00
bunnei
c192da3f82
hle: kernel: Manage host thread IDs using TLS.
...
- Avoids the need to have a large map of host to guest thread IDs.
2020-12-29 15:55:30 +07:00
LC
8d55c8c855
Merge pull request #5248 from ReinUsesLisp/update-dynarmic
...
externals: Update Dynarmic
2020-12-29 18:11:30 +07:00
ReinUsesLisp
3f048c8646
externals: Update Dynarmic
...
Keeps yuzu up to date with the latest changes and introduces a change
needed for a lock-free optimization our side.
2020-12-29 19:30:52 +07:00
comex
388cf58b31
k_priority_queue: Fix concepts use
...
- For `std::same_as`, add missing include of `<concepts>`.
- For `std::convertible_to`, create a replacement in `common/concepts.h`
and use that instead.
This would also be found in `<concepts>`, but unlike `std::same_as`,
`std::convertible_to` is not yet implemented in libc++, LLVM's STL
implementation - not even in master. (In fact, `std::same_as` is the
*only* concept currently implemented. For some reason.)
2020-12-29 14:33:41 +07:00
comex
b36896b90e
Add missing include of "core/hle/kernel/kernel.h"
...
This is needed as the header invokes methods on KernelCore.
2020-12-29 14:22:35 +07:00
LC
aa87278bf0
Merge pull request #5245 from ameerj/sleepthread-log
...
svc: demote SleepThread log to LOG_TRACE
2020-12-29 14:03:24 +07:00
ameerj
0383363a8f
svc: demote SleepThread log to LOG_TRACE
...
This log is called often, and introduces a lot of noise when debug logging is enabled, making it difficult to see other debug logs.
2020-12-29 14:01:56 +07:00
bunnei
22ba437aa4
Merge pull request #5236 from gal20/udp_client_patch
...
input_common: process udp packets only for the correct pad
2020-12-29 02:51:40 +07:00
bunnei
dfdac7d38a
hle: kernel: Move ServiceThread ownership to KernelCore.
...
- Fixes a circular dependency which prevented threads from being released on shutdown.
2020-12-29 01:12:39 +07:00
bunnei
f57be2e626
hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.
2020-12-29 01:06:39 +07:00
bunnei
7d77a3f88f
hle: service: Acquire and release a lock on requests.
...
- This makes it such that we can safely access service members from CoreTiming thread.
2020-12-28 21:33:34 +07:00
bunnei
c7a06908ae
audio_core: stream: Ensure buffer is valid before release.
2020-12-28 21:33:34 +07:00
bunnei
06f8c3dc01
core: Do not reset device_memory on shutdown.
...
- This will be reset on initialization.
2020-12-28 21:33:34 +07:00
bunnei
d0649d0971
core: hle: kernel: Clear process list on boot.
2020-12-28 21:33:34 +07:00
bunnei
954341763a
gpu: gpu_thread: Ensure MicroProfile is shutdown on exit.
2020-12-28 21:33:34 +07:00
bunnei
994a9fec4e
hle: service: vi: Refactor to grab buffer only once.
2020-12-28 21:33:34 +07:00
bunnei
6433b1dfd6
service: nvflinger: Improve synchronization for BufferQueue.
...
- Use proper mechanisms for blocking on DequeueBuffer.
- Ensure service thread terminates on emulation Shutdown.
2020-12-28 21:33:34 +07:00
bunnei
bea51d948d
hle: service: Ensure system is powered on before writing IPC result.
2020-12-28 16:33:48 +07:00
bunnei
6d2f9428c5
core: kernel: Clear process list earlier.
2020-12-28 16:33:48 +07:00
bunnei
4991620f89
video_core: gpu_thread: Do not wait when system is powered down.
2020-12-28 16:33:48 +07:00
bunnei
916438a9de
core: settings: Untangle multicore from asynchronous GPU.
...
- Now that GPU is always threaded, we can support multicore with synchronous GPU.
2020-12-28 16:33:48 +07:00
bunnei
40571c073f
video_core: gpu: Implement synchronous mode using threaded GPU.
2020-12-28 16:33:48 +07:00
bunnei
14c825bd1c
video_core: gpu: Refactor out synchronous/asynchronous GPU implementations.
...
- We must always use a GPU thread now, even with synchronous GPU.
2020-12-28 16:33:48 +07:00
bunnei
5d4715cc6a
hle: kernel: hle_ipc: Remove SleepClientThread.
...
- This was kind of hacky, and no longer is necessary with service threads.
2020-12-28 16:33:48 +07:00
bunnei
87d6588cb5
hle: service: bsd: Update to work with service threads, removing SleepClientThread.
2020-12-28 16:33:48 +07:00
bunnei
0c81b83ca9
hle: service: nvdrv: Revert #4981 to remove usage of SleepClientThread.
...
- Note, this always processes the ioctl right away, which fixes BotW 1.0.0 issues.
2020-12-28 16:33:48 +07:00
bunnei
8bc3d66354
hle: kernel: service_thread: Add parameter for thread pool size.
2020-12-28 16:33:47 +07:00