Commit 2225493102ea47d96d6a11e39cad5b8c5f039c7c

David Ludwig 2013-12-25T13:13:15

WinRT: moved contents of the d3d11 renderer's header file into its implementation file

diff --git a/VisualC-WinPhone/SDL/SDL-WinPhone_VS2012.vcxproj b/VisualC-WinPhone/SDL/SDL-WinPhone_VS2012.vcxproj
index 882fe3b..0f185be 100644
--- a/VisualC-WinPhone/SDL/SDL-WinPhone_VS2012.vcxproj
+++ b/VisualC-WinPhone/SDL/SDL-WinPhone_VS2012.vcxproj
@@ -215,7 +215,6 @@
     <ClInclude Include="..\..\src\haptic\SDL_syshaptic.h" />
     <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h" />
     <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h" />
-    <ClInclude Include="..\..\src\render\direct3d11\SDL_render_d3d11_cpp.h" />
     <ClInclude Include="..\..\src\render\mmx.h" />
     <ClInclude Include="..\..\src\render\SDL_sysrender.h" />
     <ClInclude Include="..\..\src\render\SDL_yuv_sw_c.h" />
diff --git a/VisualC-WinPhone/SDL/SDL-WinPhone_VS2012.vcxproj.filters b/VisualC-WinPhone/SDL/SDL-WinPhone_VS2012.vcxproj.filters
index f99bb94..59296bf 100644
--- a/VisualC-WinPhone/SDL/SDL-WinPhone_VS2012.vcxproj.filters
+++ b/VisualC-WinPhone/SDL/SDL-WinPhone_VS2012.vcxproj.filters
@@ -318,9 +318,6 @@
     <ClInclude Include="..\..\src\video\SDL_sysvideo.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\render\direct3d11\SDL_render_d3d11_cpp.h">
-      <Filter>Source Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h">
       <Filter>Source Files</Filter>
     </ClInclude>
diff --git a/VisualC-WinRT/SDL/SDL-WinRT_VS2012.vcxproj b/VisualC-WinRT/SDL/SDL-WinRT_VS2012.vcxproj
index 6a2dfb6..f06787f 100644
--- a/VisualC-WinRT/SDL/SDL-WinRT_VS2012.vcxproj
+++ b/VisualC-WinRT/SDL/SDL-WinRT_VS2012.vcxproj
@@ -284,7 +284,6 @@
     <ClInclude Include="..\..\src\joystick\SDL_gamecontrollerdb.h" />
     <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h" />
     <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h" />
-    <ClInclude Include="..\..\src\render\direct3d11\SDL_render_d3d11_cpp.h" />
     <ClInclude Include="..\..\src\render\mmx.h" />
     <ClInclude Include="..\..\src\render\opengles2\SDL_gles2funcs.h" />
     <ClInclude Include="..\..\src\render\opengles2\SDL_shaders_gles2.h" />
diff --git a/VisualC-WinRT/SDL/SDL-WinRT_VS2012.vcxproj.filters b/VisualC-WinRT/SDL/SDL-WinRT_VS2012.vcxproj.filters
index b3c0686..bff9c9d 100644
--- a/VisualC-WinRT/SDL/SDL-WinRT_VS2012.vcxproj.filters
+++ b/VisualC-WinRT/SDL/SDL-WinRT_VS2012.vcxproj.filters
@@ -599,9 +599,6 @@
     <ClInclude Include="..\..\include\SDL_system.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\render\direct3d11\SDL_render_d3d11_cpp.h">
-      <Filter>Source Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\src\joystick\SDL_gamecontrollerdb.h">
       <Filter>Header Files</Filter>
     </ClInclude>
