summaryrefslogtreecommitdiff
path: root/sdm/libs/hwc2/hwc_display_external_test.cpp
diff options
context:
space:
mode:
authorNick Desaulniers <ndesaulniers@google.com>2019-11-12 13:29:31 -0800
committerNick Desaulniers <ndesaulniers@google.com>2019-11-12 13:37:25 -0800
commitdde081846ac1c12575e398e6b1c159a6e132e9c6 (patch)
tree7e44f6f89690f3fd1778cafd2250bdc17f582281 /sdm/libs/hwc2/hwc_display_external_test.cpp
parent25afe11d72873090430823335d8ebee8c2425030 (diff)
downloaddisplay-dde081846ac1c12575e398e6b1c159a6e132e9c6.tar.gz
hardware: qcom: sdm845: display: fix -Wimplicit-int-float-conversion
All of the below have loss of precision due to implicit conversions to float (or double). Accept the imprecision with explicit casts. Fixes the following warnings from the compiler upgrade: hardware/qcom/sdm845/display/sdm/libs/core/display_base.cpp:207:56: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] if (gpu_target_layer_dst_xpixels > mixer_attributes_.width || ~ ~~~~~~~~~~~~~~~~~~^~~~~ hardware/qcom/sdm845/display/sdm/libs/core/display_base.cpp:208:54: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] gpu_target_layer_dst_ypixels > mixer_attributes_.height) { ~ ~~~~~~~~~~~~~~~~~~^~~~~~ hardware/qcom/sdm845/display/sdm/libs/core/display_base.cpp:1176:42: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] layer_height), align_x); ^~~~~~~~~~~~ hardware/qcom/sdm845/display/sdm/libs/core/drm/hw_device_drm.cpp:1524:57: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] float max_scale_up = hw_resource_.hw_dest_scalar_info.max_scale_up; ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hardware/qcom/sdm845/display/sdm/libs/core/resource_default.cpp:472:33: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] if ((src_width > hw_res_info_.max_pipe_width) || (dst_width > hw_res_info_.max_pipe_width)) { ~ ~~~~~~~~~~~~~^~~~~~~~~~~~~~ hardware/qcom/sdm845/display/sdm/libs/core/resource_default.cpp:472:78: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] if ((src_width > hw_res_info_.max_pipe_width) || (dst_width > hw_res_info_.max_pipe_width)) { ~ ~~~~~~~~~~~~~^~~~~~~~~~~~~~ hardware/qcom/sdm845/display/sdm/libs/core/fb/hw_device.cpp:1328:57: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] float max_scale_up = hw_resource_.hw_dest_scalar_info.max_scale_up; ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ hardware/qcom/sdm845/display/sdm/libs/core/drm/hw_tv_drm.cpp:264:67: error: implicit conversion from 'long' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] float hdr_reset_time_start = ((hdr_reset_start.tv_sec*1000) + (hdr_reset_start.tv_usec/1000)); ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hardware/qcom/sdm845/display/sdm/libs/core/drm/hw_tv_drm.cpp:265:63: error: implicit conversion from 'long' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] float hdr_reset_time_end = ((hdr_reset_end.tv_sec*1000) + (hdr_reset_end.tv_usec/1000)); ~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hardware/qcom/sdm845/display/sdm/libs/core/strategy.cpp:162:47: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] float layer_mixer_width = mixer_attributes_.width; ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~ hardware/qcom/sdm845/display/sdm/libs/core/strategy.cpp:163:48: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] float layer_mixer_height = mixer_attributes_.height; ~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~ hardware/qcom/sdm845/display/sdm/libs/hwc2/hwc_display.cpp:284:19: error: implicit conversion from 'int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] return ((c2 * rgb * rgb + c1 * rgb + c0) / kCompensatedMaxRGB); ~ ^~~ hardware/qcom/sdm845/display/sdm/libs/hwc2/hwc_display.cpp:284:25: error: implicit conversion from 'int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] return ((c2 * rgb * rgb + c1 * rgb + c0) / kCompensatedMaxRGB); ~ ^~~ hardware/qcom/sdm845/display/sdm/libs/hwc2/hwc_display.cpp:284:36: error: implicit conversion from 'int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] return ((c2 * rgb * rgb + c1 * rgb + c0) / kCompensatedMaxRGB); ~ ^~~ hardware/qcom/sdm845/display/sdm/libs/hwc2/hwc_display.cpp:805:45: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] layer->src_rect.right = layer_buffer->width; ~ ~~~~~~~~~~~~~~^~~~~ hardware/qcom/sdm845/display/sdm/libs/hwc2/hwc_display.cpp:806:46: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] layer->src_rect.bottom = layer_buffer->height; ~ ~~~~~~~~~~~~~~^~~~~~ hardware/qcom/sdm845/display/sdm/libs/hwc2/hwc_display_external_test.cpp:628:46: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] layer->src_rect = LayerRect(0, 0, var_info.x_pixels, var_info.y_pixels); ~~~~~~~~~ ~~~~~~~~~^~~~~~~~ hardware/qcom/sdm845/display/sdm/libs/hwc2/hwc_display_external_test.cpp:628:65: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] layer->src_rect = LayerRect(0, 0, var_info.x_pixels, var_info.y_pixels); ~~~~~~~~~ ~~~~~~~~~^~~~~~~~ hardware/qcom/sdm845/display/sdm/libs/hwc2/hwc_display_external.cpp:169:37: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] uint32_t new_mixer_width = UINT32(mixer_width * FLOAT(1.0f - width_ratio)); ^~~~~~~~~~~ ~ hardware/qcom/sdm845/display/sdm/libs/hwc2/hwc_display_external.cpp:170:38: error: implicit conversion from 'uint32_t' (aka 'unsigned int') to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] uint32_t new_mixer_height = UINT32(mixer_height * FLOAT(1.0f - height_ratio)); ^~~~~~~~~~~~ ~ Bug: 139945549 Test: mm Change-Id: I926e875e6df43a0d4a66fc1764a53c5b95a4d6a3 Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Diffstat (limited to 'sdm/libs/hwc2/hwc_display_external_test.cpp')
-rw-r--r--sdm/libs/hwc2/hwc_display_external_test.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/sdm/libs/hwc2/hwc_display_external_test.cpp b/sdm/libs/hwc2/hwc_display_external_test.cpp
index 8551854c..a6fcb08e 100644
--- a/sdm/libs/hwc2/hwc_display_external_test.cpp
+++ b/sdm/libs/hwc2/hwc_display_external_test.cpp
@@ -625,7 +625,8 @@ int HWCDisplayExternalTest::InitLayer(Layer *layer) {
GetDisplayAttributesForConfig(INT32(active_config), &var_info);
layer->flags.updating = 1;
- layer->src_rect = LayerRect(0, 0, var_info.x_pixels, var_info.y_pixels);
+ layer->src_rect = LayerRect(0, 0, FLOAT(var_info.x_pixels),
+ FLOAT(var_info.y_pixels));
layer->dst_rect = layer->src_rect;
layer->frame_rate = var_info.fps;
layer->blending = kBlendingPremultiplied;