Start going through compilation errors

This commit is contained in:
twinaphex 2017-09-05 00:57:58 +02:00
parent fb5744318a
commit c691bbaedc
8 changed files with 57 additions and 27 deletions

View File

@ -44,6 +44,8 @@
#elif defined(HAVE_D3D8) #elif defined(HAVE_D3D8)
#ifdef _XBOX #ifdef _XBOX
#include <xtl.h> #include <xtl.h>
#else
#include "../gfx/include/d3d8/d3d8.h"
#endif #endif
/* Direct3D 8 */ /* Direct3D 8 */
@ -60,7 +62,9 @@
#define D3DCREATE_CTX Direct3DCreate8 #define D3DCREATE_CTX Direct3DCreate8
#if !defined(D3DLOCK_NOSYSLOCK) && defined(_XBOX)
#define D3DLOCK_NOSYSLOCK (0) #define D3DLOCK_NOSYSLOCK (0)
#endif
#define D3DSAMP_ADDRESSU D3DTSS_ADDRESSU #define D3DSAMP_ADDRESSU D3DTSS_ADDRESSU
#define D3DSAMP_ADDRESSV D3DTSS_ADDRESSV #define D3DSAMP_ADDRESSV D3DTSS_ADDRESSV
#define D3DSAMP_MAGFILTER D3DTSS_MAGFILTER #define D3DSAMP_MAGFILTER D3DTSS_MAGFILTER

View File

