From 37b996425a0e72b07a79fd8e86c288ba8021aa4a Mon Sep 17 00:00:00 2001 From: shrekshao Date: Mon, 11 Mar 2019 18:43:05 -0700 Subject: [PATCH] fix d3d ext float blend Bug: chromium:930993, chromium:938602 Change-Id: Ie2e07369eca663b1507c7811a1a06ce5efc892ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516007 Commit-Queue: Jamie Madill Reviewed-by: Jamie Madill --- src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp | 2 ++ src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp index b4eaa8f2cb7..0d855df3820 100644 --- a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp +++ b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp @@ -1609,6 +1609,8 @@ void GenerateCaps(ID3D11Device *device, // and https://msdn.microsoft.com/en-us/library/windows/desktop/ff476900(v=vs.85).aspx extensions->robustBufferAccessBehavior = true; extensions->blendMinMax = true; + // https://docs.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-11-0-feature-level-hardware + extensions->floatBlend = true; extensions->framebufferBlit = GetFramebufferBlitSupport(featureLevel); extensions->framebufferMultisample = GetFramebufferMultisampleSupport(featureLevel); extensions->instancedArraysANGLE = GetInstancingSupport(featureLevel); diff --git a/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp b/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp index a4401f77848..0926a52d779 100644 --- a/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp +++ b/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp @@ -709,6 +709,8 @@ void GenerateCaps(IDirect3D9 *d3d9, // https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_robustness.txt extensions->robustBufferAccessBehavior = false; extensions->blendMinMax = true; + // https://docs.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-feature-level-9-1-hardware + extensions->floatBlend = false; extensions->framebufferBlit = true; extensions->framebufferMultisample = true; extensions->instancedArraysANGLE = deviceCaps.PixelShaderVersion >= D3DPS_VERSION(3, 0);