diff options
author | bunnei <bunneidev@gmail.com> | 2021-04-14 01:44:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-14 01:44:49 +0200 |
commit | 62b560e8e34aac79d9ed310b45fa71375aa99435 (patch) | |
tree | 2fc9343f97a63a4f1fc8289a94c3fbae3fed52d1 | |
parent | Merge pull request #6187 from lioncash/sign-conv (diff) | |
parent | vk_texture_cache: Make use of Common::BitCast where applicable (diff) | |
download | yuzu-62b560e8e34aac79d9ed310b45fa71375aa99435.tar yuzu-62b560e8e34aac79d9ed310b45fa71375aa99435.tar.gz yuzu-62b560e8e34aac79d9ed310b45fa71375aa99435.tar.bz2 yuzu-62b560e8e34aac79d9ed310b45fa71375aa99435.tar.lz yuzu-62b560e8e34aac79d9ed310b45fa71375aa99435.tar.xz yuzu-62b560e8e34aac79d9ed310b45fa71375aa99435.tar.zst yuzu-62b560e8e34aac79d9ed310b45fa71375aa99435.zip |
-rw-r--r-- | src/video_core/renderer_vulkan/vk_texture_cache.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 18155e449..bc2a53841 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -7,6 +7,8 @@ #include <span> #include <vector> +#include "common/bit_cast.h" + #include "video_core/engines/fermi_2d.h" #include "video_core/renderer_vulkan/blit_image.h" #include "video_core/renderer_vulkan/maxwell_to_vk.h" @@ -1062,14 +1064,13 @@ vk::ImageView ImageView::MakeDepthStencilView(VkImageAspectFlags aspect_mask) { Sampler::Sampler(TextureCacheRuntime& runtime, const Tegra::Texture::TSCEntry& tsc) { const auto& device = runtime.device; const bool arbitrary_borders = runtime.device.IsExtCustomBorderColorSupported(); - const std::array<float, 4> color = tsc.BorderColor(); - // C++20 bit_cast - VkClearColorValue border_color; - std::memcpy(&border_color, &color, sizeof(color)); + const auto color = tsc.BorderColor(); + const VkSamplerCustomBorderColorCreateInfoEXT border_ci{ .sType = VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT, .pNext = nullptr, - .customBorderColor = border_color, + // TODO: Make use of std::bit_cast once libc++ supports it. + .customBorderColor = Common::BitCast<VkClearColorValue>(color), .format = VK_FORMAT_UNDEFINED, }; const void* pnext = nullptr; |