Talk About

  • OpenGL Extensions有哪些分类?
  • Conformant OpenGL implementation是什么?
  • OpenGL Extensions和OpenGL Versions有什么关系?
  • OpenGL Extensions和conformant OpenGL implementation有什么关系?
Read more »

__attribute__

__attribute__ is a keyword introduced by GCC. It is regarded as an extension of a language. It helps the compiler optimize calls, check code more carefully for correctness, control memory placement and code generation options.

Read more »

DRM driver features

新DRM驱动的特性

  • DRIVER_GEM

使用GEM内存管理器,所有新的驱动都应该支持。

  • DRIVER_MODESET

支持Kernel Modesetting Interfaces

  • DRIVER_RENDER

支持专门的渲染节点, 即**/dev/dri/renderD**

  • DRIVER_ATOMIC

支持所有的Atomic Modesetting用户空间API

  • DRIVER_SYNCOBJ

支持drm_syncobj, 用于渲染命令提交的显式同步。

  • DRIVER_SYNCOBJ_TIMELINE

支持drm_syncobjtimeline特性

旧DRM驱动的特性

  • DRIVER_USE_AGP
  • DRIVER_LEGACY
  • DRIVER_PCI_DMA
  • DRIVER_SG
  • DRIVER_HAVE_DMA
  • DRIVER_HAVE_IRQ
  • DRIVER_KMS_LEGACY_CONTEXT

内核 DRM 子系统是如何维护的

内核 DRM 子系统的代码仓库托管在cgit上,Upstream DRM Subsystem Repository, 这个仓库最主要的两个分支

  • drm-next

    这个分支的补丁包括 DRM 核心和所有 GPU 驱动的新特性

  • drm-fixes

参考

[0] DRM Maintainer Tools

Gallium Framework

引用 Mesa3D 官方文档的话,Gallium 本质上是一种应用程序接口,用于编写与设备基本无关的图形驱动程序。它提供了多个对象,以简单明了的方式封装了图形硬件的核心服务。据说,Gallium 的设计是借鉴了 DirectX。

Read more »

Shader Object

创建和使用Shader Object的API:

  • GLuint glCreateShader(GLenum shaderType);
  • void glShaderSource(GLuint shader, GLsizei count, const GLchar **string, const GLint *length);
  • void glCompileShader(GLunit shader);
Read more »

Vulkan 是一个低开销、跨平台的二维和三维图形与计算的应用程序接口,由 Khronos 在2015年在 GDC 上首次发布。它旨在提供高效能和更均衡的 CPU 和 GPU 占用,类似于 Direct3D 12 和 AMD Mantle。

在这里主要收集一些与 Vulkan 强相关的一些项目,便于 Vulkan 的学习和使用。

Read more »

Wayland Architecture

为了理解wayland的架构和它与X的区别,最好是看看从一个输入事件到这个输入事件的结果呈现到屏幕上这个过程都发生了什么。

Read more »

Something you should know about glmark2

  1. glmark2 的命令行参数格式

示例:

1
glmark2 -b desktop:nframes=1000000:show-fps=true -b build:duration=100
Read more »
0%