diff --git a/src/common/bit_field.h b/src/common/bit_field.h index fd2bbbd99f..26ae6c7fc7 100644 --- a/src/common/bit_field.h +++ b/src/common/bit_field.h @@ -180,7 +180,7 @@ public: } constexpr void Assign(const T& value) { - storage = (static_cast(storage) & ~mask) | FormatValue(value); + storage = static_cast((storage & ~mask) | FormatValue(value)); } constexpr T Value() const { diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index 7231597d4e..73d98fe8c3 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h @@ -655,6 +655,7 @@ union Instruction { } constexpr Instruction(u64 value) : value{value} {} + constexpr Instruction(const Instruction& instr) : value(instr.value) {} BitField<0, 8, Register> gpr0; BitField<8, 8, Register> gpr8; diff --git a/src/video_core/renderer_vulkan/fixed_pipeline_state.h b/src/video_core/renderer_vulkan/fixed_pipeline_state.h index 9fe6bdbf9b..9a950f4de8 100644 --- a/src/video_core/renderer_vulkan/fixed_pipeline_state.h +++ b/src/video_core/renderer_vulkan/fixed_pipeline_state.h @@ -129,7 +129,7 @@ struct alignas(32) FixedPipelineState { auto& binding = bindings[index]; binding.raw = 0; binding.enabled.Assign(enabled ? 1 : 0); - binding.stride.Assign(stride); + binding.stride.Assign(static_cast(stride)); binding_divisors[index] = divisor; }