mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-04 14:01:25 +12:00
Fix std::bit_cast misuse
This commit is contained in:
parent
03332c340d
commit
4adf412049
1 changed files with 3 additions and 2 deletions
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#include "emmintrin.h"
|
#include "emmintrin.h"
|
||||||
#include "immintrin.h"
|
#include "immintrin.h"
|
||||||
|
#include "util/asm.hpp"
|
||||||
|
|
||||||
template <typename Traits>
|
template <typename Traits>
|
||||||
void program_state_cache<Traits>::fill_fragment_constants_buffer(gsl::span<f32> dst_buffer, const RSXFragmentProgram &fragment_program, bool sanitize) const
|
void program_state_cache<Traits>::fill_fragment_constants_buffer(gsl::span<f32> dst_buffer, const RSXFragmentProgram &fragment_program, bool sanitize) const
|
||||||
|
@ -52,11 +53,11 @@ void program_state_cache<Traits>::fill_fragment_constants_buffer(gsl::span<f32>
|
||||||
const auto masked = _mm_and_si128(shuffled_vector, _mm_set1_epi32(0x7fffffff));
|
const auto masked = _mm_and_si128(shuffled_vector, _mm_set1_epi32(0x7fffffff));
|
||||||
const auto valid = _mm_cmplt_epi32(masked, _mm_set1_epi32(0x7f800000));
|
const auto valid = _mm_cmplt_epi32(masked, _mm_set1_epi32(0x7f800000));
|
||||||
const auto result = _mm_and_si128(shuffled_vector, valid);
|
const auto result = _mm_and_si128(shuffled_vector, valid);
|
||||||
_mm_stream_si128(std::bit_cast<__m128i*>(dst), result);
|
_mm_stream_si128(utils::bless<__m128i>(dst), result);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_mm_stream_si128(std::bit_cast<__m128i*>(dst), shuffled_vector);
|
_mm_stream_si128(utils::bless<__m128i>(dst), shuffled_vector);
|
||||||
}
|
}
|
||||||
|
|
||||||
dst += 4;
|
dst += 4;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue