Fix OpenGLES 3.0 on Qualcomm's crappy driver, it can't bitshift sometimes.

[fixed lint issues and grammar ~comex]
This commit is contained in:
Dwayne Slater
2015-02-28 15:02:44 -05:00
committed by comex
parent e4b5637c3a
commit ae83a1b821
5 changed files with 171 additions and 20 deletions

View File

@ -201,6 +201,38 @@ namespace DriverDetails
// if (cond == false)
BUG_BROKENNEGATEDBOOLEAN,
// Bug: Qualcomm has broken ivec to scalar and ivec to ivec bitshifts
// Affected devices: Adreno
// Started Version: -1
// Ended Version: 46 (TODO: Test more devices, the real end is currently unknown)
// Qualcomm has broken integer vector to integer bitshifts, and integer vector to integer vector bitshifts
// A compilation error is generated when trying to compile the shaders.
//
// For example:
// Broken on Qualcomm:
// ivec4 ab = ivec4(1,1,1,1);
// ab <<= 2;
//
// Working on Qualcomm:
// ivec4 ab = ivec4(1,1,1,1);
// ab.x <<= 2;
// ab.y <<= 2;
// ab.z <<= 2;
// ab.w <<= 2;
//
// Broken on Qualcomm:
// ivec4 ab = ivec4(1,1,1,1);
// ivec4 cd = ivec4(1,2,3,4);
// ab <<= cd;
//
// Working on Qualcomm:
// ivec4 ab = ivec4(1,1,1,1);
// ivec4 cd = ivec4(1,2,3,4);
// ab.x <<= cd.x;
// ab.y <<= cd.y;
// ab.z <<= cd.z;
// ab.w <<= cd.w;
BUG_BROKENIVECSHIFTS,
};
// Initializes our internal vendor, device family, and driver version