Commit ad65a13c by Jamie Madill

Add RendererD3D as a layer between GL and Renderer9/11.

BUG=angle:789 Change-Id: I6107e6cbdeb5e3466f96a4bdf98181b8e5a25467 Reviewed-on: https://chromium-review.googlesource.com/225471Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarBrandon Jones <bajones@chromium.org> Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 48faf80a
...@@ -322,6 +322,7 @@ ...@@ -322,6 +322,7 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\RendererD3D.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TextureD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TextureD3D.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.h"/>
...@@ -481,6 +482,7 @@ ...@@ -481,6 +482,7 @@
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\RendererD3D.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureD3D.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureD3D.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp"/>
......
...@@ -1303,6 +1303,30 @@ ...@@ -1303,6 +1303,30 @@
<Filter Include="src\libGLESv2\renderer\d3d"> <Filter Include="src\libGLESv2\renderer\d3d">
<UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="src">
<UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2">
<UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2\renderer">
<UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2\renderer\d3d">
<UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2">
<UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2\renderer">
<UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2\renderer\d3d">
<UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2\renderer\d3d\d3d9"> <Filter Include="src\libGLESv2\renderer\d3d\d3d9">
<UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier>
</Filter> </Filter>
...@@ -3984,6 +4008,12 @@ ...@@ -3984,6 +4008,12 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.h">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude> </ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\RendererD3D.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\RendererD3D.h">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile> </ClCompile>
......
...@@ -435,6 +435,7 @@ ...@@ -435,6 +435,7 @@
<ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.h"/> <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.h"/>
<ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\ProgramD3D.h"/> <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\ProgramD3D.h"/>
<ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.h"/> <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.h"/>
<ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\RendererD3D.h"/>
<ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\ShaderD3D.h"/> <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\ShaderD3D.h"/>
<ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureD3D.h"/> <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureD3D.h"/>
<ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureStorage.h"/> <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureStorage.h"/>
...@@ -576,6 +577,7 @@ ...@@ -576,6 +577,7 @@
<ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.cpp"/> <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.cpp"/>
<ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ProgramD3D.cpp"/> <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ProgramD3D.cpp"/>
<ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.cpp"/> <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.cpp"/>
<ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\RendererD3D.cpp"/>
<ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"/> <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"/>
<ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureD3D.cpp"/> <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureD3D.cpp"/>
<ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp"/> <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp"/>
......
...@@ -1303,6 +1303,30 @@ ...@@ -1303,6 +1303,30 @@
<Filter Include="src\libGLESv2\renderer\d3d"> <Filter Include="src\libGLESv2\renderer\d3d">
<UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="src">
<UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2">
<UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2\renderer">
<UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2\renderer\d3d">
<UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2">
<UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2\renderer">
<UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2\renderer\d3d">
<UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier>
</Filter>
<Filter Include="src\libGLESv2\renderer\d3d\d3d11"> <Filter Include="src\libGLESv2\renderer\d3d\d3d11">
<UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier>
</Filter> </Filter>
...@@ -3459,6 +3483,12 @@ ...@@ -3459,6 +3483,12 @@
<ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.h"> <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\RenderbufferD3D.h">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude> </ClInclude>
<ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\RendererD3D.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile>
<ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\RendererD3D.h">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude>
<ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"> <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile> </ClCompile>
......
...@@ -179,6 +179,8 @@ ...@@ -179,6 +179,8 @@
'libGLESv2/renderer/d3d/ProgramD3D.h', 'libGLESv2/renderer/d3d/ProgramD3D.h',
'libGLESv2/renderer/d3d/RenderbufferD3D.cpp', 'libGLESv2/renderer/d3d/RenderbufferD3D.cpp',
'libGLESv2/renderer/d3d/RenderbufferD3D.h', 'libGLESv2/renderer/d3d/RenderbufferD3D.h',
'libGLESv2/renderer/d3d/RendererD3D.cpp',
'libGLESv2/renderer/d3d/RendererD3D.h',
'libGLESv2/renderer/d3d/ShaderD3D.cpp', 'libGLESv2/renderer/d3d/ShaderD3D.cpp',
'libGLESv2/renderer/d3d/ShaderD3D.h', 'libGLESv2/renderer/d3d/ShaderD3D.h',
'libGLESv2/renderer/d3d/TextureD3D.cpp', 'libGLESv2/renderer/d3d/TextureD3D.cpp',
......
//
// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// RendererD3D.cpp: Implementation of the base D3D Renderer.
#include "libGLESv2/renderer/d3d/RendererD3D.h"
namespace rx
{
RendererD3D::RendererD3D(egl::Display *display)
: Renderer(display)
{
}
RendererD3D::~RendererD3D()
{
}
} // namespace rx
// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// RendererD3D.h: Defines a back-end specific class for the DirectX renderer.
#ifndef LIBGLESV2_RENDERER_RENDERERD3D_H_
#define LIBGLESV2_RENDERER_RENDERERD3D_H_
#include "libGLESv2/renderer/Renderer.h"
namespace rx
{
class RendererD3D : public Renderer
{
public:
explicit RendererD3D(egl::Display *display);
virtual ~RendererD3D();
private:
DISALLOW_COPY_AND_ASSIGN(RendererD3D);
};
}
#endif // LIBGLESV2_RENDERER_RENDERERD3D_H_
...@@ -95,7 +95,7 @@ ID3D11Resource *GetSRVResource(ID3D11ShaderResourceView *srv) ...@@ -95,7 +95,7 @@ ID3D11Resource *GetSRVResource(ID3D11ShaderResourceView *srv)
} }
Renderer11::Renderer11(egl::Display *display, EGLNativeDisplayType hDc, const egl::AttributeMap &attributes) Renderer11::Renderer11(egl::Display *display, EGLNativeDisplayType hDc, const egl::AttributeMap &attributes)
: Renderer(display), : RendererD3D(display),
mDc(hDc), mDc(hDc),
mStateCache(this) mStateCache(this)
{ {
......
...@@ -13,10 +13,10 @@ ...@@ -13,10 +13,10 @@
#include "libGLESv2/angletypes.h" #include "libGLESv2/angletypes.h"
#include "common/mathutil.h" #include "common/mathutil.h"
#include "libGLESv2/renderer/Renderer.h"
#include "libGLESv2/renderer/d3d/HLSLCompiler.h"
#include "libGLESv2/renderer/d3d/d3d11/RenderStateCache.h" #include "libGLESv2/renderer/d3d/d3d11/RenderStateCache.h"
#include "libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h" #include "libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h"
#include "libGLESv2/renderer/d3d/HLSLCompiler.h"
#include "libGLESv2/renderer/d3d/RendererD3D.h"
#include "libGLESv2/renderer/RenderTarget.h" #include "libGLESv2/renderer/RenderTarget.h"
#include "libEGL/AttributeMap.h" #include "libEGL/AttributeMap.h"
...@@ -44,7 +44,7 @@ enum ...@@ -44,7 +44,7 @@ enum
MAX_FRAGMENT_UNIFORM_VECTORS_D3D11 = 1024 MAX_FRAGMENT_UNIFORM_VECTORS_D3D11 = 1024
}; };
class Renderer11 : public Renderer class Renderer11 : public RendererD3D
{ {
public: public:
Renderer11(egl::Display *display, EGLNativeDisplayType hDc, const egl::AttributeMap &attributes); Renderer11(egl::Display *display, EGLNativeDisplayType hDc, const egl::AttributeMap &attributes);
......
...@@ -94,7 +94,7 @@ enum ...@@ -94,7 +94,7 @@ enum
}; };
Renderer9::Renderer9(egl::Display *display, EGLNativeDisplayType hDc, const egl::AttributeMap &attributes) Renderer9::Renderer9(egl::Display *display, EGLNativeDisplayType hDc, const egl::AttributeMap &attributes)
: Renderer(display), : RendererD3D(display),
mDc(hDc) mDc(hDc)
{ {
mD3d9Module = NULL; mD3d9Module = NULL;
......
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
#include "common/angleutils.h" #include "common/angleutils.h"
#include "common/mathutil.h" #include "common/mathutil.h"
#include "libGLESv2/renderer/d3d/HLSLCompiler.h"
#include "libGLESv2/renderer/d3d/d3d9/ShaderCache.h" #include "libGLESv2/renderer/d3d/d3d9/ShaderCache.h"
#include "libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h" #include "libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h"
#include "libGLESv2/renderer/Renderer.h" #include "libGLESv2/renderer/d3d/HLSLCompiler.h"
#include "libGLESv2/renderer/d3d/RendererD3D.h"
#include "libGLESv2/renderer/RenderTarget.h" #include "libGLESv2/renderer/RenderTarget.h"
namespace gl namespace gl
...@@ -36,7 +36,7 @@ class StaticIndexBufferInterface; ...@@ -36,7 +36,7 @@ class StaticIndexBufferInterface;
struct TranslatedAttribute; struct TranslatedAttribute;
class Blit9; class Blit9;
class Renderer9 : public Renderer class Renderer9 : public RendererD3D
{ {
public: public:
Renderer9(egl::Display *display, EGLNativeDisplayType hDc, const egl::AttributeMap &attributes); Renderer9(egl::Display *display, EGLNativeDisplayType hDc, const egl::AttributeMap &attributes);
......
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