当前位置: 首页 > news >正文

泉州网站建设学徒招聘小程序开发工具

泉州网站建设学徒招聘,小程序开发工具,网页制作,网站做二级登录页面容易吗本文参考以下博文: DRM驱动(四)之ADD_FB 特此致谢! 在笔者之前的libdrm全解析系列文章中,讲到了drmIoctl(fd, DRM_IOCTL_MODE_ADDFB, &f)以及其封装函数drmModeAddFB。对应的文章链接为: libdrm全解…

本文参考以下博文:

DRM驱动(四)之ADD_FB

特此致谢!

在笔者之前的libdrm全解析系列文章中,讲到了drmIoctl(fd, DRM_IOCTL_MODE_ADDFB, &f)以及其封装函数drmModeAddFB。对应的文章链接为:

libdrm全解析三十一 —— 源码全解析(28)

libdrm全解析三十二 —— 源码全解析(29)

实际上你如果看KWin源码,会发现使用更多的并不是drmModeAddFB函数,而是drmModeAddFB2WithModifiers函数。KWin源码中的代码片段如下(src/backends/drm/drm_buffer.cpp):

std::shared_ptr<DrmFramebuffer> DrmFramebuffer::createFramebuffer(const std::shared_ptr<DrmGpuBuffer> &buffer)
{const auto size = buffer->size();const auto handles = buffer->handles();const auto strides = buffer->strides();const auto offsets = buffer->offsets();uint32_t framebufferId = 0;int ret;if (buffer->gpu()->addFB2ModifiersSupported() && buffer->modifier() != DRM_FORMAT_MOD_INVALID) {uint64_t modifier[4];for (uint32_t i = 0; i < 4; i++) {modifier[i] = i < buffer->planeCount() ? buffer->modifier() : 0;}ret = drmModeAddFB2WithModifiers(buffer->gpu()->fd(), size.width(), size.height(), buffer->format(), handles.data(), strides.data(), offsets.data(), modifier, &framebufferId, DRM_MODE_FB_MODIFIERS);} else {ret = drmModeAddFB2(buffer->gpu()->fd(), size.width(), size.height(), buffer->format(), handles.data(), strides.data(), offsets.data(), &framebufferId, 0);if (ret == EOPNOTSUPP && handles.size() == 1) {//qCCritical(KWIN_DRM, "meidaozheli vvvv333...\n\n"); //phphret = drmModeAddFB(buffer->gpu()->fd(), size.width(), size.height(), 24, 32, strides[0], handles[0], &framebufferId);}}if (ret == 0) {return std::make_shared<DrmFramebuffer>(buffer, framebufferId);} else {return nullptr;}
}

这里我们的重点并不是KWin(针对于KWin源码的研究笔者正在进行中,后续会有专门的文章对于KWin源码进行解析),只是让读者感受一下实际的使用场景,并且能够知道真正主要使用的是drmModeAddFB2WithModifiers(),更准确地说,使用的优先级是drmModeAddFB2WithModifiers() > drmModeAddFB2() > drmModeAddFB()。

对于drmModeAddFB函数,笔者之前已经有过系列文章“DRM全解析 —— ADD_FB”,写得还算比较清楚和深入。有了前系列文章的基础,再加上笔者近一段时间对于图形部分(KWin、libdrm/DRM)的深入研究以及更深刻理解,本系列文章开始对于更常用暨更为重要的drmModeAddFB2WithModifiers和drmModeAddFB2函数进行深入解析。

本篇文章就作为契子或引子吧,真正的解析内容从下一篇文章开始。

http://www.mmbaike.com/news/43096.html

相关文章:

  • 网页游戏广告平台网站建设seo外链购买
  • 中国深圳航空公司官方网站今日新闻热点10条
  • 无锡公司网站设计个人网页怎么做
  • 做网站的公司 贵阳谷歌推广网站
  • 深圳网站建设创造者网店推广实训系统
  • 深圳专业营销网站制作怎样做搜索引擎推广
  • 深圳市做网站的公司电商平台推广方式有哪些
  • 政府网站建设机构健全友情链接的检查方法
  • 做地方生活网站免费建站平台
  • 上海企业工商查询成都网站seo诊断
  • 义乌网站优化建设软文发布的平台与板块
  • 太原市手机网站建设宁波技术好的企业网站制作
  • 廊坊网站建设-商昊网络搜索引擎广告形式有
  • 怎样做网站后台优化外包网络推广
  • 公众号开发人员名单google搜索优化方法
  • 校园二手网站开发如何投放网络广告
  • 新网站排名优化怎么做项目推广方案怎么写
  • 烟台市做网站seo最新快速排名
  • 河南专业网站建设公司推荐google推广妙招
  • 区块链做网站都有哪些内容呢seo网站设计工具
  • 天津网站建设icp备百度指数免费查询
  • 网站域名到期查询广告推广平台网站
  • 购物网站难做吗交友平台
  • 上海做网站多少钱北京优化推广公司
  • 批量建wordpress河北百度竞价优化
  • 网站首页域名如何设置访问快站长工具官网查询
  • 江苏无锡重要通知北京seo平台
  • 做长直播的房地产网站网站建设规划要点详解
  • 免费的网站推广怎么做效果好营销渠道管理
  • 做报告的网站百度代运营