2014年11月29日

【原创】Linux环境下的图形系统和AMD R600显卡编程(7)——AMD显卡的软件中断

摘要: CPU上处理的中断可以分成“硬件中断”和“软件中断”两类,比如网卡产生的中断称为硬件中断,而如果是软件使用诸如"int 0x10"(X86平台上)这样的指令产生中断称为软件中断,硬件中断是异步的,其发生的时机是不可知的,但是软件中断是同步的,CPU是“确切”知道其发生的时机的。 同样的,在GP... 阅读全文

posted @ 2014-11-29 15:04 tuituji 阅读(2796) 评论(0) 推荐(1) 编辑

【原创】Linux环境下的图形系统和AMD R600显卡编程(6)——AMD显卡GPU命令格式

摘要: 前面一篇blog里面描述了命令环缓冲区机制,在命令环机制下,驱动写入PM4(不知道为何会取这样一个名字)包格式的命令对显卡进行配置。这一篇blog将详细介绍命令包的格式。 当前定义了4中命令包,分别是0型/1型/2型和3型命令包,命令包由两部分组成,第一部分是命令包头,第二部分是命令包主体,命... 阅读全文

posted @ 2014-11-29 14:38 tuituji 阅读(4041) 评论(0) 推荐(1) 编辑

【原创】Linux环境下的图形系统和AMD R600显卡编程(5)——AMD显卡显命令处理机制

摘要: 通常通过读写设备寄存器对设备进行编程,在X86系统上,有专门的IO指令进行编程,在其他诸如MIPS、SPARC这类系统上,通过将设备的寄存器映射到内存地址空间直接使用读写内存的方式对设备进行编程。 Radeon显卡提供两种方式对硬件进行编程,一种称为“推模式”(push mode)即直接写寄存... 阅读全文

posted @ 2014-11-29 06:43 tuituji 阅读(4965) 评论(0) 推荐(2) 编辑

【原创】Linux环境下的图形系统和AMD R600显卡编程(4)——AMD显卡显存管理机制

摘要: 显卡使用的内存分为两部分,一部分是显卡自带的显存称为VRAM内存,另外一部分是系统主存称为GTT内存(graphics translation table和后面的GART含义相同,都是指显卡的页表,GTT 内存可以就理解为需要建立GPU页表的显存)。在嵌入式系统或者集成显卡上,显卡通常是不自带显... 阅读全文

posted @ 2014-11-29 04:35 tuituji 阅读(6824) 评论(0) 推荐(1) 编辑

【原创】Linux环境下的图形系统和AMD R600显卡编程(3)——AMD显卡简介

摘要: 早期的显卡仅用于显示,后来显卡中加入了2D加速部件,这些部件用于做拷屏,画点,画线等操作。随着游戏、三维模拟以及科学计算可视化等需要,对3D的需求逐渐增加,早期图形绘制工作由CPU来完成,要达到真实感和实时效果,只能绘制一些简单的线框模型,上世纪80年代,斯坦福大学的Jim Clark教授率先提... 阅读全文

posted @ 2014-11-29 03:41 tuituji 阅读(4232) 评论(0) 推荐(1) 编辑

2014年11月28日

【原创】Linux环境下的图形系统和AMD R600显卡编程(2)——Framebuffer、DRM、EXA和Mesa简介

摘要: 1. Framebuffer Framebuffer驱动提供基本的显示,framebuffer驱动操作的硬件就是一个显示控制器和帧缓存(一片位于系统主存或者显卡显存)。Framebuffer驱动向应用程序提供/dev/fbx的设备接口,应用程序通过读写这个设备节点实现对显示控制器和帧缓存。 下面... 阅读全文

posted @ 2014-11-28 20:48 tuituji 阅读(11462) 评论(0) 推荐(1) 编辑

【原创】Linux环境下的图形系统和AMD R600显卡编程(1)——Linux环境下的图形系统简介

摘要: Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后。开源社区开发开发了一些新的图形系统,比如Wayland图形系统。 由于图形系统、3D图形本身的复杂... 阅读全文

posted @ 2014-11-28 18:03 tuituji 阅读(11206) 评论(3) 推荐(3) 编辑

导航