1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 06:04:49 +01:00

improve d3d9 auto renderer check

This commit is contained in:
FunkyFr3sh 2018-10-04 06:27:03 +02:00
parent ff331d32f1
commit 519f499d23
2 changed files with 14 additions and 4 deletions

View File

@ -1,6 +1,6 @@
// old
static const char *PassthroughVertShader110Src =
static const char PassthroughVertShader110Src[] =
"#version 110\n"
"varying vec2 TexCoord0; \n"
"\n"
@ -10,7 +10,7 @@ static const char *PassthroughVertShader110Src =
" TexCoord0 = gl_MultiTexCoord0.xy; \n"
"}\n";
static const char *PaletteFragShader110Src =
static const char PaletteFragShader110Src[] =
"#version 110\n"
"uniform sampler2D SurfaceTex; \n"
"uniform sampler2D PaletteTex; \n"
@ -26,7 +26,7 @@ static const char *PaletteFragShader110Src =
// new
static const char *PassthroughVertShaderSrc =
static const char PassthroughVertShaderSrc[] =
"#version 130\n"
"in vec4 VertexCoord;\n"
"in vec4 COLOR;\n"
@ -43,7 +43,7 @@ static const char *PassthroughVertShaderSrc =
"}\n";
static const char *PaletteFragShaderSrc =
static const char PaletteFragShaderSrc[] =
"#version 130\n"
"out vec4 FragColor;\n"
"uniform sampler2D SurfaceTex;\n"

View File

@ -1240,9 +1240,19 @@ HRESULT WINAPI DirectDrawCreate(GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnk
DWORD version = GetVersion();
DWORD major = (DWORD)(LOBYTE(LOWORD(version)));
DWORD minor = (DWORD)(HIBYTE(LOWORD(version)));
LPDIRECT3D9 d3d = NULL;
// Win 7 and below use Direct3D 9 - Win 8/10 and wine use OpenGL
if (!This->wine && (major < 6 || (major == 6 && minor <= 1)) && (hD3D9 = LoadLibrary("d3d9.dll")))
{
IDirect3D9 *(WINAPI *D3DCreate9)(UINT) =
(IDirect3D9 *(WINAPI *)(UINT))GetProcAddress(hD3D9, "Direct3DCreate9");
if (D3DCreate9 && (d3d = D3DCreate9(D3D_SDK_VERSION)))
d3d->lpVtbl->Release(d3d);
}
if (d3d)
This->renderer = render_d3d9_main;
else
This->renderer = render_main;