bunnei
15108fcea7
Merge pull request #5795 from ReinUsesLisp/bytes-to-map-end
...
video_core/memory_manager: Add BytesToMapEnd
2021-01-29 22:56:29 -08:00
LC
a4a8cae837
Merge pull request #5836 from ReinUsesLisp/unaligned-constr-sched
...
vk_scheduler: Fix unaligned placement new expressions
2021-01-28 10:53:15 -05:00
ReinUsesLisp
4f807afdc4
vk_scheduler: Fix unaligned placement new expressions
...
We were accidentaly creating an object in an unaligned memory address.
Fix this by manually aligning the offset.
2021-01-27 22:28:22 -03:00
bunnei
a0042f8350
Merge pull request #5786 from ReinUsesLisp/glsl-cbuf
...
gl_shader_decompiler: Fix constant buffer size calculation
2021-01-27 15:27:53 -08:00
Rodrigo Locatti
b8b0524a9b
vulkan_device: Blacklist Intel from float16 math ( #5798 )
...
Astral Chain crashes Intel's SPIR-V compiler when using fp16.
Disable this while the vendor works on a fix.
2021-01-27 13:31:32 -08:00
bunnei
dc5a3313a1
Merge pull request #5778 from ReinUsesLisp/shader-dir
...
renderer_opengl: Avoid precompiled cache and force NV GL cache directory
2021-01-27 11:34:21 -08:00
bunnei
fcb5b0762e
Merge pull request #5785 from ReinUsesLisp/buffer-dma
...
video_core/memory_manager: Flush destination buffer on CopyBlock
2021-01-24 22:57:00 -08:00
ReinUsesLisp
6dac6f07c2
Revert "Start of Integer flags implementation"
...
This reverts #4713 . The implementation in that PR is not accurate.
It does not reflect the behavior seen in hardware.
2021-01-25 02:48:03 -03:00
ReinUsesLisp
8778d4a743
vk_graphics_pipeline: Fix narrowing conversion on MSVC
2021-01-24 21:41:29 -03:00
LC
04da2ac057
Merge pull request #5807 from ReinUsesLisp/vc-warnings
...
video_core: Silence the remaining gcc warnings and enforce them
2021-01-24 17:36:43 -05:00
Rodrigo Locatti
bc244a3231
Merge pull request #5363 from ReinUsesLisp/vk-image-usage
...
vk_texture_cache: Support image store on sRGB images with VkImageViewUsageCreateInfo
2021-01-24 18:44:51 -03:00
ReinUsesLisp
1d3c309eac
vk_texture_cache: Support image store on sRGB images with 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.
2021-01-24 18:16:43 -03:00
ReinUsesLisp
1aa67cb31c
vulkan_device: Lift VK_EXT_extended_dynamic_state blacklist on RDNA
...
It seems to be safe to use this on new drivers.
2021-01-24 20:21:11 -03:00
ReinUsesLisp
ae349957c3
cmake: Enforce -Warray-bounds and -Wmissing-field-initializers globally
2021-01-24 17:31:29 -03:00
bunnei
1118154fda
Merge pull request #5796 from ReinUsesLisp/vertex-a-bypass-vk
...
vk_pipeline_cache: Properly bypass VertexA shaders
2021-01-24 11:22:58 -08:00
ReinUsesLisp
459be8c220
host_shaders/cmake: Pass --quiet to glslang to keep it quiet
...
Silences noisy builds on toolchains.
2021-01-24 04:55:23 -03:00
ReinUsesLisp
bd946059c0
video_core/cmake: Enforce -Warray-bounds and -Wmissing-field-initializers
2021-01-24 04:42:41 -03:00
ReinUsesLisp
7afc85ba3a
video_core: Silence -Wmissing-field-initializers warnings
2021-01-24 04:32:19 -03:00
ReinUsesLisp
928831c1cc
maxwell_3d: Silence array bounds warnings
2021-01-24 04:31:41 -03:00
ReinUsesLisp
9d882e0000
maxwell_to_vk: Silence -Wextra warnings about using different enum types
2021-01-24 04:03:36 -03:00
Levi Behunin
5a513f7bd6
shader_ir: Fix comment typo
2021-01-23 13:16:37 -05:00
ReinUsesLisp
80f235a8cc
video_core/cmake: Properly generate fatal errors on Aftermath
...
Fix "message(ERROR ..." to "message(FATAL_ERROR ..." to properly stop
cmake when Nsight Aftermath can't be configured.
2021-01-23 04:15:30 -03:00
ReinUsesLisp
fd5e76dc87
nsight_aftermath_tracker: Fix build issues when enabled
...
Fixes a bunch of build errors when Nsight Aftermath is properly enabled.
2021-01-23 04:13:39 -03:00
ReinUsesLisp
23a5aed188
vk_pipeline_cache: Properly bypass VertexA shaders
...
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.
2021-01-23 03:59:59 -03:00
bunnei
ececdde128
Merge pull request #4713 from behunin/int-flags
...
Start of Integer flags implementation
2021-01-22 21:57:14 -08:00
ReinUsesLisp
0e885adf4a
video_core/memory_manager: Add BytesToMapEnd
...
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.
2021-01-22 18:31:12 -03:00
ReinUsesLisp
ff383ffbcd
gl_shader_decompiler: Fix constant buffer size calculation
...
The divide logic was wrong and can cause an uniform buffer size
overflow.
2021-01-21 19:47:41 -03:00
ReinUsesLisp
220ba5933c
video_core/memory_manager: Remove unused CopyBlockUnsafe
...
This function was not being used.
2021-01-21 19:16:06 -03:00
ReinUsesLisp
85390839b0
video_core/memory_manager: Flush destination buffer on CopyBlock
...
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.
2021-01-21 19:16:06 -03:00
ReinUsesLisp
5c2fdf4e60
video_core/memory_manager: Add GPU address based flush method
...
Allow flushing rasterizer contents based on a GPU address.
2021-01-21 19:16:05 -03:00
bunnei
02dfcb4b8f
Merge pull request #5361 from ReinUsesLisp/vk-shader-comment
...
vk_shader_decompiler: Show comments as OpUndef with a type
2021-01-20 21:33:42 -08:00
ReinUsesLisp
5f0b72553b
renderer_opengl: Avoid precompiled cache and force NV GL cache directory
...
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.
2021-01-21 00:41:03 -03:00
Rodrigo Locatti
cd2d96edb6
Merge pull request #5746 from lioncash/sign-compare
...
texture_cache/util: Resolve -Wsign-compare warning
2021-01-18 03:49:58 -03:00
Rodrigo Locatti
06ca8264a8
Merge pull request #5745 from lioncash/documentation
...
video_core: Resolve -Wdocumentation warnings
2021-01-17 05:37:17 -03:00
Lioncash
bc509928d4
texture_cache/util: Resolve -Wsign-compare warning
...
Resolves a -Wsign-compare warning on Clang.
2021-01-17 02:47:48 -05:00
Lioncash
c7bd08aad1
video_core: Resolve -Wdocumentation warnings
...
Silences some -Wdocumentation warnings on Clang.
2021-01-17 02:44:21 -05:00
Lioncash
edb202eef8
vulkan_debug_callback: Add missing header guard
...
Prevents inclusion issues from occurring.
2021-01-17 02:39:24 -05:00
Rodrigo Locatti
2fccc35fa8
Merge pull request #5262 from ReinUsesLisp/buffer-base
...
buffer_cache/buffer_base: Add a range tracking buffer container and tests
2021-01-16 19:48:26 -03:00
Rodrigo Locatti
7f0e5d911f
Merge pull request #5297 from ReinUsesLisp/vulkan-allocator-common
...
vulkan_memory_allocator: Improvements to the memory allocator
2021-01-15 21:50:05 -03:00
ReinUsesLisp
3d5910da6d
vk_shader_decompiler: Show comments as OpUndef with a type
...
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.
2021-01-15 21:12:57 -03:00
LC
d9a8238acb
Merge pull request #5358 from ReinUsesLisp/rename-insert-padding
...
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
2021-01-15 16:19:46 -05:00
ReinUsesLisp
92ca4929f5
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
...
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
2021-01-15 16:27:28 -03:00
ReinUsesLisp
d43c0e4c53
vulkan_memory_allocator: Remove unnecesary 'device' memory from commits
2021-01-15 16:19:40 -03:00
ReinUsesLisp
36597c0b38
vk_texture_cache: Use Download memory types for texture flushes
...
Use the Download memory type where it matters.
2021-01-15 16:19:40 -03:00
ReinUsesLisp
517400fb71
vulkan_memory_allocator: Add allocation support for download types
...
Implements the allocator logic to handle download memory types. This
will try to use HOST_CACHED_BIT when available.
2021-01-15 16:19:39 -03:00
ReinUsesLisp
60bb77340f
vulkan_memory_allocator: Add "download" memory usage hint
...
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.
2021-01-15 16:19:39 -03:00
ReinUsesLisp
fa012cc7e6
vulkan_common: Move allocator to the common directory
...
Allow using the abstraction from the OpenGL backend.
2021-01-15 16:19:39 -03:00
ReinUsesLisp
bb1cc99e64
renderer_vulkan: Rename Vulkan memory manager to memory allocator
...
"Memory manager" collides with the guest GPU memory manager, and a
memory allocator sounds closer to what the abstraction aims to be.
2021-01-15 16:19:39 -03:00
ReinUsesLisp
550a9cbcb5
vk_memory_manager: Improve memory manager and its API
...
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.
2021-01-15 16:19:36 -03:00
LC
4df2d09468
Merge pull request #5357 from ReinUsesLisp/alignment-log2
...
common/alignment: Rename AlignBits to AlignUpLog2 and use constraints
2021-01-15 03:12:36 -05:00