From cb64c52d2fd332df58fc2fc74af559dbb41ebbc4 Mon Sep 17 00:00:00 2001 From: Wunkolo Date: Tue, 15 Aug 2023 11:19:12 -0700 Subject: [PATCH] Use inline `rotl`/`ror` Fixes apple-clang builds, which do not implement a lot of the `bit` header. --- src/core/renderer_vk/renderer_vk.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/renderer_vk/renderer_vk.cpp b/src/core/renderer_vk/renderer_vk.cpp index 246ac6b4..5de3d534 100644 --- a/src/core/renderer_vk/renderer_vk.cpp +++ b/src/core/renderer_vk/renderer_vk.cpp @@ -25,11 +25,14 @@ static s32 findQueueFamily( return -1; } +static u32 rotl32(u32 x, u32 n) { return (x << n) | (x >> (32 - n)); } +static u32 ror32(u32 x, u32 n) { return (x >> n) | (x << (32 - n)); } + u32 RendererVK::colorBufferHash(u32 loc, u32 size, PICA::ColorFmt format) { - return std::rotl(loc, 17) ^ std::rotr(size, 23) ^ (static_cast(format) << 60); + return rotl32(loc, 17) ^ ror32(size, 23) ^ (static_cast(format) << 60); } u32 RendererVK::depthBufferHash(u32 loc, u32 size, PICA::DepthFmt format) { - return std::rotl(loc, 17) ^ std::rotr(size, 29) ^ (static_cast(format) << 60); + return rotl32(loc, 17) ^ ror32(size, 29) ^ (static_cast(format) << 60); } RendererVK::Texture& RendererVK::getColorRenderTexture() {