| Age | Commit message (Collapse) | Author |
|
Astral Chain crashes Intel's SPIR-V compiler when using fp16.
Disable this while the vendor works on a fix.
|
|
renderer_opengl: Avoid precompiled cache and force NV GL cache directory
|
|
video_core/memory_manager: Flush destination buffer on CopyBlock
|
|
This reverts #4713. The implementation in that PR is not accurate.
It does not reflect the behavior seen in hardware.
|
|
|
|
video_core: Silence the remaining gcc warnings and enforce them
|
|
vk_texture_cache: Support image store on sRGB images with VkImageViewUsageCreateInfo
|
|
VkImageViewUsageCreateInfo
Vulkan 1.0 didn't support creating sRGB image views on an ABGR8 VkImage
with storage usage bits. VK_KHR_maintenance2 addressed this allowing to
reduce the usage bits on a VkImageView.
To allow image store on non-sRGB image views when the VkImage is created
with sRGB, always create VkImages without sRGB and add the sRGB format
on the view.
|
|
It seems to be safe to use this on new drivers.
|
|
|
|
vk_pipeline_cache: Properly bypass VertexA shaders
|
|
Silences noisy builds on toolchains.
|
|
|
|
|
|
|
|
|
|
|
|
Fix "message(ERROR ..." to "message(FATAL_ERROR ..." to properly stop
cmake when Nsight Aftermath can't be configured.
|
|
Fixes a bunch of build errors when Nsight Aftermath is properly enabled.
|
|
The VertexA stage is not yet implemented, but Vulkan is adding its
descriptors, causing a discrepancy in the pushed descriptors and the
template. This generally ends up in a driver side crash.
Bypass the VertexA stage for now.
|
|
Start of Integer flags implementation
|
|
Track map address sizes in a flat ordered map and add a method to query
the number of bytes until the end of a map in a given address.
|
|
The divide logic was wrong and can cause an uniform buffer size
overflow.
|
|
This function was not being used.
|
|
When we copy into a buffer, it might contain data modified from the GPU
on the same pages. Because of this, we have to flush the contents before
writing new data.
An alternative approach would be to write the data in place, but games
can also write data in other ways, invalidating our contents.
Fixes geometry in Zombie Panic in Wonderland DX.
|
|
Allow flushing rasterizer contents based on a GPU address.
|
|
vk_shader_decompiler: Show comments as OpUndef with a type
|
|
Setting __GL_SHADER_DISK_CACHE_PATH we can force the cache directory to
be in yuzu's user directory to stop commonly distributed malware from
deleting our driver shader cache. And by setting
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP we can have an unbounded shader
cache size.
This has only been implemented on Windows, mostly because previous tests
didn't seem to work on Linux.
Disable the precompiled cache on Nvidia's driver. There's no need to
hide information the driver already has in its own cache.
|
|
texture_cache/util: Resolve -Wsign-compare warning
|
|
video_core: Resolve -Wdocumentation warnings
|
|
Resolves a -Wsign-compare warning on Clang.
|
|
Silences some -Wdocumentation warnings on Clang.
|
|
Prevents inclusion issues from occurring.
|
|
buffer_cache/buffer_base: Add a range tracking buffer container and tests
|
|
vulkan_memory_allocator: Improvements to the memory allocator
|
|
Silence the new validation layer error about SPIR-V not allowing OpUndef
on a OpTypeVoid, even when the SPIR-V spec doesn't say anything against
it.
They will be inserted as an undefined int to avoid SPIRV-Cross and
validation errors, but only when a debugging tool is attached.
|
|
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
|
|
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
|
|
|
|
Use the Download memory type where it matters.
|
|
Implements the allocator logic to handle download memory types. This
will try to use HOST_CACHED_BIT when available.
|
|
Allow users of the allocator to hint memory usage for downloads. This
removes the non-descriptive boolean passed for "host visible" or not
host visible memory commits, and uses an enum to hint device local,
upload and download usages.
|
|
Allow using the abstraction from the OpenGL backend.
|
|
"Memory manager" collides with the guest GPU memory manager, and a
memory allocator sounds closer to what the abstraction aims to be.
|
|
Fix a bug where the memory allocator could leave gaps between commits.
To fix this the allocation algorithm was reworked, although it's still
short in number of lines of code.
Rework the allocation API to self-contained movable objects instead of
naively using an unique_ptr to do the job for us. Remove the VK prefix.
|
|
common/alignment: Rename AlignBits to AlignUpLog2 and use constraints
|
|
Makes for less code that we need to maintain.
|
|
AlignUpLog2 describes what the function does better than AlignBits.
|
|
These flags are already defined in src/cmake.
|
|
cmake: Enforce -Wunused-function code-base wise
|