gpt4 book ai didi

android - Adreno 220 GLSL 漏洞

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:06 24 4
gpt4 key购买 nike

我们在使用 Adreno 220 GPU 的 Sony Xperia S 手机上进行 GLSL alpha 测试时遇到问题。设备运行 Android 4.0.4。

Adreno 200、Adreno 205、Adreno 225 以及 Tegra2Mali400PowerVR GPU 上工作正常。

着色器代码:

// vertex
uniform highp mat4 uMVPMatrix;
attribute highp vec4 aPosition;
attribute highp vec2 aTextureCoord;
varying mediump vec2 vTextureCoord;
void main() {
gl_Position = uMVPMatrix * aPosition;
vTextureCoord = aTextureCoord;
}

// fragment
precision mediump float;
varying mediump vec2 vTextureCoord;
uniform sampler2D sTexture;
uniform sampler2D sAlpha;
uniform vec4 uBlendColor;
void main() {
vec4 base = texture2D(sTexture, vTextureCoord);
if(texture2D(sAlpha, vTextureCoord).r < 0.5){ discard; }
else { gl_FragColor = base * uBlendColor; }
}

漏洞截图: Buggy

其他设备上的正确结果: Without bug

请告知可能导致此类视觉故障的原因、查找原因的方法以及可能的解决方法。

编辑:HTC Rezound 的旧库存 ROM 确认了相同的错误。有关详细信息,请参阅我的回答。

最佳答案

我已经要求在 xda-developers 的不同固件上测试应用程序。在某些设备上它工作得很好,而在另一些设备上则存在这种视觉故障。

因此我得出结论,它与 OpenGL 驱动程序中的某些错误有关,该错误已在某些非库存 ROM 中修复。

编辑:已确认这是旧 Qualcomm Adreno 220 驱动程序中的错误。在 HTC Rezound 手机(也是 Adreno 220)上有 stock 4.0.3 ROM 有同样的错误,它不仅存在于我的应用程序中,也存在于某些游戏中 - 缺少某些线条或像素某些对象。生根并安装 CM 4.1 后,错误消失了。

关于android - Adreno 220 GLSL 漏洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14142251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com