ReinUsesLisp
9915ad809e
host_shaders: Add shader to render a full screen triangle
2020-12-30 01:44:09 -03:00
ReinUsesLisp
8d49d1bc1f
host_shaders: Add pitch linear upload compute shader
2020-12-30 01:41:42 -03:00
ReinUsesLisp
e4e49e7fcb
host_shaders: Add block linear upload compute shaders
2020-12-30 01:39:35 -03:00
ReinUsesLisp
f0b34215b6
host_shaders: Add copyright headers to OpenGL present shaders
2020-12-30 01:35:56 -03:00
ReinUsesLisp
60050f5dd1
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 -03:00
ReinUsesLisp
8bfa4d6dbf
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 -03:00
bunnei
1a96235760
Merge pull request #5247 from comex/xx-concepts
...
k_priority_queue: Fix concepts use
2020-12-29 16:50:20 -08:00
bunnei
236149a59b
hle: kernel: service_thread: Make thread naming more consistent.
2020-12-29 16:46:29 -08:00
bunnei
407d3b7374
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 -08:00
bunnei
01e1b790a5
common: ThreadWorker: Add class to help do asynchronous work.
2020-12-29 16:46:29 -08:00
bunnei
f3a274a13f
Merge pull request #5246 from comex/xx-include
...
Add missing include of "core/hle/kernel/kernel.h"
2020-12-29 16:43:17 -08:00
bunnei
127bb064f7
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 -08:00
LC
1bf142619d
Merge pull request #5248 from ReinUsesLisp/update-dynarmic
...
externals: Update Dynarmic
2020-12-29 18:11:30 -05:00
ReinUsesLisp
8e4afdb821
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 -03:00
comex
8be4bd5104
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 -05:00
comex
0049fbaa9e
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 -05:00
LC
e1b8d02351
Merge pull request #5245 from ameerj/sleepthread-log
...
svc: demote SleepThread log to LOG_TRACE
2020-12-29 14:03:24 -05:00
ameerj
ca41363261
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 -05:00
bunnei
ae5e92e2fb
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 -08:00
bunnei
67051cf10c
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 -08:00
bunnei
b2ef309edb
hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.
2020-12-29 01:06:39 -08:00
bunnei
e5f216261e
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 -08:00
bunnei
93b4668017
audio_core: stream: Ensure buffer is valid before release.
2020-12-28 21:33:34 -08:00
bunnei
ae526934c7
core: Do not reset device_memory on shutdown.
...
- This will be reset on initialization.
2020-12-28 21:33:34 -08:00
bunnei
5d4fa58af2
core: hle: kernel: Clear process list on boot.
2020-12-28 21:33:34 -08:00
bunnei
50675db080
gpu: gpu_thread: Ensure MicroProfile is shutdown on exit.
2020-12-28 21:33:34 -08:00
bunnei
04e4925807
hle: service: vi: Refactor to grab buffer only once.
2020-12-28 21:33:34 -08:00
bunnei
b1b4edec05
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 -08:00
bunnei
8cf0ba96d9
hle: service: Ensure system is powered on before writing IPC result.
2020-12-28 16:33:48 -08:00
bunnei
838c266e82
core: kernel: Clear process list earlier.
2020-12-28 16:33:48 -08:00
bunnei
db49c273db
video_core: gpu_thread: Do not wait when system is powered down.
2020-12-28 16:33:48 -08:00
bunnei
1e370cff0e
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 -08:00
bunnei
1481056e3d
video_core: gpu: Implement synchronous mode using threaded GPU.
2020-12-28 16:33:48 -08:00
bunnei
927976c86c
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 -08:00
bunnei
846f35c4ad
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 -08:00
bunnei
e322c6cfba
hle: service: bsd: Update to work with service threads, removing SleepClientThread.
2020-12-28 16:33:48 -08:00
bunnei
fd213b5856
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 -08:00
bunnei
3d7b4bfa48
hle: kernel: service_thread: Add parameter for thread pool size.
2020-12-28 16:33:47 -08:00
bunnei
eeabd0cc31
hle: service: nvflinger: Refactor locking and interfaces.
2020-12-28 16:33:47 -08:00
bunnei
b8cb6a1b2c
hle: service: vi: Remove usage of SleepClientThread.
2020-12-28 16:33:47 -08:00
bunnei
56be5d7ba9
core: hle: server_session: Use separate threads for each service connection.
2020-12-28 16:33:47 -08:00
bunnei
195b3d37b4
Merge pull request #5233 from german77/inverted
...
InputCommon: Allow to invert analog axis with right click
2020-12-28 14:06:21 -08:00
FearlessTobi
dc2883eac5
.ci/templates: Enable QT translation for MSVC CI
...
Previously this flag was missing, causing translation files not to be shipped with CI builds of yuzu.
2020-12-28 15:54:02 +01:00
gal20
2f5fb99b94
udp client: process packets only for the correct pad
2020-12-27 22:22:48 +02:00
german
139222d3a5
Allow to invert analog axis with right click
2020-12-26 17:46:14 -06:00
ReinUsesLisp
4ea0d7a8f1
renderer_vulkan/fixed_pipeline_state: Move enabled bindings to static state
...
Without using VK_EXT_robustness2, we can't consider the 'enabled' (not
null) vertex buffers as dynamic state, as this leads to invalid Vulkan
state. Move this to static state that is always hashed and compared in
the pipeline key.
The bits for enabled vertex buffers are moved into the attribute state
bitfield. This is not 'correct' as it's not an attribute state, but that
struct has bits to spare, and it's used in an array of 32 elements (the
exact same number of vertex buffer bindings).
2020-12-25 23:34:38 -03:00
Morph
91db46cf0e
yuzu/main: Add basic command line arguments
...
The following command line arguments are supported:
yuzu.exe "path_to_game" - Launches a game at "path_to_game"
yuzu.exe -f - Launches the next game in fullscreen
yuzu.exe -g "path_to_game" - Launches a game at "path_to_game"
yuzu.exe -f -g "path_to_game" - Launches a game at "path_to_game" in fullscreen
2020-12-25 15:41:00 -05:00
Rodrigo Locatti
2ee2a45da2
Merge pull request #5226 from ReinUsesLisp/c4715-vc
...
video_core: Enforce C4715 (not all control paths return a value)
2020-12-25 03:11:47 -03:00
Rodrigo Locatti
1f3305dc1c
Merge pull request #5225 from ReinUsesLisp/always-vulkan
...
cmake: Always enable Vulkan
2020-12-25 02:52:29 -03:00
bunnei
eb609b73a7
core: memory: Ensure thread safe access when pages are rasterizer cached ( #5206 )
...
* core: memory: Ensure thread safe access when pages are rasterizer cached.
2020-12-24 21:51:49 -08:00