Permalink
Browse files

D3D/Vulkan: Fix incorrect clamp in EFB RAM copy

This could cause darker-than-expected EFB copies if clamping was not
enabled, and the user forced EFB copies to RAM only.
  • Loading branch information...
stenzek committed May 10, 2018
1 parent fd1ea63 commit 3493d738caef38e00acb855c096f2a414d17efec
@@ -110,7 +110,7 @@ void PSTextureEncoder::Encode(
encode_params.y_scale = y_scale;
encode_params.gamma_rcp = 1.0f / gamma;
encode_params.clamp_top = clamp_top ? src_rect.top / float(EFB_HEIGHT) : 0.0f;
encode_params.clamp_bottom = clamp_bottom ? src_rect.bottom / float(EFB_HEIGHT) : 0.0f;
encode_params.clamp_bottom = clamp_bottom ? src_rect.bottom / float(EFB_HEIGHT) : 1.0f;
for (size_t i = 0; i < filter_coefficients.size(); i++)
encode_params.filter_coefficients[i] = filter_coefficients[i];
@@ -245,7 +245,7 @@ void TextureConverter::EncodeTextureToMemory(
encoder_params.y_scale = y_scale;
encoder_params.gamma_rcp = 1.0f / gamma;
encoder_params.clamp_top = clamp_top ? src_rect.top / float(EFB_HEIGHT) : 0.0f;
encoder_params.clamp_bottom = clamp_bottom ? src_rect.bottom / float(EFB_HEIGHT) : 0.0f;
encoder_params.clamp_bottom = clamp_bottom ? src_rect.bottom / float(EFB_HEIGHT) : 1.0f;
for (size_t i = 0; i < filter_coefficients.size(); i++)
encoder_params.filter_coefficients[i] = filter_coefficients[i];
u8* ubo_ptr = draw.AllocatePSUniforms(sizeof(EFBEncodeParams));

0 comments on commit 3493d73

Please sign in to comment.