diff --git a/src/render/direct3d11/SDL_render_d3d11.cpp b/src/render/direct3d11/SDL_render_d3d11.cpp
index 541fcdb..f5a2d0f 100644
--- a/src/render/direct3d11/SDL_render_d3d11.cpp
+++ b/src/render/direct3d11/SDL_render_d3d11.cpp
@@ -49,7 +49,10 @@ extern "C" {
 #include <string>
 #include <vector>
 
-#include "SDL_render_d3d11_cpp.h"
+#include <D3D11_1.h>
+#include <DirectXMath.h>
+#include <wrl/client.h>
+
 
 using namespace DirectX;
 using namespace Microsoft::WRL;
@@ -64,8 +67,70 @@ using namespace Windows::UI::Core;
 static const D3D11_FILTER SDL_D3D11_NEAREST_PIXEL_FILTER = D3D11_FILTER_MIN_MAG_MIP_POINT;
 static const D3D11_FILTER SDL_D3D11_LINEAR_FILTER = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
 
-/* Direct3D 11.1 renderer implementation */
+/* Vertex shader, common values */
+struct SDL_VertexShaderConstants
+{
+    DirectX::XMFLOAT4X4 model;
+    DirectX::XMFLOAT4X4 view;
+    DirectX::XMFLOAT4X4 projection;
+};
+
+/* Per-vertex data */
+struct VertexPositionColor
+{
+    DirectX::XMFLOAT3 pos;
+    DirectX::XMFLOAT2 tex;
+    DirectX::XMFLOAT4 color;
+};
+
+/* Per-texture data */
+typedef struct
+{
+    Microsoft::WRL::ComPtr<ID3D11Texture2D> mainTexture;
+    Microsoft::WRL::ComPtr<ID3D11ShaderResourceView> mainTextureResourceView;
+    Microsoft::WRL::ComPtr<ID3D11RenderTargetView> mainTextureRenderTargetView;
+    SDL_PixelFormat * pixelFormat;
+    Microsoft::WRL::ComPtr<ID3D11Texture2D> stagingTexture;
+    DirectX::XMINT2 lockedTexturePosition;
+    D3D11_FILTER scaleMode;
+} D3D11_TextureData;
+
+/* Private renderer data */
+typedef struct
+{
+    Microsoft::WRL::ComPtr<ID3D11Device1> d3dDevice;
+    Microsoft::WRL::ComPtr<ID3D11DeviceContext1> d3dContext;
+    Microsoft::WRL::ComPtr<IDXGISwapChain1> swapChain;
+    Microsoft::WRL::ComPtr<ID3D11RenderTargetView> mainRenderTargetView;
+    Microsoft::WRL::ComPtr<ID3D11RenderTargetView> currentOffscreenRenderTargetView;
+    Microsoft::WRL::ComPtr<ID3D11InputLayout> inputLayout;
+    Microsoft::WRL::ComPtr<ID3D11Buffer> vertexBuffer;
+    Microsoft::WRL::ComPtr<ID3D11VertexShader> vertexShader;
+    Microsoft::WRL::ComPtr<ID3D11PixelShader> texturePixelShader;
+    Microsoft::WRL::ComPtr<ID3D11PixelShader> colorPixelShader;
+    Microsoft::WRL::ComPtr<ID3D11BlendState> blendModeBlend;
+    Microsoft::WRL::ComPtr<ID3D11BlendState> blendModeAdd;
+    Microsoft::WRL::ComPtr<ID3D11BlendState> blendModeMod;
+    Microsoft::WRL::ComPtr<ID3D11SamplerState> nearestPixelSampler;
+    Microsoft::WRL::ComPtr<ID3D11SamplerState> linearSampler;
+    Microsoft::WRL::ComPtr<ID3D11RasterizerState> mainRasterizer;
+    D3D_FEATURE_LEVEL featureLevel;
+
+    // Vertex buffer constants:
+    SDL_VertexShaderConstants vertexShaderConstantsData;
+    Microsoft::WRL::ComPtr<ID3D11Buffer> vertexShaderConstants;
+
+    // Cached renderer properties.
+    DirectX::XMFLOAT2 windowSizeInDIPs;
+    DirectX::XMFLOAT2 renderTargetSize;
+    Windows::Graphics::Display::DisplayOrientations orientation;
+
+    // Transform used for display orientation.
+    DirectX::XMFLOAT4X4 orientationTransform3D;
+} D3D11_RenderData;
+
 
+/* Direct3D 11.1 renderer implementation */
 static SDL_Renderer *D3D11_CreateRenderer(SDL_Window * window, Uint32 flags);
 static void D3D11_WindowEvent(SDL_Renderer * renderer,
                             const SDL_WindowEvent *event);
diff --git a/src/render/direct3d11/SDL_render_d3d11_cpp.h b/src/render/direct3d11/SDL_render_d3d11_cpp.h
deleted file mode 100644
index 6c85846..0000000
--- a/src/render/direct3d11/SDL_render_d3d11_cpp.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2012 Sam Lantinga <slouken@libsdl.org>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-#include "SDL_config.h"
-
-#include <D3D11_1.h>
-#include <DirectXMath.h>
-#include <wrl/client.h>
-#include <vector>
-
-struct SDL_VertexShaderConstants
-{
-    DirectX::XMFLOAT4X4 model;
-    DirectX::XMFLOAT4X4 view;
-    DirectX::XMFLOAT4X4 projection;
-};
-
-typedef struct
-{
-    Microsoft::WRL::ComPtr<ID3D11Device1> d3dDevice;
-    Microsoft::WRL::ComPtr<ID3D11DeviceContext1> d3dContext;
-    Microsoft::WRL::ComPtr<IDXGISwapChain1> swapChain;
-    Microsoft::WRL::ComPtr<ID3D11RenderTargetView> mainRenderTargetView;
-    Microsoft::WRL::ComPtr<ID3D11RenderTargetView> currentOffscreenRenderTargetView;
-    Microsoft::WRL::ComPtr<ID3D11InputLayout> inputLayout;
-    Microsoft::WRL::ComPtr<ID3D11Buffer> vertexBuffer;
-    Microsoft::WRL::ComPtr<ID3D11VertexShader> vertexShader;
-    Microsoft::WRL::ComPtr<ID3D11PixelShader> texturePixelShader;
-    Microsoft::WRL::ComPtr<ID3D11PixelShader> colorPixelShader;
-    Microsoft::WRL::ComPtr<ID3D11BlendState> blendModeBlend;
-    Microsoft::WRL::ComPtr<ID3D11BlendState> blendModeAdd;
-    Microsoft::WRL::ComPtr<ID3D11BlendState> blendModeMod;
-    Microsoft::WRL::ComPtr<ID3D11SamplerState> nearestPixelSampler;
-    Microsoft::WRL::ComPtr<ID3D11SamplerState> linearSampler;
-    Microsoft::WRL::ComPtr<ID3D11RasterizerState> mainRasterizer;
-    D3D_FEATURE_LEVEL featureLevel;
-
-    // Vertex buffer constants:
-    SDL_VertexShaderConstants vertexShaderConstantsData;
-    Microsoft::WRL::ComPtr<ID3D11Buffer> vertexShaderConstants;
-
-    // Cached renderer properties.
-    DirectX::XMFLOAT2 windowSizeInDIPs;
-    DirectX::XMFLOAT2 renderTargetSize;
-    Windows::Graphics::Display::DisplayOrientations orientation;
-
-    // Transform used for display orientation.
-    DirectX::XMFLOAT4X4 orientationTransform3D;
-} D3D11_RenderData;
-
-typedef struct
-{
-    Microsoft::WRL::ComPtr<ID3D11Texture2D> mainTexture;
-    Microsoft::WRL::ComPtr<ID3D11ShaderResourceView> mainTextureResourceView;
-    Microsoft::WRL::ComPtr<ID3D11RenderTargetView> mainTextureRenderTargetView;
-    SDL_PixelFormat * pixelFormat;
-    Microsoft::WRL::ComPtr<ID3D11Texture2D> stagingTexture;
-    DirectX::XMINT2 lockedTexturePosition;
-    D3D11_FILTER scaleMode;
-} D3D11_TextureData;
-
-struct VertexPositionColor
-{
-    DirectX::XMFLOAT3 pos;
-    DirectX::XMFLOAT2 tex;
-    DirectX::XMFLOAT4 color;
-};
-
-/* vi: set ts=4 sw=4 expandtab: */