mirror of
https://github.com/Lime3DS/Lime3DS.git
synced 2024-12-25 17:21:55 +01:00
shader_jit_x64: Fix strict memory aliasing issues.
This commit is contained in:
parent
e5d417213c
commit
135aec7bea
@ -741,7 +741,9 @@ void JitCompiler::Compile_Block(unsigned end) {
|
|||||||
void JitCompiler::Compile_NextInstr(unsigned* offset) {
|
void JitCompiler::Compile_NextInstr(unsigned* offset) {
|
||||||
offset_ptr = offset;
|
offset_ptr = offset;
|
||||||
|
|
||||||
Instruction instr = *(Instruction*)&g_state.vs.program_code[(*offset_ptr)++];
|
Instruction instr;
|
||||||
|
std::memcpy(&instr, &g_state.vs.program_code[(*offset_ptr)++], sizeof(Instruction));
|
||||||
|
|
||||||
OpCode::Id opcode = instr.opcode.Value();
|
OpCode::Id opcode = instr.opcode.Value();
|
||||||
auto instr_func = instr_table[static_cast<unsigned>(opcode)];
|
auto instr_func = instr_table[static_cast<unsigned>(opcode)];
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user