Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hrydgard
GitHub Repository: hrydgard/ppsspp
Path: blob/master/Common/GPU/thin3d_create.h
3186 views
1
#pragma once
2
3
#include <string>
4
#include <vector>
5
#include "Common/GPU/thin3d.h"
6
7
// Separated this stuff into its own file so we don't get Windows.h included if all we want is the thin3d declarations.
8
9
#ifdef _WIN32
10
#include "Common/CommonWindows.h"
11
#include <D3Dcommon.h>
12
#include <wrl/client.h>
13
struct IDirect3DDevice9;
14
struct IDirect3D9;
15
struct IDirect3DDevice9Ex;
16
struct IDirect3D9Ex;
17
struct ID3D11Device;
18
struct ID3D11DeviceContext;
19
struct ID3D11Device1;
20
struct ID3D11DeviceContext1;
21
struct IDXGISwapChain;
22
#endif
23
24
class VulkanContext;
25
26
namespace Draw {
27
28
DrawContext *T3DCreateGLContext(bool canChangeSwapInterval);
29
30
#ifdef _WIN32
31
DrawContext *T3DCreateD3D11Context(Microsoft::WRL::ComPtr<ID3D11Device> device, Microsoft::WRL::ComPtr<ID3D11DeviceContext> context, Microsoft::WRL::ComPtr<ID3D11Device1> device1, Microsoft::WRL::ComPtr<ID3D11DeviceContext1> context1, Microsoft::WRL::ComPtr<IDXGISwapChain> swapChain, D3D_FEATURE_LEVEL featureLevel, HWND hWnd, const std::vector<std::string> &adapterNames, int maxInflightFrames);
32
#endif
33
34
DrawContext *T3DCreateVulkanContext(VulkanContext *context, bool useRenderThread);
35
36
} // namespace Draw
37
38