diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2021-10-20 00:33:03 +0200 |
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2021-11-16 22:11:31 +0100 |
| commit | 4ad22c7d2b9d8fdfffc380f0b52f4ba943599bef (patch) | |
| tree | 84fffb5ba3590ce45698b02e7ed4382f371784e1 /src/video_core/renderer_vulkan/vk_rasterizer.cpp | |
| parent | 826a350e2b6aadb4f123189c28f065b0e7926264 (diff) | |
Video Core: fix building for GCC.
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_rasterizer.cpp')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index ff75d14a1..5ca67c413 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp @@ -211,8 +211,6 @@ void RasterizerVulkan::Draw(bool is_indexed, bool is_instanced) { EndTransformFeedback(); } -#pragma optimize("", off) - void RasterizerVulkan::Clear() { MICROPROFILE_SCOPE(Vulkan_Clearing); @@ -284,13 +282,14 @@ void RasterizerVulkan::Clear() { std::memcpy(clear_value.color.float32, regs.clear_color, sizeof(regs.clear_color)); } else if (!is_signed) { for (size_t i = 0; i < 4; i++) { - clear_value.color.uint32[i] = - static_cast<u32>(static_cast<u64>(int_size << 1U) * regs.clear_color[i]); + clear_value.color.uint32[i] = static_cast<u32>( + static_cast<f32>(static_cast<u64>(int_size) << 1U) * regs.clear_color[i]); } } else { for (size_t i = 0; i < 4; i++) { - clear_value.color.int32[i] = static_cast<s32>( - (static_cast<s32>(int_size - 1) << 1) * (regs.clear_color[i] - 0.5f)); + clear_value.color.int32[i] = + static_cast<s32>(static_cast<f32>(static_cast<s64>(int_size - 1) << 1) * + (regs.clear_color[i] - 0.5f)); } } |
