chromium真是牛逼,想尽一切办法用上硬件加速。
在windows下,先是尝试调用angle。这是一个用dx模拟opengl的库(因为opengl在windows很多bug,厂商基本不会修复)。
如果用户的显卡在黑名单里(src\gpu\config\gpu_blacklist.cc 文件里判断),则不会走angle,而是走另外个库:swiftshader。
这是个用CPU软绘实现opengl的库,相当屌。谷歌真是有钱,买来后就把这个开源了。
angle和swiftshader都会编译成libGLESv2.dll这个dll,导出函数也是一样的,
在F:\chromium_70_support_xp\src\ui\gl\init\gl_initializer_win.cc里,判断用户能否启动angle,不能的话就调用swiftshader文件夹下的libGLESv2.dll。
再次感慨,谷歌牛逼,有钱真是可以为所欲为。