@ -18,8 +18,10 @@
#include "d3d_common.h" #include "d3d_common.h"
#ifdef HAVE_D3D9 #if defined(HAVE_D3D9)
#include "../include/d3d9/d3dx9tex.h" #include "../include/d3d9/d3dx9tex.h"
#elif defined(HAVE_D3D8)
#include "../include/d3d8/d3dx8tex.h"
#endif #endif
bool d3d_swap(void *data, LPDIRECT3DDEVICE dev) bool d3d_swap(void *data, LPDIRECT3DDEVICE dev)
@ -75,7 +77,7 @@ LPDIRECT3DTEXTURE d3d_texture_new(LPDIRECT3DDEVICE dev,
{ {
hr = dev->CreateTexture(width, height, miplevels, usage, hr = dev->CreateTexture(width, height, miplevels, usage,
format, pool, &buf format, pool, &buf
#ifndef _XBOX1 #ifndef HAVE_D3D8
, NULL , NULL
#endif #endif
); );
@ -120,12 +122,14 @@ LPDIRECT3DVERTEXBUFFER d3d_vertex_buffer_new(LPDIRECT3DDEVICE dev,
LPDIRECT3DVERTEXBUFFER buf; LPDIRECT3DVERTEXBUFFER buf;
#ifndef _XBOX #ifndef _XBOX
#ifndef HAVE_D3D8
if (usage == 0) if (usage == 0)
{ {
if (dev->GetSoftwareVertexProcessing()) if (dev->GetSoftwareVertexProcessing())
usage = D3DUSAGE_SOFTWAREPROCESSING; usage = D3DUSAGE_SOFTWAREPROCESSING;
} }
#endif #endif
#endif
#if defined(HAVE_D3D8) #if defined(HAVE_D3D8)
hr = IDirect3DDevice8_CreateVertexBuffer(dev, length, usage, fvf, pool, hr = IDirect3DDevice8_CreateVertexBuffer(dev, length, usage, fvf, pool,
@ -222,6 +226,8 @@ void d3d_set_sampler_address_u(LPDIRECT3DDEVICE dev,
D3DDevice_SetSamplerState_AddressU_Inline(dev, sampler, value); D3DDevice_SetSamplerState_AddressU_Inline(dev, sampler, value);
#elif defined(HAVE_D3D9) && !defined(__cplusplus) #elif defined(HAVE_D3D9) && !defined(__cplusplus)
IDirect3DDevice9_SetSamplerState(dev, sampler, D3DSAMP_ADDRESSU, value); IDirect3DDevice9_SetSamplerState(dev, sampler, D3DSAMP_ADDRESSU, value);
#elif defined(HAVE_D3D8)
/* TODO/FIXME - we need a D3D8 implementation here */
#else #else
dev->SetSamplerState(sampler, D3DSAMP_ADDRESSU, value); dev->SetSamplerState(sampler, D3DSAMP_ADDRESSU, value);
#endif #endif
@ -237,6 +243,8 @@ void d3d_set_sampler_address_v(LPDIRECT3DDEVICE dev,
D3DDevice_SetSamplerState_AddressV_Inline(dev, sampler, value); D3DDevice_SetSamplerState_AddressV_Inline(dev, sampler, value);
#elif defined(HAVE_D3D9) && !defined(__cplusplus) #elif defined(HAVE_D3D9) && !defined(__cplusplus)
IDirect3DDevice9_SetSamplerState(dev, sampler, D3DSAMP_ADDRESSV, value); IDirect3DDevice9_SetSamplerState(dev, sampler, D3DSAMP_ADDRESSV, value);
#elif defined(HAVE_D3D8)
/* TODO/FIXME - we need a D3D8 implementation here */
#else #else
dev->SetSamplerState(sampler, D3DSAMP_ADDRESSV, value); dev->SetSamplerState(sampler, D3DSAMP_ADDRESSV, value);
#endif #endif
@ -252,6 +260,8 @@ void d3d_set_sampler_minfilter(LPDIRECT3DDEVICE dev,
D3DDevice_SetSamplerState_MinFilter(dev, sampler, value); D3DDevice_SetSamplerState_MinFilter(dev, sampler, value);
#elif defined(HAVE_D3D9) && !defined(__cplusplus) #elif defined(HAVE_D3D9) && !defined(__cplusplus)
IDirect3DDevice9_SetSamplerState(dev, sampler, D3DSAMP_MINFILTER, value); IDirect3DDevice9_SetSamplerState(dev, sampler, D3DSAMP_MINFILTER, value);
#elif defined(HAVE_D3D8)
/* TODO/FIXME - we need a D3D8 implementation here */
#else #else
dev->SetSamplerState(sampler, D3DSAMP_MINFILTER, value); dev->SetSamplerState(sampler, D3DSAMP_MINFILTER, value);
#endif #endif
@ -267,6 +277,8 @@ void d3d_set_sampler_magfilter(LPDIRECT3DDEVICE dev,
D3DDevice_SetSamplerState_MagFilter(dev, sampler, value); D3DDevice_SetSamplerState_MagFilter(dev, sampler, value);
#elif defined(HAVE_D3D9) && !defined(__cplusplus) #elif defined(HAVE_D3D9) && !defined(__cplusplus)
IDirect3DDevice9_SetSamplerState(dev, sampler, D3DSAMP_MAGFILTER, value); IDirect3DDevice9_SetSamplerState(dev, sampler, D3DSAMP_MAGFILTER, value);
#elif defined(HAVE_D3D8)
/* TODO/FIXME - we need a D3D8 implementation here */
#else #else
dev->SetSamplerState(sampler, D3DSAMP_MAGFILTER, value); dev->SetSamplerState(sampler, D3DSAMP_MAGFILTER, value);
#endif #endif
@ -390,6 +402,8 @@ HRESULT d3d_set_vertex_shader(LPDIRECT3DDEVICE dev, unsigned index,
LPDIRECT3DVERTEXSHADER shader = (LPDIRECT3DVERTEXSHADER)data; LPDIRECT3DVERTEXSHADER shader = (LPDIRECT3DVERTEXSHADER)data;
D3DDevice_SetVertexShader(dev, shader); D3DDevice_SetVertexShader(dev, shader);
return S_OK; return S_OK;
#elif defined(HAVE_D3D8)
return E_FAIL;
#else #else
LPDIRECT3DVERTEXSHADER shader = (LPDIRECT3DVERTEXSHADER)data; LPDIRECT3DVERTEXSHADER shader = (LPDIRECT3DVERTEXSHADER)data;
return dev->SetVertexShader(shader); return dev->SetVertexShader(shader);

View File

@ -55,7 +55,7 @@
extern LRESULT win32_menu_loop(HWND owner, WPARAM wparam); extern LRESULT win32_menu_loop(HWND owner, WPARAM wparam);
#ifdef HAVE_D3D9 #if defined(HAVE_D3D9) || defined(HAVE_D3D8)
extern bool dinput_handle_message(void *dinput, UINT message, extern bool dinput_handle_message(void *dinput, UINT message,
WPARAM wParam, LPARAM lParam); WPARAM wParam, LPARAM lParam);
extern void *dinput_gdi; extern void *dinput_gdi;
@ -506,7 +506,7 @@ static void win32_set_droppable(ui_window_win32_t *window, bool droppable)
DragAcceptFiles_func(window->hwnd, droppable); DragAcceptFiles_func(window->hwnd, droppable);
} }
#ifdef HAVE_D3D9 #if defined(HAVE_D3D9) || defined(HAVE_D3D8)
LRESULT CALLBACK WndProcD3D(HWND hwnd, UINT message, LRESULT CALLBACK WndProcD3D(HWND hwnd, UINT message,
WPARAM wparam, LPARAM lparam) WPARAM wparam, LPARAM lparam)
{ {
@ -595,7 +595,7 @@ LRESULT CALLBACK WndProcGL(HWND hwnd, UINT message,
return 0; return 0;
} }
#ifdef HAVE_D3D9 #if defined(HAVE_D3D9) || defined(HAVE_D3D8)
if (dinput_wgl && dinput_handle_message(dinput_wgl, if (dinput_wgl && dinput_handle_message(dinput_wgl,
message, wparam, lparam)) message, wparam, lparam))
return 0; return 0;
@ -687,7 +687,7 @@ LRESULT CALLBACK WndProcGDI(HWND hwnd, UINT message,
return 0; return 0;
} }
#ifdef HAVE_D3D9 #if defined(HAVE_D3D9) || defined(HAVE_D3D8)
if (dinput_gdi && dinput_handle_message(dinput_gdi, if (dinput_gdi && dinput_handle_message(dinput_gdi,
message, wparam, lparam)) message, wparam, lparam))
return 0; return 0;

View File

@ -124,7 +124,7 @@ void win32_window_reset(void);
void win32_destroy_window(void); void win32_destroy_window(void);
#ifdef HAVE_D3D9 #if defined(HAVE_D3D9) || defined(HAVE_D3D8)
LRESULT CALLBACK WndProcD3D(HWND hwnd, UINT message, LRESULT CALLBACK WndProcD3D(HWND hwnd, UINT message,
WPARAM wparam, LPARAM lparam); WPARAM wparam, LPARAM lparam);
#endif #endif

View File

@ -405,7 +405,7 @@ static void d3d_overlay_render(d3d_video_t *d3d, video_frame_info_t *video_info,
d3d_enable_blend_func(d3d->dev); d3d_enable_blend_func(d3d->dev);
#ifndef _XBOX1 #if defined(HAVE_D3D9)
{ {
LPDIRECT3DVERTEXDECLARATION vertex_decl; LPDIRECT3DVERTEXDECLARATION vertex_decl;
/* set vertex declaration for overlay. */ /* set vertex declaration for overlay. */
@ -485,6 +485,12 @@ static void d3d_deinitialize(d3d_video_t *d3d)
d3d_deinit_chain(d3d); d3d_deinit_chain(d3d);
} }
#if defined(HAVE_D3D8) && !defined(_XBOX)
#define FS_PRESENTINTERVAL(pp) ((pp)->FullScreen_PresentationInterval)
#else
#define FS_PRESENTINTERVAL(pp) ((pp)->PresentationInterval)
#endif
void d3d_make_d3dpp(void *data, void d3d_make_d3dpp(void *data,
const video_info_t *info, D3DPRESENT_PARAMETERS *d3dpp) const video_info_t *info, D3DPRESENT_PARAMETERS *d3dpp)
{ {
@ -503,7 +509,7 @@ void d3d_make_d3dpp(void *data,
d3dpp->Windowed = settings->bools.video_windowed_fullscreen d3dpp->Windowed = settings->bools.video_windowed_fullscreen
|| !info->fullscreen; || !info->fullscreen;
#endif #endif
d3dpp->PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; FS_PRESENTINTERVAL(d3dpp) = D3DPRESENT_INTERVAL_IMMEDIATE;
if (info->vsync) if (info->vsync)
{ {
@ -511,16 +517,16 @@ void d3d_make_d3dpp(void *data,
{ {
default: default:
case 1: case 1:
d3dpp->PresentationInterval = D3DPRESENT_INTERVAL_ONE; FS_PRESENTINTERVAL(d3dpp) = D3DPRESENT_INTERVAL_ONE;
break; break;
case 2: case 2:
d3dpp->PresentationInterval = D3DPRESENT_INTERVAL_TWO; FS_PRESENTINTERVAL(d3dpp) = D3DPRESENT_INTERVAL_TWO;
break; break;
case 3: case 3:
d3dpp->PresentationInterval = D3DPRESENT_INTERVAL_THREE; FS_PRESENTINTERVAL(d3dpp) = D3DPRESENT_INTERVAL_THREE;
break; break;
case 4: case 4:
d3dpp->PresentationInterval = D3DPRESENT_INTERVAL_FOUR; FS_PRESENTINTERVAL(d3dpp) = D3DPRESENT_INTERVAL_FOUR;
break; break;
} }
} }
@ -988,6 +994,7 @@ static bool d3d_construct(d3d_video_t *d3d,
#endif #endif
memset(&d3d->windowClass, 0, sizeof(d3d->windowClass)); memset(&d3d->windowClass, 0, sizeof(d3d->windowClass));
#ifdef HAVE_WINDOW #ifdef HAVE_WINDOW
d3d->windowClass.lpfnWndProc = WndProcD3D; d3d->windowClass.lpfnWndProc = WndProcD3D;
win32_window_init(&d3d->windowClass, true, NULL); win32_window_init(&d3d->windowClass, true, NULL);

View File

@ -28,16 +28,6 @@
#define HAVE_WINDOW #define HAVE_WINDOW
#endif #endif
#if defined(_XBOX1)
#ifndef HAVE_D3D8
#define HAVE_D3D8
#endif
#else
#ifndef HAVE_D3D9
#define HAVE_D3D9
#endif
#endif
#include "../../defines/d3d_defines.h" #include "../../defines/d3d_defines.h"
#ifdef _XBOX1 #ifdef _XBOX1
@ -65,11 +55,11 @@ typedef struct
void *vert_buf; void *vert_buf;
} overlay_t; } overlay_t;
#ifdef _XBOX #if defined(_XBOX) || defined(HAVE_D3D8)
typedef struct Vertex typedef struct Vertex
{ {
float x, y; float x, y;
#if defined(_XBOX1) #if defined(_XBOX1) || defined(HAVE_D3D8)
float z; float z;
float rhw; float rhw;
#endif #endif

View File

@ -23,8 +23,10 @@
#include "../../configuration.h" #include "../../configuration.h"
#ifdef HAVE_D3D9 #if defined(HAVE_D3D9)
#include "../include/d3d9/d3dx9core.h" #include "../include/d3d9/d3dx9core.h"
#elif defined(HAVE_D3D8)
#include "../include/d3d8/d3dx8core.h"
#endif #endif
#include <tchar.h> #include <tchar.h>
@ -43,7 +45,11 @@ static void *d3dfonts_w32_init_font(void *video_data,
uint32_t r, g, b; uint32_t r, g, b;
d3dfonts_t *d3dfonts = NULL; d3dfonts_t *d3dfonts = NULL;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
#if defined(HAVE_D3D8)
D3DXPASS_DESC desc = {
#else
D3DXFONT_DESC desc = { D3DXFONT_DESC desc = {
#endif
(int)(font_size), 0, 400, 0, (int)(font_size), 0, 400, 0,
false, DEFAULT_CHARSET, false, DEFAULT_CHARSET,
OUT_TT_PRECIS, OUT_TT_PRECIS,

View File

@ -16,6 +16,7 @@
#include <string.h> #include <string.h>
#include <retro_inline.h> #include <retro_inline.h>
#include <retro_math.h>
#include "../drivers/d3d.h" #include "../drivers/d3d.h"
#include "../common/d3d_common.h" #include "../common/d3d_common.h"
@ -82,7 +83,13 @@ static bool renderchain_create_first_pass(void *data,
chain->tex = d3d_texture_new(d3dr, NULL, chain->tex = d3d_texture_new(d3dr, NULL,
chain->tex_w, chain->tex_h, 1, 0, chain->tex_w, chain->tex_h, 1, 0,
info->rgb32 ? D3DFMT_LIN_X8R8G8B8 : D3DFMT_LIN_R5G6B5, info->rgb32
?
#ifdef _XBOX
D3DFMT_LIN_X8R8G8B8 : D3DFMT_LIN_R5G6B5,
#else
D3DFMT_X8R8G8B8 : D3DFMT_R5G6B5,
#endif
0, 0, 0, 0, NULL, NULL); 0, 0, 0, 0, NULL, NULL);
if (!chain->tex) if (!chain->tex)
@ -206,8 +213,10 @@ static void d3d8_renderchain_free(void *data)
d3d8_renderchain_deinit(chain->renderchain_data); d3d8_renderchain_deinit(chain->renderchain_data);
d3d8_renderchain_clear(chain->renderchain_data); d3d8_renderchain_clear(chain->renderchain_data);
#if 0
if (chain->tracker) if (chain->tracker)
state_tracker_free(chain->tracker); state_tracker_free(chain->tracker);
#endif
} }