summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/shader')
-rw-r--r--src/video_core/shader/shader_jit_x64.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/shader/shader_jit_x64.cpp b/src/video_core/shader/shader_jit_x64.cpp
index dffe051ef..d74b58d84 100644
--- a/src/video_core/shader/shader_jit_x64.cpp
+++ b/src/video_core/shader/shader_jit_x64.cpp
@@ -741,7 +741,9 @@ void JitCompiler::Compile_Block(unsigned end) {
void JitCompiler::Compile_NextInstr(unsigned* 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();
auto instr_func = instr_table[static_cast<unsigned>(opcode)];