- 博客(9)
- 资源 (5)
- 收藏
- 关注
原创 CMakeLists用法总结
分一下几个方面来描述:1. 每一个LIB要编译成静态库或动态库如何描述,每一个TOOL要编译成可执行文件如何描述?2. LIB和TOOL可能会依赖于其他LIB,该如何描述?3. 每个LIB和TOOL都会include很多头文件,相同的头文件如何处理,私有的头文件如何处理?4. CMake中的一些用法5. LLVM中用到的技巧先举一个简单的例子: // ...
2018-04-18 23:32:50 15480
转载 OpenGL ES 三种类型修饰 uniform attribute varying
转载自:点击打开链接1.uniform变量uniform变量是外部application程序传递给(vertex和fragment)shader的变量。因此它是application通过函数glUniform**()函数赋值的。在(vertex和fragment)shader程序内部,uniform变量就像是C语言里面的常量(const ),它不能被shader程序修改。(sh
2016-08-08 14:15:03 321
转载 OpenGL中的Frame Buffer Object 理解
概点击打开链接要在OpenGL的渲染管线中,几何数据和纹理通过一系列变换和测试,最终被渲染成屏幕上的二维像素。那些用于存储颜色值和测试结果的二维数组的几何被称为帧缓冲区(frame buffer)。这些二维数组按用途划分,可分为颜色缓冲区(color buffer),深度缓冲区(depth buffer),模版缓冲区(stencil buffer)和累加缓冲区(accumulation buf
2016-05-31 19:26:10 2067
原创 RA, 寄存器分配
寄存器分配1. 如何计算D-U链(1) 首先遍历整个routine,保存所有def值; 问题: 你如何去保存这些def值呢?要保证能快速的得到每个def值,因为每一 个 def 值不仅仅只包含dst寄存器号,还包括这条指令,以及其它信息。解答之一: 最快速的查找算法,就是hash算法。在我们这里通过构建一个含有256个元素的hash表,hash[regNo & (256-
2016-05-26 17:21:20 3717 1
原创 静态单赋值理解
静态单赋值SSA即静态单赋值,Static Single-Assignment,这是一种中间表示形式。 之所以称之为单赋值,是因为每个名字在SSA中仅被赋值一次。构造静态单赋值形式的过程会在CFG中的每个汇合点之后插入phi函数,汇合点即为CFG中多条代码路径汇合之处。在汇合点处,不同的静态单赋值形式名必须调和为一个名字。整个过程大致为两步:(1) 插入PHI函数在具有
2016-05-26 15:20:54 7671
翻译 On Predicated Execution
目的:由于GPU属于SIMD架构,也就是单指令多数据,当一堆数据过来时,不一定同时跳转,因此这里通过预测寄存器来控制,也就是通过If-Conversion算法消除所有的跳转指令,这样带来的好处就是,将控制依赖转换为数据依赖,同时增大了Basic Block的大小,为有利于后面的指令调度。 这个算法其实很简单,我们可以这么理解:每个Basic Block都要有一个PRF去控制当前
2016-05-24 13:45:14 880
转载 Geometry Instancing(几何体实例化)
点击打开链接Geometry Instancing(几何体实例化),是一种用于大批量重复物件渲染的GPU技术,以降低客户端和显卡端数据传输量,所谓的“一次提交,多次渲染”。在OpenGL 3.x下的Instancing技术已经是作为核心,本文也大致地记录一下自己最近使用时的一些思维片段罢。——ZwqXin.com不由得想起当年的CityDreamSnow,在那个Demo中,“涉
2016-05-10 14:32:10 1970
转载 HLSL基础
HLSL初级教程作者:trcj目录前言1.HLSL入门 1.1什么是着色器 1.2什么是HLSL 1.3怎么写HLSL着色器 1.4怎么用HLSL着色器2.顶点着色器 2.1可编程数据流模型 2.2顶点声明 2.3用顶点着色器实现渐变动画3.像素着色器
2014-10-22 18:26:38 7653
转载 指针对虚基类成员变量的访问为什么不能直接通过offset访问,而需要通过vbtable间接访问?
class C {public: int m_c;}; class B1 : public virtual C{public: int m_b1;}; class B2 : public virtual C{public: int m_b2;}; class D : public B1, public B2
2014-09-01 13:04:49 698
关于JTAG总结
2011-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人