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

哪家做网站的好个人微信公众号注册

哪家做网站的好,个人微信公众号注册,福州建网站哪家好,乐清建站接前一篇文章#xff1a;libdrm全解析二十九 —— 源码全解析#xff08;26#xff09; 本文参考以下博文#xff1a; DRM 驱动程序开发#xff08;VKMS#xff09; 特此致谢#xff01; 本文开始对drmIoctl(DRM_IOCTL_MODE_CREATE_DUMB)以及其封装函数drmModeCreateD…接前一篇文章libdrm全解析二十九 —— 源码全解析26 本文参考以下博文 DRM 驱动程序开发VKMS 特此致谢 本文开始对drmIoctl(DRM_IOCTL_MODE_CREATE_DUMB)以及其封装函数drmModeCreateDumbBuffer()进行解析。再次贴出该函数源码在xf86drm.c中如下 drm_public int drmModeCreateDumbBuffer(int fd, uint32_t width, uint32_t height, uint32_t bpp,uint32_t flags, uint32_t *handle, uint32_t *pitch,uint64_t *size) {int ret;struct drm_mode_create_dumb create {.width width,.height height,.bpp bpp,.flags flags,};ret DRM_IOCTL(fd, DRM_IOCTL_MODE_CREATE_DUMB, create);if (ret ! 0)return ret;*handle create.handle;*pitch create.pitch;*size create.size;return 0; } 实际使用中可以使用drmModeCreateDumbBuffer函数但更一般地是直接使用drmIoctl(DRM_IOCTL_MODE_CREATE_DUMB)函数。 实际调用的代码示例片段为 struct drm_mode_create_dumb create {};/* create a dumb-buffer, the pixel format is XRGB888 */create.width bo-width;create.height bo-height;create.bpp 32;drmIoctl(fd, DRM_IOCTL_MODE_CREATE_DUMB, create); 另一实力片段 static void create_fb(int fd,uint32_t width, uint32_t height, uint32_t color ,struct framebuffer *buf) {struct drm_mode_create_dumb create {};struct drm_mode_map_dumb map {};uint32_t i;uint32_t fb_id;create.width width;create.height height;create.bpp 32;drmIoctl(fd, DRM_IOCTL_MODE_CREATE_DUMB, create); //创建显存,返回一个handledrmModeAddFB(fd, create.width, create.height, 24, 32, create.pitch,create.handle, fb_id); map.handle create.handle;drmIoctl(fd, DRM_IOCTL_MODE_MAP_DUMB, map); //显存绑定fd并根据handle返回offset//通过offset找到对应的显存(framebuffer)并映射到用户空间uint32_t *vaddr mmap(0, create.size, PROT_READ | PROT_WRITE,MAP_SHARED, fd, map.offset); for (i 0; i (create.size / 4); i)vaddr[i] color;buf-vaddrvaddr;buf-handlecreate.handle;buf-sizecreate.size;buf-fb_idfb_id;return; }create_fb(fd, connector-modes[0].hdisplay, connector-modes[0].vdisplay, 0xff0000, buf[0]);第二个实例中create_fb函数传入的参数就是上一步通过_drmModeGetConnector函数得到的connector的相关信息。为了便于理解再次贴出struct _drmModeConnector的定义在xf86drmMode.h中如下 typedef struct _drmModeConnector {uint32_t connector_id;uint32_t encoder_id; /** Encoder currently connected to */uint32_t connector_type;uint32_t connector_type_id;drmModeConnection connection;uint32_t mmWidth, mmHeight; /** HxW in millimeters */drmModeSubPixel subpixel;int count_modes;drmModeModeInfoPtr modes;int count_props;uint32_t *props; /** List of property ids */uint64_t *prop_values; /** List of property values */int count_encoders;uint32_t *encoders; /** List of encoder ids */ } drmModeConnector, *drmModeConnectorPtr; drmModeModeInfoPtr的定义也在xf86drmMode.h中代码如下 typedef struct _drmModeModeInfo {uint32_t clock;uint16_t hdisplay, hsync_start, hsync_end, htotal, hskew;uint16_t vdisplay, vsync_start, vsync_end, vtotal, vscan;uint32_t vrefresh;uint32_t flags;uint32_t type;char name[DRM_DISPLAY_MODE_LEN]; } drmModeModeInfo, *drmModeModeInfoPtr; 来看drmIoctl(DRM_IOCTL_MODE_CREATE_DUMB)以及其封装函数drmModeCreateDumbBuffer()中的关键结构体struct drm_mode_create_dumb其定义在include/drm/drm_mode.h中代码如下 /* create a dumb scanout buffer */ struct drm_mode_create_dumb {__u32 height;__u32 width;__u32 bpp;__u32 flags;/* handle, pitch, size will be returned */__u32 handle;__u32 pitch;__u64 size; }; 实际上drmIoctl(DRM_IOCTL_MODE_CREATE_DUMB)这一步不难理解就是根据之前获得的相关信息然后以获取的宽度和高度信息通过ioctl系统调用创建一个dumb buffer对象。 至此drmIoctl(DRM_IOCTL_MODE_CREATE_DUMB)这一步就讲解完了。
http://www.yutouwan.com/news/26073/

相关文章:

  • 大连电子商务网站建设wordpress 搬家 后台
  • 数字货币交易网站开发怎么做怎么建设网站平台
  • 产地证在什么网站做怎么制作网站站内链接
  • 徐州网站建设xzqjwl公司网站开发设计题目来源怎么写
  • 做网站4000-262-263商务网站建设课程设计
  • 网站建设关于营销型网站建设规划书
  • 做遗嘱的网站有哪些阿里云云栖wordpress
  • 网站推广策划案怎么选完整网站开发
  • 网站建设管理和维护网页改版方案
  • 微网站模板免费下载长春专业网站建设价格
  • 手机端网站如何做排名长沙网站开发微联讯点官网
  • dnf免做卡领取网站网站备案技巧
  • 深圳市做网站知名公司培训计划和培训内容
  • 怎样做私人网站企查查 天眼查
  • 做网站还是app省钱长沙百度贴吧
  • php做网站难么怎么做购物平台网站
  • 阿里 云网站厦门南希网站建设
  • 海东营销网站建设石大远程在线考试 《网页设计与网站建设》
  • 查网课答案的网站怎么做龙岩属于哪里
  • 樟木头网站推广城乡建设局的官方网站
  • 网站论坛建设方案成都平台网站开发公司
  • 建设部招投标网站云服务器免费试用
  • 网站建设公司市场wordpress正在建设中
  • 奉化市住房和城乡建设局网站中国网站建设总部在哪里
  • aspcms网站打不开网店美工的职责有哪些
  • 网站兼容浏览器浙江省专业网站制作网站建设
  • 免费企业网站建设单位网页设计模板图片大全
  • 购物商城网站建设方案青岛建站方案
  • 云南网站建设维修公司哪家好展示型手机网站模板
  • 招聘网站上找在家做哈尔滨网站制作哪家好薇