28 #ifndef __D3D11PREREQUISITES_H__
29 #define __D3D11PREREQUISITES_H__
36 #if OGRE_THREAD_SUPPORT
37 #define OGRE_LOCK_RECURSIVE_MUTEX(name) name.lock();
38 #define OGRE_UNLOCK_RECURSIVE_MUTEX(name) name.unlock();
40 #define OGRE_LOCK_RECURSIVE_MUTEX(name)
41 #define OGRE_UNLOCK_RECURSIVE_MUTEX(name)
45 #if OGRE_THREAD_SUPPORT == 1
46 #define D3D11_DEVICE_ACCESS_LOCK OGRE_LOCK_RECURSIVE_MUTEX(msDeviceAccessMutex);
47 #define D3D11_DEVICE_ACCESS_UNLOCK OGRE_UNLOCK_RECURSIVE_MUTEX(msDeviceAccessMutex);
48 #define D3D11_DEVICE_ACCESS_CRITICAL_SECTION OGRE_LOCK_MUTEX(msDeviceAccessMutex)
50 #define D3D11_DEVICE_ACCESS_LOCK
51 #define D3D11_DEVICE_ACCESS_UNLOCK
52 #define D3D11_DEVICE_ACCESS_CRITICAL_SECTION
56 #define SAFE_DELETE(p) { if(p) { delete (p); (p)=NULL; } }
57 #define SAFE_DELETE_ARRAY(p) { if(p) { delete[] (p); (p)=NULL; } }
58 #define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }
62 #define NOMINMAX // required to stop windows.h screwing up std::min definition
63 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
65 #elif OGRE_PLATFORM == OGRE_PLATFORM_WINRT
69 #if (OGRE_PLATFORM == OGRE_PLATFORM_WINRT && OGRE_WINRT_TARGET_TYPE == PHONE)
70 # include <C:\Program Files (x86)\Windows Kits\8.0\Include\um\d3d11shader.h>
72 # include <d3d11shader.h>
73 # include <D3Dcompiler.h>
80 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
89 #elif OGRE_PLATFORM == OGRE_PLATFORM_WINRT
128 #if (OGRE_PLATFORM == OGRE_PLATFORM_WIN32 || OGRE_PLATFORM == OGRE_PLATFORM_WINRT) && !defined(OGRE_STATIC_LIB)
129 # ifdef OGRED3DENGINEDLL_EXPORTS
130 # define _OgreD3D11Export __declspec(dllexport)
132 # if defined( __MINGW32__ )
133 # define _OgreD3D11Export
135 # define _OgreD3D11Export __declspec(dllimport)
139 # define _OgreD3D11Export
IDXGIAdapter1 IDXGIAdapterN
SharedPtr< D3D11HLSLProgram > D3D11HLSLProgramPtr
ID3D11RasterizerState ID3D11RasterizerStateN
SharedPtr< D3D11Texture > D3D11TexturePtr
IDXGIDevice1 IDXGIDeviceN
DXGI_SWAP_CHAIN_DESC DXGI_SWAP_CHAIN_DESC_N
ID3D11DeviceContext ID3D11DeviceContextN
ID3D11Device ID3D11DeviceN
D3D11HardwareBufferManagerBase as a Singleton.
IDXGISwapChain IDXGISwapChainN
IDXGIFactory1 IDXGIFactoryN
Base implementation of a D3D11 buffer, dealing with all the common aspects.
Specialisation of VertexDeclaration for D3D11.
Implementation of DirectX11 as a rendering system.
Reference-counted shared pointer, used for objects where implicit destruction is required.
Direct3D implementation of a few things common to low-level vertex & fragment programs.
Specialization of HighLevelGpuProgram to provide support for D3D11 High-Level Shader Language (HLSL)...
Factory class for D3D11 HLSL programs.
SharedPtr< D3D11GpuProgram > D3D11GpuProgramPtr