Avoid using instancing on hardware where it does not work well enough.

TRAC #12392 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@319 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 13b2dd87
...@@ -69,7 +69,16 @@ Dx9BackEnd::Dx9BackEnd(IDirect3DDevice9 *d3ddevice) ...@@ -69,7 +69,16 @@ Dx9BackEnd::Dx9BackEnd(IDirect3DDevice9 *d3ddevice)
D3DCAPS9 caps; D3DCAPS9 caps;
mDevice->GetDeviceCaps(&caps); mDevice->GetDeviceCaps(&caps);
mUseInstancingForStrideZero = (caps.VertexShaderVersion >= D3DVS_VERSION(3, 0));
IDirect3D9 *mD3D;
mDevice->GetDirect3D(&mD3D);
D3DADAPTER_IDENTIFIER9 ident;
mD3D->GetAdapterIdentifier(caps.AdapterOrdinal, 0, &ident);
mD3D->Release();
// Instancing is mandatory for all HW with SM3 vertex shaders, but avoid hardware where it does not work.
mUseInstancingForStrideZero = (caps.VertexShaderVersion >= D3DVS_VERSION(3, 0) && ident.VendorId != 0x8086);
} }
Dx9BackEnd::~Dx9BackEnd() Dx9BackEnd::~Dx9BackEnd()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment