summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/ir/ir_emitter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader_recompiler/frontend/ir/ir_emitter.h')
-rw-r--r--src/shader_recompiler/frontend/ir/ir_emitter.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.h b/src/shader_recompiler/frontend/ir/ir_emitter.h
index 4decb46bc..24b012a39 100644
--- a/src/shader_recompiler/frontend/ir/ir_emitter.h
+++ b/src/shader_recompiler/frontend/ir/ir_emitter.h
@@ -178,7 +178,7 @@ private:
178 } 178 }
179 179
180 template <typename T> 180 template <typename T>
181 requires(sizeof(T) <= sizeof(u64) && std::is_trivially_copyable_v<T>) struct Flags { 181 requires(sizeof(T) <= sizeof(u32) && std::is_trivially_copyable_v<T>) struct Flags {
182 Flags() = default; 182 Flags() = default;
183 Flags(T proxy_) : proxy{proxy_} {} 183 Flags(T proxy_) : proxy{proxy_} {}
184 184
@@ -187,7 +187,7 @@ private:
187 187
188 template <typename T = Value, typename FlagType, typename... Args> 188 template <typename T = Value, typename FlagType, typename... Args>
189 T Inst(Opcode op, Flags<FlagType> flags, Args... args) { 189 T Inst(Opcode op, Flags<FlagType> flags, Args... args) {
190 u64 raw_flags{}; 190 u32 raw_flags{};
191 std::memcpy(&raw_flags, &flags.proxy, sizeof(flags.proxy)); 191 std::memcpy(&raw_flags, &flags.proxy, sizeof(flags.proxy));
192 auto it{block->PrependNewInst(insertion_point, op, {Value{args}...}, raw_flags)}; 192 auto it{block->PrependNewInst(insertion_point, op, {Value{args}...}, raw_flags)};
193 return T{Value{&*it}}; 193 return T{Value{&*it}};