bool dce110_transform_get_next_lower_pixel_storage_depth( struct dce110_transform *xfm110, uint32_t display_bpp, enum lb_pixel_depth depth, enum lb_pixel_depth *lower_depth) { enum lb_pixel_depth depth_req_by_display = translate_display_bpp_to_lb_depth(display_bpp); uint32_t current_required_depth = depth_req_by_display; uint32_t current_depth = depth; /* if required display depth < current we could go down, for example * from LB_PIXEL_DEPTH_30BPP to LB_PIXEL_DEPTH_24BPP */ if (current_required_depth < current_depth) { current_depth = current_depth >> 1; if (xfm110->lb_pixel_depth_supported & current_depth) { *lower_depth = current_depth; return true; } }
static bool get_next_lower_pixel_storage_depth( struct line_buffer *base, uint32_t display_bpp, enum lb_pixel_depth depth, enum lb_pixel_depth *lower_depth) { struct line_buffer_dce110 *lb = LB110_FROM_BASE(base); enum lb_pixel_depth depth_req_by_display = translate_display_bpp_to_lb_depth(display_bpp); uint32_t current_required_depth = depth_req_by_display; uint32_t current_depth = depth; /* if required display depth < current we could go down, for example * from LB_PIXEL_DEPTH_30BPP to LB_PIXEL_DEPTH_24BPP */ if (current_required_depth < current_depth) { current_depth = current_depth >> 1; if (lb->caps & current_depth) { *lower_depth = current_depth; return true; } }