Introduction

glamor是一个开源的2D加速驱动,它作为Xorg的一个模块被实现。相比传统的DDX 2D加速驱动,glamor主要有以下2个好处:

  • 使用非常通用的EGL/OpenGL API去操作GPU硬件,省去了手动为每个不同的GPU编写2D加速驱动的麻烦
  • 有了glamor,不再需要传统的2D DDX驱动
Read more »

Motivation

Given that a difficulty to add a custom X11 device driver or module or extension for Xserver, I try to find out how an Xserver is built and its dependent drivers and modules and extensions are orgnized together by building it from source.

Read more »

XYPixmap

The data for a XYPixmap is organized as a set of bitmaps representing individual bit planes, with the planes appearing from MSB to LSB in bit order just as demonstrated below. Every pixel value is 0x55 (b’01010101) in this example.

Read more »

Overview

OpenGL 有很多 Draw 命令, 大体分为 4 类:

  • DrawArrays
  • DrawElements (Indexed)
  • DrawInstanced
  • DrawIndirect
Read more »

X窗口系统

X窗口系统诞生于1984年MIT的研究,后来成为Unix, 类UNIX等操作系统所一致适用的标准化软件工具包及显示架构的运作协议。目前使用最普遍最受欢迎的一个实现是X.Org,它所用的协议版本是X11, 所以Xorg也经常被叫做X11。

Read more »

Overview(#158)

复杂的OpenGL应用和对高分辨率的追求使纹理的大小巨增,但是可供一个GPU使用的物理内存是有限的,一旦内存使用殆尽,内存换页就可能发生,性能严重下降,或者更糟,应用直接挂了。但另一方面GPU可访问的地址空间目前已经可以达到GB,甚至TB.

Read more »

smart pointer是C11引入的,被包含在C标准库中。smart pointer是为了管理对象的所属(object ownership)而设计的,smart pointer对象负责自动地销毁所关联对象。常见的smart pointer有:

Read more »

Overview(#117)

ARB_texture_storage的主要目的是简化纹理一致性(consistency)和完整性(completeness)检查,以减小实现的开销。

Read more »

概述(#84)

传统的OpenGL纹理格式(texture format)的纹理数据存储和解释是统一的,纹理就是被解释成颜色。而在现代OpenGL应用中,大多数纹理并不是代表颜色,而是代表像shadow maps, normal maps, page tables, occlusion data等等这样的数据。对于后者,我们将纹理数据称作"RGBA",只是对数据在现有模型上的一种方便的映射,但并不是数据实际上的准确解释。

Read more »
0%