| Age | Commit message (Collapse) | Author |
|
vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers
|
|
dma_pusher: Remove reliance on the global system instance
|
|
vk_compute_pass: Implement indexed quads
|
|
With this, the video core is now has no calls to the global system
instance at all.
|
|
texture_cache/format_lookup_table: Fix incorrect green, blue, and alpha indices
|
|
track: Eliminate redundant copies
|
|
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)!
|
|
video_core: gl_shader_decompiler: Fix implicit fallthrough errors.
|
|
|
|
Since yesterday, this breaks the build on linux.
So let's fix it.
|
|
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
|
|
|
|
Implement a new virtual memory manager
|
|
gl_query_cache: Resolve use-after-move in CachedQuery move assignment operator
|
|
|
|
- helpful to disambiguate Kernel::Memory namespace.
|
|
CMakeLists: Specify -Wextra on linux builds
|
|
Implement indexed quads (GL_QUADS used with glDrawElements*) with a
compute pass conversion.
The compute shader converts from uint8/uint16/uint32 indices to uint32.
The format is passed through push constants to avoid having different
variants of the same shader.
- Used by Fast RMX
- Used by Xenoblade Chronicles 2 (it still has graphical due to
synchronization issues on Vulkan)
|
|
buffer_cache: Return handles instead of pointer to handles
|
|
The original idea of returning pointers is that handles can be moved.
The problem is that the implementation didn't take that in mind and made
everything harder to work with. This commit drops pointer to handles and
returns the handles themselves. While it is still true that handles can
be invalidated, this way we get an old handle instead of a dangling
pointer.
This problem can be solved in the future with sparse buffers.
|
|
decode/shift: Remove unused variable within Shift()
|
|
surface_view: Add missing operator!= to ViewParams
|
|
gl_device: Mark stage_swizzle as constexpr
|
|
surface_base: Make IsInside() a const member function
|
|
control_flow: Make use of std::move in TryInspectAddress()
|
|
Removes a redundant variable that is already satisfied by the IsFull()
utility function.
|
|
Provides logical symmetry to the interface.
|
|
This doesn't modify internal state, so this can be made const.
|
|
video_core: Amend doxygen comment references
|
|
Previously these were all using the red component to derive the indices,
which is definitely not intentional.
|
|
Eliminates redundant atomic reference count increments and decrements.
|
|
Fixes broken documentation references.
|
|
Avoids potential invalid junk data from being read.
|
|
Previously this was mutable even though it shouldn't be.
|
|
Two variables can be references, while two others can be std::moved.
Makes for 4 less atomic reference count increments and decrements.
|
|
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.
We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).
While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
|
|
Texture Cache: Read current data when flushing a 3D segment.
|
|
shader/memory: Implement RED.E.ADD and minor changes to ATOM
|
|
This can result in silent logic bugs within code, and given the amount
of times these kind of warnings are caused, they should be flagged at
compile-time so no new code is submitted with them.
|
|
gl_rasterizer: Implement constant vertex attributes
|
|
This PR corrects flushing of 3D segments when data of other segments is
mixed, this aims to preserve the data in place.
|
|
maxwell_to_vk: Add uint16 vertex formats
|
|
gl_shader_cache: Use CompileDepth::FullDecompile on GLSL
|
|
gl_texture_cache: Fix layered texture attachment base level
|
|
shader/arithmetic: Add FCMP_CR variant
|
|
Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"
|
|
|
|
Avoid invalid fallbacks.
|
|
When the dynamic state is specified, pViewports and pScissors are
ignored, quoting the specification:
pViewports is a pointer to an array of VkViewport structures, defining
the viewport transforms. If the viewport state is dynamic, this member
is ignored.
That said, AMD's proprietary driver itself seem to read it regardless of
what the specification says.
|
|
vk_rasterizer: Default to 1 viewports with a size of 0
|