- 博客(5)
- 资源 (5)
- 收藏
- 关注
转载 OpenGL中的Frame Buffer Object 理解
概点击打开链接要在OpenGL的渲染管线中,几何数据和纹理通过一系列变换和测试,最终被渲染成屏幕上的二维像素。那些用于存储颜色值和测试结果的二维数组的几何被称为帧缓冲区(frame buffer)。这些二维数组按用途划分,可分为颜色缓冲区(color buffer),深度缓冲区(depth buffer),模版缓冲区(stencil buffer)和累加缓冲区(accumulation buf
2016-05-31 19:26:10 2042
原创 RA, 寄存器分配
寄存器分配1. 如何计算D-U链(1) 首先遍历整个routine,保存所有def值; 问题: 你如何去保存这些def值呢?要保证能快速的得到每个def值,因为每一 个 def 值不仅仅只包含dst寄存器号,还包括这条指令,以及其它信息。解答之一: 最快速的查找算法,就是hash算法。在我们这里通过构建一个含有256个元素的hash表,hash[regNo & (256-
2016-05-26 17:21:20 3705 1
原创 静态单赋值理解
静态单赋值SSA即静态单赋值,Static Single-Assignment,这是一种中间表示形式。 之所以称之为单赋值,是因为每个名字在SSA中仅被赋值一次。构造静态单赋值形式的过程会在CFG中的每个汇合点之后插入phi函数,汇合点即为CFG中多条代码路径汇合之处。在汇合点处,不同的静态单赋值形式名必须调和为一个名字。整个过程大致为两步:(1) 插入PHI函数在具有
2016-05-26 15:20:54 7634
翻译 On Predicated Execution
目的:由于GPU属于SIMD架构,也就是单指令多数据,当一堆数据过来时,不一定同时跳转,因此这里通过预测寄存器来控制,也就是通过If-Conversion算法消除所有的跳转指令,这样带来的好处就是,将控制依赖转换为数据依赖,同时增大了Basic Block的大小,为有利于后面的指令调度。 这个算法其实很简单,我们可以这么理解:每个Basic Block都要有一个PRF去控制当前
2016-05-24 13:45:14 854
转载 Geometry Instancing(几何体实例化)
点击打开链接Geometry Instancing(几何体实例化),是一种用于大批量重复物件渲染的GPU技术,以降低客户端和显卡端数据传输量,所谓的“一次提交,多次渲染”。在OpenGL 3.x下的Instancing技术已经是作为核心,本文也大致地记录一下自己最近使用时的一些思维片段罢。——ZwqXin.com不由得想起当年的CityDreamSnow,在那个Demo中,“涉
2016-05-10 14:32:10 1950
关于JTAG总结
2011-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人