It appears so. It's very difficult to test -- it crashes completely at random, so it's hard to tell if it works because of disabled mipmaps. But it seems to work everytime they are disabled. So far.
Specifically, disabling mipmaps in the TextureCube resource registration seems to do the trick.
egTextures.cpp (Horde 0.14.0, but similar in 1.0*)
Code:
void TextureCubeResource::initResType()
{
unsigned char defaultTexture[] =
{ 255,192,128, 255,192,128, 255,192,128, 255,192,128,
255,192,128, 255,192,128, 255,192,128, 255,192,128,
255,192,128, 255,192,128, 255,192,128, 255,192,128,
255,192,128, 255,192,128, 255,192,128, 255,192,128 };
// Upload default texture
defTexObject = Modules::renderer().uploadTextureCube(
defaultTexture, 4, 4, 3, false, 0, false, false, true );
for( uint32 j = 1; j < 6; j++ )
{
Modules::renderer().uploadTextureCube(
defaultTexture, 4, 4, 3, false, j, false, false, true, defTexObject );
}
}
The boolean mipmap parameter is set to false here, avoiding the crash. I don't know if it's worth making this the standard behavior since the driver still crashes for other reasons... I expect all of these issues to clear up when they release an updated driver.