Use ComPtr references for D3D objects.
This is an work-in-progress CL to prototype using ComPtr.
It also has a new design for internal errors that doesn't use
FormatString, preferring a stream-based approach.
One thing to be aware of is that the address operator does not
behave as expected with ComPtr - we should use ::AddressOf.
BUG=angleproject:530
BUG=angleproject:1644
Change-Id: If5643e9e5726fd9aa5cbd422fca12ae169eb5b1f
Reviewed-on: https://chromium-review.googlesource.com/415027
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/common/angleutils.h b/src/common/angleutils.h
index f5ef7bd..49c071c 100644
--- a/src/common/angleutils.h
+++ b/src/common/angleutils.h
@@ -23,6 +23,10 @@
namespace angle
{
+#if defined(ANBLE_ENABLE_D3D9) || defined(ANGLE_ENABLE_D3D11)
+using Microsoft::WRL::ComPtr;
+#endif // defined(ANBLE_ENABLE_D3D9) || defined(ANGLE_ENABLE_D3D11)
+
class NonCopyable
{
public: