Bug 1262427. Don't try D3D11 harder. r=dvander

If we know D3D11 isn't going to work we shouldn't bother
using it for ANGLE.
This commit is contained in:
Jeff Muizelaar 2016-04-29 14:39:51 -04:00
Родитель 3683deb67f
Коммит 4e45e68439
5 изменённых файлов: 12 добавлений и 9 удалений

Просмотреть файл

@ -179,7 +179,7 @@ GetAndInitDisplayForAccelANGLE(GLLibraryEGL& egl)
return GetAndInitDisplay(egl, LOCAL_EGL_D3D11_ONLY_DISPLAY_ANGLE);
if (gfxPrefs::WebGLANGLETryD3D11() &&
gfxPlatform::CanUseDirect3D11ANGLE())
gfxPlatform::GetPlatform()->CanUseDirect3D11ANGLE())
{
ret = GetAndInitDisplay(egl, LOCAL_EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE);
}

Просмотреть файл

@ -2173,13 +2173,6 @@ gfxPlatform::CanUseHardwareVideoDecoding()
return sLayersSupportsHardwareVideoDecoding && !sLayersHardwareVideoDecodingFailed;
}
bool
gfxPlatform::CanUseDirect3D11ANGLE()
{
MOZ_ASSERT(sLayersAccelerationPrefsInitialized);
return gANGLESupportsD3D11;
}
bool
gfxPlatform::AccelerateLayersByDefault()
{

Просмотреть файл

@ -451,7 +451,7 @@ public:
static bool CanUseDirect3D9();
virtual bool CanUseHardwareVideoDecoding();
static bool CanUseDirect3D11ANGLE();
virtual bool CanUseDirect3D11ANGLE() { return false; }
// Returns a prioritized list of all available compositor backends.
void GetCompositorBackends(bool useAcceleration, nsTArray<mozilla::layers::LayersBackend>& aBackends);

Просмотреть файл

@ -428,6 +428,12 @@ gfxWindowsPlatform::CanUseHardwareVideoDecoding()
return !IsWARP() && gfxPlatform::CanUseHardwareVideoDecoding();
}
bool
gfxWindowsPlatform::CanUseDirect3D11ANGLE()
{
return gANGLESupportsD3D11 && gfxConfig::IsEnabled(Feature::D3D11_COMPOSITING);
}
bool
gfxWindowsPlatform::InitDWriteSupport()
{

Просмотреть файл

@ -97,6 +97,8 @@ struct ClearTypeParameterInfo {
int32_t enhancedContrast;
};
extern bool gANGLESupportsD3D11;
class gfxWindowsPlatform : public gfxPlatform {
public:
enum TextRenderingMode {
@ -260,6 +262,8 @@ public:
}
bool SupportsPluginDirectDXGIDrawing();
virtual bool CanUseDirect3D11ANGLE();
protected:
bool AccelerateLayersByDefault() override {
return true;