mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-26 17:12:37 -06:00
shader_jit_x64: Fix strict memory aliasing issues.
This commit is contained in:
parent
e5d417213c
commit
135aec7bea
1 changed files with 3 additions and 1 deletions
|
@ -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 a new issue