Home | History | Annotate | Download | only in libhwcomposer

Lines Matching defs:CopyBit

23 #include <copybit.h>
68 void CopyBit::reset() {
73 bool CopyBit::canUseCopybitForYUV(hwc_context_t *ctx) {
81 bool CopyBit::canUseCopybitForRGB(hwc_context_t *ctx,
90 //Overlay up & running. Dont use COPYBIT for RGB layers.
97 // use copybit, if (TotalRGBRenderArea < threashold * FB Area)
110 // MDP composition, use COPYBIT always
113 // C2D composition, use COPYBIT
119 unsigned int CopyBit::getRGBRenderingArea
136 bool CopyBit::prepare(hwc_context_t *ctx, hwc_display_contents_1_t *list,
140 // No copybit device found - cannot use copybit
195 // We currently cannot mix copybit layers with layers marked to
205 int CopyBit::clear (private_handle_t* hnd, hwc_rect_t& rect)
219 copybit_device_t *copybit = mEngine;
220 ret = copybit->clear(copybit, &buf, &clear_rect);
224 bool CopyBit::draw(hwc_context_t *ctx, hwc_display_contents_1_t *list,
226 // draw layers marked for COPYBIT
231 if(mCopyBitDraw == false) // there is no layer marked for copybit
256 ALOGD_IF(DEBUG_COPYBIT, "%s: Not Marked for copybit", __FUNCTION__);
279 copybit_device_t *copybit = getCopyBitDevice();
281 copybit->flush_get_fence(copybit, fd);
286 int CopyBit::drawLayerUsingCopybit(hwc_context_t *dev, hwc_layer_1_t *layer,
308 // Set the copybit source:
321 // Copybit source rect
327 // Copybit destination rect
333 // Copybit dst
341 copybit_device_t *copybit = mEngine;
348 // Copybit dst
350 (float)copybit->get(copybit,COPYBIT_MAGNIFICATION_LIMIT);
352 (float)copybit->get(copybit,COPYBIT_MINIFICATION_LIMIT);
436 copybit->set_parameter(copybit,COPYBIT_TRANSFORM,0);
438 copybit->set_parameter(copybit, COPYBIT_PLANE_ALPHA, 255);
439 err = copybit->stretch(copybit,&tmp_dst, &src, &tmp_rect,
442 ALOGE("%s:%d::tmp copybit stretch failed",__FUNCTION__,
453 // Copybit region
457 copybit->set_parameter(copybit, COPYBIT_FRAMEBUFFER_WIDTH,
459 copybit->set_parameter(copybit, COPYBIT_FRAMEBUFFER_HEIGHT,
461 copybit->set_parameter(copybit, COPYBIT_TRANSFORM,
464 copybit->set_parameter(copybit, COPYBIT_PLANE_ALPHA, 255);
465 copybit->set_parameter(copybit, COPYBIT_BLEND_MODE,
467 copybit->set_parameter(copybit, COPYBIT_DITHER,
470 copybit->set_parameter(copybit, COPYBIT_BLIT_TO_FRAMEBUFFER,
472 err = copybit->stretch(copybit, &dst, &src, &dstRect, &srcRect,
474 copybit->set_parameter(copybit, COPYBIT_BLIT_TO_FRAMEBUFFER,
481 ALOGE("%s: copybit stretch failed",__FUNCTION__);
485 void CopyBit::getLayerResolution(const hwc_layer_1_t* layer,
494 bool CopyBit::validateParams(hwc_context_t *ctx,
508 int CopyBit::allocRenderBuffers(int w, int h, int f)
525 void CopyBit::freeRenderBuffers()
535 private_handle_t * CopyBit::getCurrentRenderBuffer() {
539 void CopyBit::setReleaseFd(int fd) {
546 struct copybit_device_t* CopyBit::getCopyBitDevice() {
550 CopyBit::CopyBit():mIsModeOn(false), mCopyBitDraw(false),
564 ALOGE("FATAL ERROR: copybit open failed.");
567 ALOGE("FATAL ERROR: copybit hw module not found");
571 CopyBit::~CopyBit()