ReinUsesLisp
d7f0249d2e
renderer_vulkan: Create debug callback on separate file and throw
Initialize debug callbacks (messenger) from a separate file. This allows
sharing code with different backends.
Change our Vulkan error handling to use exceptions instead of error
codes, simplifying the initialization process.
5 years ago
ReinUsesLisp
74276df159
renderer_vulkan: Move instance initialization to a separate file
Simplify Vulkan's backend initialization code by moving it to a separate
file, allowing us to initialize a Vulkan instance from different
backends.
5 years ago
ReinUsesLisp
ddddd25033
vulkan_common: Rename renderer_vulkan/wrapper.h to vulkan_common/vulkan_wrapper.h
Allows sharing Vulkan wrapper code between different rendering backends.
5 years ago
ReinUsesLisp
b05cecfbd8
vulkan_common: Move dynamic library load to a separate file
Allows us to initialize a Vulkan dynamic library from different backends
without duplicating code.
5 years ago
german
f04be5803d
Port citra-emu/citra#5509
5 years ago
16-Bit-Dog
a96fd630b4
Make the coding conventions more consistant
lut_index had 0 added when nothing was supposed to be added
despite this, index was not added to 0 when nothing was supposed to be added...
5 years ago
Lioncash
efc456aa94
half_set: Resolve -Wmaybe-uninitialized warnings
5 years ago
Lioncash
ebb8133b6e
maxwell_to_vk: Initialize usage variable in SurfaceFormat()
Silences a -Wmaybe-uninitialized warning
5 years ago
ReinUsesLisp
d25b097e84
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.
5 years ago
ReinUsesLisp
64f651bfa0
cmake: Enforce -Wuninitialized
5 years ago
ReinUsesLisp
d719dc7688
service/pcie: Fix invalid initialization argument
5 years ago
ReinUsesLisp
2d951b73bf
video_core: Add a delayed destruction ring abstraction
5 years ago
ReinUsesLisp
b8bc5d95af
host_shaders: Add Vulkan assembler compute shaders
5 years ago
ReinUsesLisp
82723df129
host_shaders: Add helper to blit depth stencil fragment shader
5 years ago
ReinUsesLisp
627b4c3387
host_shaders: Add texture color blit fragment shader
5 years ago
ReinUsesLisp
5ed139d5a2
host_shaders: Add shaders to present to the swapchain
5 years ago
ReinUsesLisp
90b5661015
host_shaders: Add shaders to convert between depth and color images
5 years ago
ReinUsesLisp
9d5ab4f22b
host_shaders: Add compute shader to copy BC4 as RG32UI to RGBA8
5 years ago
ReinUsesLisp
9915ad809e
host_shaders: Add shader to render a full screen triangle
5 years ago
ReinUsesLisp
8d49d1bc1f
host_shaders: Add pitch linear upload compute shader
5 years ago
ReinUsesLisp
e4e49e7fcb
host_shaders: Add block linear upload compute shaders
5 years ago
ReinUsesLisp
f0b34215b6
host_shaders: Add copyright headers to OpenGL present shaders
5 years ago
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.
5 years ago
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]
5 years ago
bunnei
236149a59b
hle: kernel: service_thread: Make thread naming more consistent.
5 years ago
bunnei
407d3b7374
hle: kernel: Manage service threads on another thread.
- This is to allow service threads to defer destruction of themselves.
5 years ago
bunnei
01e1b790a5
common: ThreadWorker: Add class to help do asynchronous work.
5 years ago
bunnei
127bb064f7
hle: kernel: Manage host thread IDs using TLS.
- Avoids the need to have a large map of host to guest thread IDs.
5 years ago
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.)
5 years ago
comex
0049fbaa9e
Add missing include of "core/hle/kernel/kernel.h"
This is needed as the header invokes methods on KernelCore.
5 years ago
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.
5 years ago
bunnei
67051cf10c
hle: kernel: Move ServiceThread ownership to KernelCore.
- Fixes a circular dependency which prevented threads from being released on shutdown.
5 years ago
bunnei
b2ef309edb
hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.
5 years ago
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.
5 years ago
bunnei
93b4668017
audio_core: stream: Ensure buffer is valid before release.
5 years ago
bunnei
ae526934c7
core: Do not reset device_memory on shutdown.
- This will be reset on initialization.
5 years ago
bunnei
5d4fa58af2
core: hle: kernel: Clear process list on boot.
5 years ago
bunnei
50675db080
gpu: gpu_thread: Ensure MicroProfile is shutdown on exit.
5 years ago
bunnei
04e4925807
hle: service: vi: Refactor to grab buffer only once.
5 years ago
bunnei
b1b4edec05
service: nvflinger: Improve synchronization for BufferQueue.
- Use proper mechanisms for blocking on DequeueBuffer.
- Ensure service thread terminates on emulation Shutdown.
5 years ago
bunnei
8cf0ba96d9
hle: service: Ensure system is powered on before writing IPC result.
5 years ago
bunnei
838c266e82
core: kernel: Clear process list earlier.
5 years ago
bunnei
db49c273db
video_core: gpu_thread: Do not wait when system is powered down.
5 years ago
bunnei
1e370cff0e
core: settings: Untangle multicore from asynchronous GPU.
- Now that GPU is always threaded, we can support multicore with synchronous GPU.
5 years ago
bunnei
1481056e3d
video_core: gpu: Implement synchronous mode using threaded GPU.
5 years ago
bunnei
927976c86c
video_core: gpu: Refactor out synchronous/asynchronous GPU implementations.
- We must always use a GPU thread now, even with synchronous GPU.
5 years ago
bunnei
846f35c4ad
hle: kernel: hle_ipc: Remove SleepClientThread.
- This was kind of hacky, and no longer is necessary with service threads.
5 years ago
bunnei
e322c6cfba
hle: service: bsd: Update to work with service threads, removing SleepClientThread.
5 years ago
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.
5 years ago
bunnei
3d7b4bfa48
hle: kernel: service_thread: Add parameter for thread pool size.
5 years ago