summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar namkazy2020-04-06 13:26:58 +0700
committerGravatar namkazy2020-04-06 13:26:58 +0700
commit7f5696513f2de891015cf852af34e2ddafb9f171 (patch)
tree28ed655822ef7641a57243768db27ec719c3ea6f /src
parentshader_decode: SULD.D implement bits64 and reverse shader ir init method to r... (diff)
downloadyuzu-7f5696513f2de891015cf852af34e2ddafb9f171.tar.gz
yuzu-7f5696513f2de891015cf852af34e2ddafb9f171.tar.xz
yuzu-7f5696513f2de891015cf852af34e2ddafb9f171.zip
shader_decode: SULD.D fix conversion error.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/shader/decode/image.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/shader/decode/image.cpp b/src/video_core/shader/decode/image.cpp
index 68913085f..96e8db618 100644
--- a/src/video_core/shader/decode/image.cpp
+++ b/src/video_core/shader/decode/image.cpp
@@ -278,7 +278,7 @@ Node ShaderIR::GetComponentValue(ComponentType component_type, u32 component_siz
278 *is_signed = true; 278 *is_signed = true;
279 // range [-1.0, 1.0] 279 // range [-1.0, 1.0]
280 auto cnv_value = Operation(OperationCode::FMul, original_value, 280 auto cnv_value = Operation(OperationCode::FMul, original_value,
281 Immediate((1 << component_size) / 2.f - 1.f)); 281 Immediate(static_cast<float>(1 << component_size) / 2.f - 1.f));
282 cnv_value = SignedOperation(OperationCode::ICastFloat, is_signed, std::move(cnv_value)); 282 cnv_value = SignedOperation(OperationCode::ICastFloat, is_signed, std::move(cnv_value));
283 return BitfieldExtract(std::move(cnv_value), 0, component_size); 283 return BitfieldExtract(std::move(cnv_value), 0, component_size);
284 } 284 }
@@ -286,8 +286,8 @@ Node ShaderIR::GetComponentValue(ComponentType component_type, u32 component_siz
286 case ComponentType::UNORM: { 286 case ComponentType::UNORM: {
287 *is_signed = component_type == ComponentType::SINT; 287 *is_signed = component_type == ComponentType::SINT;
288 // range [0.0, 1.0] 288 // range [0.0, 1.0]
289 auto cnv_value = 289 auto cnv_value = Operation(OperationCode::FMul, original_value,
290 Operation(OperationCode::FMul, original_value, Immediate((1 << component_size) - 1.f)); 290 Immediate(static_cast<float>(1 << component_size) - 1.f));
291 return SignedOperation(OperationCode::ICastFloat, is_signed, std::move(cnv_value)); 291 return SignedOperation(OperationCode::ICastFloat, is_signed, std::move(cnv_value));
292 } 292 }
293 case ComponentType::UINT: // range [0, (1 << component_size) - 1] 293 case ComponentType::UINT: // range [0, (1 << component_size) - 1]