- 博客(24)
- 资源 (35)
- 收藏
- 关注

原创 The Mesa 3D Graphics Library
The Mesa 3D Graphics Library文章目录The Mesa 3D Graphics Library前言源码导读GL Dispatch前言源码导读GL Dispatch
2020-12-15 17:04:02
710
2

原创 Linux Graphics Stack
Linux Graphics StackX Window SystemThe Mesa 3D Graphics LibraryGalliumDRMDRIOpenGLVulkanZinkFBDEVX Window SystemThe Mesa 3D Graphics LibraryGalliumDRMDRIOpenGLVulkanZinkFBDEV
2020-12-15 16:58:54
408
原创 libGL.so 分析
目录libGL.so dependencylibGL.so.1.2.0libglx.alibloader.alibloader_dri3_helper.alibglapi_static.alibglapi.sosrc/mapi/Makefile.sourceslibGL.so dependencylibGL.so.1.2.0src/glx/libGL.so.1.2.0src/glx/meson.build系统库依赖/lib/aarch64-linux-gnu/libdl-2.28.
2020-12-22 16:12:07
1939
原创 Mesa代码结构分析
文章目录分析方法准备开始分析方法徒手去分析meson.build效率太低了,这里采用ninja -t browse的方式让ninja工具给我自动生成构建依赖关系图,并能够用浏览器打开方便查看。准备参考我写的Mesa编译,执行到meson configure build/就可以了开始ninja -C build/ -t browse...
2020-12-19 23:38:51
4643
2
原创 GLX直接渲染与间接渲染
文章目录前言源码解析src/glx/single2.cbuild/src/mapi/glapi/gen/indirect_init.csrc/glx/indirect_glx.csrc/glx/glxclient.h前言GLX支持直接渲染(Direct Rendering)与间接渲染(Indirect Rendering)两种模式,直接渲染模式需要OpenGL应用程序能够直接访问GPU(可以简单地认为OpenGL应用程序与GPU需要在同一台电脑上),而间接渲染则需要将OpenGL指令转发至X Wind
2020-12-17 20:54:45
2127
1
原创 Mesa核心数据结构
文章目录概述ContextGLXContextXMesaContextgl_contextst_contextpipe_context概述Mesa的核心数据结构包含以下几类:ContextContextGLXContextinclude/GL/glx.htypedef struct __GLXcontextRec *GLXContext;src/gallium/state_trackers/glx/xlib/glx_api.c/** * The GLXContext typede
2020-12-16 22:41:34
1225
原创 FreeGLUT
文章目录前言源码解析[mesa]demos/src/demos/gears.csrc\fg_init.csrc\x11\fg_init_x11.c前言本文主要是为了分析FreeGLUT与X11、GLX之间的关系,从最终用户的角度分析Mesa的初始化过程。源码解析[mesa]demos/src/demos/gears.cmain|–> glutInitint main(int argc, char *argv[]){ glutInitWindowSize(300, 300
2020-12-15 22:00:24
709
2
原创 Mesa编译
目录官方编译步骤我的编译步骤编译环境编译步骤官方编译步骤Compiling and InstallingCompilation and Installation Using Meson我的编译步骤编译环境Ubuntu 20.04Mesa版本:20.0.8编译步骤# 安装编译工具及依赖sudo apt build-dep mesasudo apt install meson# 设置源码路径export TOP=/home/examyes/dev/mesa-20.0.8cd
2020-12-15 17:33:03
3218
原创 Mesa GL Dispatch
目录前言源码解读build/src/mapi/glapi/gen/glapi_mapi_tmp.hbuild/src/mapi/glapi/gen/api_exec.cbuild/src/mesa/main/dispatch.hsrc/mesa/main/mtypes.h参考前言要想解析Mesa GL Dispatch的原理,首先需要对mesa进行编译源码解读build/src/mapi/glapi/gen/glapi_mapi_tmp.h// 省略#define GLAPI_PREFIX(f
2020-12-15 17:18:52
1555
2
原创 《从0到1》读书笔记
序:“道生一”的商业智慧市场仿佛一块有限的饼,当你不能勇猛地切得比别人更大时,你就开始落后,最后甚至出局。于是企业之间开始比拼速度,比拼执行,比拼谁能更快更好地复制和翻版新潮产品或商业模式。纵然如此努力,大多数企业仍然逃不脱靠微博利润度日乃至亏损被淘汰的命运。所有成功的企业都是不同的在经济学入门的第一课中,“完全竞争”是一种理想的、默认的状态。所谓的完全竞争市场在供求平衡时达到平衡。处于竞争市
2015-08-31 09:07:19
1037
1
原创 《黑天鹅》让我恐惧的一本书
为什么看《黑天鹅》《黑天鹅》这本书是多年前看一个老罗演讲的视频得知的,比较钦佩老罗,爱屋及乌,觉得这书肯定也不错。当时没有什么阅历,看了没什么感觉,就丢到角落了。这段时间,公司的产品发展的不是很好,作为产品经理和技术总监有一些压力。我觉得自己向来是个循规蹈矩的人,缺少创新,不知该如何规划并设计新的产品。身旁既无高手指点,也无朋友可聊,于是设法想从各类书籍中汲取一些营养和智慧,便从角落里翻出这本书。看
2015-08-25 22:11:47
1633
原创 Emacs 内建C语言函数实现机制
(写的不好,欢迎善意拍砖)转载请注明出处:http://blog.youkuaiyun.com/fengningning/article/details/8214450Emacs的历史悠久和强大自不必多说,它内建了Elisp(Lisp的一种方言)的解释引擎。它对很多后来的语言如Ruby(参见Ruby之父的How Emacs changed my life)产生了重大的影响。诸多计算机界的大拿对它青睐有
2012-11-22 23:32:43
1691
原创 解构windows.h
关于有没有必要解构“这么一个”头文件,作为初学者,我实在没有太多的见解要发表。我在Microsoft Visual Studio .NET 2005中打开的这个只有260多行(实际占用的行数可能更少)的文件,是所有(我知道用“所有”这个词似乎不大严谨,但据我所知——是的)Windows程序必须先包含的文件,既然是“必须”的,也
2008-04-19 11:26:00
8588
3
转载 DAEMON 中的 SPTD 和 发生sptd.sys 错误的处理办法~
http://www.mr-nemo.com/daemon-and-sptd/index.htm 今天正好研究研究daemon这个软件的安装,发现点小问题,科普一下,呵呵下载 daemon tools 虚拟光驱软件的时候,版本很多,但基本都是写着Daemon Tools Vx.xx (with SPTD V1.xx)这样的字样,那么这个SPTD是什么软件呢?
2008-04-16 21:00:00
6594
2
原创 Windows下的C++编程——你过时了么?
现在很多人仍然在用VC++6.0编写Windows下的C++程序,一些老程序员可能会说:“用习惯了,觉得挺好用,不需要改变”,不无道理,但事实上是跟不上编译器以及开发环境的更新步伐。可是我们这些新生程序员呢——到底该如何选择? 先让我来陈述以下事实: 1998年C++标准第一版诞生,编号是ISO/IEC 14882,Microsoft Visual C++ 6.0就在当年发行,并且集成
2008-03-29 16:38:00
1347
原创 关于HP(包括COMPAQ)笔记本不能重装系统的问题
大多数人在这种时候会选择送去维修站检修。其实维修站的技术支持人员不过是更改了一项BIOS设置。现在举实例一个:朋友买了一台COMPAQ,发现系统使用过程中会出现蓝屏,疑是中了病毒,遂决定重装系统(这年头只有少数人会用正版系统,嘿嘿,我就是其中一个),安装过程不是很顺利,中途被强制打断。之后就出现不能正常从硬盘启动,并且频繁重启的现象(频率大概是0.25HZ)。分析: 针对这个例子,很容
2008-03-25 22:14:00
4296
转载 先来先服务,短作业优先,最高响应比三种算法下求平均周转和带权周转时间的实现
codear发表于 2006年04月11日 21:20:00 (http://blog.youkuaiyun.com/coDear)-->function hide(){showComment();}#include#define N 6struct time{ float arriveTime; float runTime; float finishTime; float
2007-12-06 19:48:00
4141
1
转载 解决 Virtual PC 在 XP PAE模式下无法运行的问题
在xp下装了Virtual PC 运行是出现如下提示:Virtual PC 在PAE模式下无法运行此版本的Virtual PC无法在PAE(物理地址扩展)模式下运行。请恢复到正常状态下来运行Virtual PC解释:物理地址扩展 (PAE) 概述物理地址扩展 (PAE) X86 允许软件使用地址窗口扩展 (AWE) API 集并在具有 Intel Pentium Pro 或更高版本处理器的
2007-11-27 17:22:00
2280
1
翻译 linice说明文档
Linice ——一个linux下的内核调试器Version 2.6www.linice.com作者:Goran Devic联系方法:author@linice.com如果没有足够的耐心,阅读README文件可以让你快速上手。系统要求 Linux PC/x86 平台 Pentium以上处理器 Linux内核2.4或2.6
2007-11-17 23:24:00
1218
原创 linice简介及安装
在开始之前,我觉得有必要先告诉你搭建实验环境所需的条件及如何搭建。 我们需要的工具是VMWare, RedHat 9.0, 以及linice 2.4。VMWare我用的是6.0.0,至于为何虽然linux与linice都有更新的版本而仍选择9.0及2.4,实践的过程自然能给你答案。 通过访问http://www.linice.de
2007-11-12 17:24:00
2366
emacs 23.1 cedet 1.0pre7 ecb 2.33 cscope ...
2009-08-22
自己动手写操作系统实验环境搭建
2007-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人