diff --git a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp index c444e5e985..818cf60d12 100644 --- a/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp +++ b/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp @@ -7601,7 +7601,7 @@ public: const bool perm_or_zero_only = known_idx.Zero[6]; const bool consts_only = known_idx.One[7]; const bool consts_never_msb = known_idx.Zero[5]; - const bool consts_never_allones = known_idx.One[5]; + [[maybe_unused]] const bool consts_never_allones = known_idx.One[5]; const bool idx_selects_single = known_idx.extractBits(1, 4).isConstant(); const auto a = get_vr(op.ra); diff --git a/rpcs3/Emu/Io/usio.cpp b/rpcs3/Emu/Io/usio.cpp index f4a8b263e1..d7dbad845b 100644 --- a/rpcs3/Emu/Io/usio.cpp +++ b/rpcs3/Emu/Io/usio.cpp @@ -310,7 +310,7 @@ void usb_device_usio::translate_input_tekken() auto& mouse_handler = g_fxo->get(); std::lock_guard mouse_lock(mouse_handler.mutex); - mouse_handler.Init(g_cfg_usio.players.size()); + mouse_handler.Init(static_cast(g_cfg_usio.players.size())); const auto translate_input = [&](usz player) { diff --git a/rpcs3/Emu/RSX/Common/BufferUtils_compact.h b/rpcs3/Emu/RSX/Common/BufferUtils_compact.h index 545119a7b5..437975df81 100644 --- a/rpcs3/Emu/RSX/Common/BufferUtils_compact.h +++ b/rpcs3/Emu/RSX/Common/BufferUtils_compact.h @@ -147,9 +147,9 @@ namespace const u32 hi = mask >> 8; const auto a = _mm_shuffle_epi8(_mm256_castsi256_si128(value), _mm_loadu_si128(reinterpret_cast(s_compress_u16[lo].data()))); const auto b = _mm_shuffle_epi8(_mm256_extracti128_si256(value, 1), _mm_loadu_si128(reinterpret_cast(s_compress_u16[hi].data()))); - _mm_storeu_si128(reinterpret_cast<__m128i*>(dst.data() + written), a); + _mm_storeu_si128(utils::bless<__m128i>(dst.data() + written), a); written += std::popcount(lo); - _mm_storeu_si128(reinterpret_cast<__m128i*>(dst.data() + written), b); + _mm_storeu_si128(utils::bless<__m128i>(dst.data() + written), b); written += std::popcount(hi); } else diff --git a/rpcs3/Emu/RSX/GL/GLTextureCache.h b/rpcs3/Emu/RSX/GL/GLTextureCache.h index 568bc92f51..8b0227b077 100644 --- a/rpcs3/Emu/RSX/GL/GLTextureCache.h +++ b/rpcs3/Emu/RSX/GL/GLTextureCache.h @@ -282,7 +282,6 @@ namespace gl pack_unpack_swap_bytes = false; } - const auto bpp = src->pitch() / src->width(); real_pitch = rsx_pitch; // NOTE: Without compute shaders, we cannot do any advanced conversions. diff --git a/rpcs3/Emu/RSX/NV47/HW/nv4097.cpp b/rpcs3/Emu/RSX/NV47/HW/nv4097.cpp index f908610aa1..17ba5ca19f 100644 --- a/rpcs3/Emu/RSX/NV47/HW/nv4097.cpp +++ b/rpcs3/Emu/RSX/NV47/HW/nv4097.cpp @@ -21,7 +21,7 @@ namespace rsx RSX(ctx)->m_graphics_state |= rsx::pipeline_state::fragment_program_ucode_dirty; } - set_transform_constant::write_range set_transform_constant::compute_write_range(context* ctx, u32 reg, u32 count) + set_transform_constant::write_range set_transform_constant::compute_write_range([[maybe_unused]] context* ctx, u32 reg, u32 count) { const u32 load = REGS(ctx)->transform_constant_load(); if (load >= max_transform_constants) @@ -39,7 +39,7 @@ namespace rsx return { first_word, std::min(count, max_words - first_word) }; } - u32* set_transform_constant::get_constants_ptr(context* ctx, u32 word) + u32* set_transform_constant::get_constants_ptr([[maybe_unused]] context* ctx, u32 word) { return ®S(ctx)->transform_constants[word / 4][word % 4]; } @@ -186,7 +186,7 @@ namespace rsx // Writes start at the current load position, which advances by one instruction per 4 words written const u32 load_pos = REGS(ctx)->transform_program_load(); - const u32 max_words = max_vertex_program_instructions * 4; + constexpr u32 max_words = max_vertex_program_instructions * 4; const u32 first_word = load_pos < max_vertex_program_instructions ? load_pos * 4 + index % 4 : max_words; const u32 write_count = std::min(count, max_words - first_word); @@ -195,7 +195,7 @@ namespace rsx rsx_log.warning("Program buffer overflow! (load=%u, index=%u, count=%u)", load_pos, index, count); } - if (write_count == 0) + if (write_count == 0 || first_word >= REGS(ctx)->transform_program.size()) { // Out-of-bounds write is a NOP rsx_log.trace("Out of bounds write for transform program block.");