Age | Commit message (Collapse) | Author |
|
Introduce a worker thread approach for delegating Vulkan work derived
from dxvk's approach. https://github.com/doitsujin/dxvk
Now that the scheduler is what handles all Vulkan work related to
command streaming, store state tracking in itself. This way we can know
when to reupload Vulkan dynamic state to the queue (since this one is
invalidated between command buffers unlike NVN). We can also store the
renderpass state and graphics pipeline bound to avoid redundant binds
and renderpass begins/ends.
|
|
Added missing include
|
|
Gl_Rasterizer: Skip Tesselation Control and Eval stages as they are unimplemented
|
|
implemented.
This commit ensures the OGL backend does not execute tesselation shader
stages as they are currently unimplemented.
|
|
shader: Implement MEMBAR.GL
|
|
|
|
* Kernel: Correct behavior of Address Arbiter threads.
This corrects arbitration threads to behave just like in Horizon OS.
They are added into a container and released according to what priority
they had when added. Horizon OS does not reorder them if their priority
changes.
* Kernel: Address Feedback.
|
|
kernel/svc: Provide implementations for svcDumpInfo/svcDumpInfoNew
|
|
Maxwell3D: Implement Depth Mode.
|
|
This commit finishes adding depth mode that was reverted before due to
other unresolved issues.
|
|
Implement using memoryBarrier in GLSL and OpMemoryBarrier on SPIR-V.
|
|
vk_shader_decompiler: Add tessellation and misc changes
|
|
|
|
|
|
|
|
Update Sirit and its usage in vk_shader_decompiler. Highlights:
- Implement tessellation shaders
- Implement geometry shaders
- Implement some missing features
- Use native half float instructions when available.
|
|
|
|
|
|
vk_device: Misc changes
|
|
- Setup more features and requirements.
- Improve logging for missing features.
- Collect telemetry parameters.
- Add queries for more image formats.
- Query push constants limits.
- Optionally enable some extensions.
|
|
maxwell_3d: Add tessellation state entries
|
|
externals: Update Vulkan-Headers
|
|
|
|
vk_swapchain: Add support for swapping sRGB
|
|
kernel: Remove unnecessary includes
|
|
Over the course of the changes to the kernel code, a few includes are no
longer necessary, particularly with the change over to std::shared_ptr
from Boost's intrusive_ptr.
|
|
These are fairly trivial to implement, we can just do nothing. This also
provides a spot for us to potentially dump out any relevant info in the
future (e.g. for debugging purposes with homebrew, etc).
While we're at it, we can also correct the names of both of these
supervisor calls.
|
|
We don't know until the game is running if it's using an sRGB color
space or not. Add support for hot-swapping swapchain surface formats.
|
|
|
|
|
|
|
|
CpuCore: Clear exclusive state after doing a run in dynarmic.
|
|
shader_bytecode: Remove corrupted character
|
|
|
|
Implement FLO & TXD Instructions on GPU Shaders
|
|
[EA source]: Ignore git-related files in cmake for early access tarballs
|
|
This fixes the early-access builds on Windows (tested on EA 58). Cmake
was previously looking for git-related files that were stripped out of
the early access builds and failing; check if those exist before reading
them.
|
|
This commit corrects an error in which a Core could remain with an
exclusive state after running, leaving space for possible race
conditions between changing cores.
|
|
Add missing CMakeLists.txt from root folder to source upload
|
|
Fixes #3190
|
|
telemetry_session: Report renderer backend
|
|
We only have OpenGL as an option for now. Hardcode the entry.
|
|
|
|
Texture_Cache: Redo invalid Surfaces handling.
|
|
kernel: Implement a more accurate IPC dispatch.
|
|
gl_framebuffer_cache: Optimize framebuffer cache management
|
|
texture_cache/surface_base: Fix out of bounds texture views
|
|
Some texture views were being created out of bounds (with more layers or
mipmaps than what the original texture has). This is because of a
miscalculation in mipmap bounding. end_layer and end_mipmap are out of
bounds (e.g. layer 6 in a cubemap), there's no need to add one more
there.
Fixes OpenGL errors and Vulkan crashes on Splatoon 2.
|
|
Pack color attachment enumerations into a single u32. To determine the
number of buffers, the highest color attachment with a shared pointer
that doesn't point to null is used.
|
|
|