本文主要是介绍KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(14),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(13)
上一回讲完了drivers/gpu/drm/drm_framebuffer.c中的framebuffer_check函数中的第一个for循环,本回继续讲解framebuffer_check()接下来的代码。为了便于理解,再次贴出其源码,如下所示:
static int framebuffer_check(struct drm_device *dev,const struct drm_mode_fb_cmd2 *r)
{const struct drm_format_info *info;int i;/* check if the format is supported at all */if (!__drm_format_info(r->pixel_format)) {drm_dbg_kms(dev, "bad framebuffer format %p4cc\n",&r->pixel_format);return -EINVAL;}if (r->width == 0) {drm_dbg_kms(dev, "bad framebuffer width %u\n", r->width);return -EINVAL;}if (r->height == 0) {drm_dbg_kms(dev, "bad framebuffer height %u\n", r->heig
这篇关于KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(14)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!