chenjirong82 发表于 2016-4-25 06:37:58

【20160424模拟器新闻】本周有各种重大的图形提升和代码改造

1、JayFoxRox对软件光栅器的改进:alpha blend处理函数中允许所有blend因子的处理
这个主要修正前面使用软件光栅器的时候,会出现这类错误:
HW.GPU <Critical> video_core/rasterizer.cpp:operator():1005: Unknown alpha blend factor




2、Subv对共享内存分配进行改进,相比前期对地址的修正,
本PR可以提早发现地址指向的内存区被占用后,自动对其进行重定位




3、JayFoxRox实现color combiner中的Operation::Dot3_RGB


他使用JamePeng 前面在Dot3_RGB讨论中提出的解决办法,目前验证可以解决color combiner中的Operation::Dot3_RGB,
而color combiner中的Operation::Dot3_RGBA 以及alpha combiner中的 Operation::Dot3_RGBA仍需要其他验证,后者按理来说是opengl标准所不支持的。

4、本周最重要的新闻: tfarley的Hardware Renderer Texture Forwarding终于整合了



如果不是很了解的话,可以看看我前面发的新闻。
如果懒得去找的话,那我也在这里简要说一下:
最直观的,
(1) 一些游戏的贴图错误被修复,如SD高达啊,暗杀教室啊,冒险岛啊等等
(2) OpenGL渲染器引入surface cache,光栅器可以直接显示缓存后framebuffers 和 textures,游戏运行帧数大概提升3到12帧,当然这绝大部分情况下取决于电脑和模拟的游戏,我也只是在我的电脑进行测试后,大概感受出来的范围
(3) 加入分辨率增强的选项,不过还是初步实现阶段
(不过,听说Intel的核显会有性能下降的情况,应该是intel驱动的问题)

5、热心吧友及开发者wwylele实现一个非常有趣有意义的功能,
在游戏列表里面显示相应游戏的icon,提高了游戏文件的辨识度




6、JayFoxRox实现texture 0的Type3(Projection2D)的处理



7、Subv改进内核线程的Thread Local Storage内存区分配,探测到占用的话会重新分配新的内存页




8、JayFoxRox提交申请,把结构体PicaShaderConfig改造成POD,并在其使用前清空为零
JayFoxRox与一些开发者发现,结构体里面因为内存对齐而产生的不确定padding值,
会影响到操作符“==”比较两个相同的struct 的hash的时候,可能会把他们比对成不相同!

页: [1]
查看完整版本: 【20160424模拟器新闻】本周有各种重大的图形提升和代码改造