From 9d144e28fcc20c72a536a1fa1fc34f458dbaee04 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 16 Jan 2018 02:04:50 +0100 Subject: [PATCH] Use D3DFVF_XYZ for PC, D3DFVF_XYZRHW for Xbox --- defines/d3d_defines.h | 4 ++++ gfx/drivers/d3d.h | 2 ++ gfx/drivers_renderchain/d3d8_renderchain.c | 12 ++++++++---- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/defines/d3d_defines.h b/defines/d3d_defines.h index bb295787df..f952c0df22 100644 --- a/defines/d3d_defines.h +++ b/defines/d3d_defines.h @@ -84,7 +84,11 @@ #elif defined(HAVE_D3D9) #define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1) #elif defined(HAVE_D3D8) +#ifdef _XBOX #define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW | D3DFVF_TEX1) +#else +#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ | D3DFVF_TEX1) +#endif #endif #endif diff --git a/gfx/drivers/d3d.h b/gfx/drivers/d3d.h index 4644e1f6d4..9730b6c12d 100644 --- a/gfx/drivers/d3d.h +++ b/gfx/drivers/d3d.h @@ -59,7 +59,9 @@ typedef struct Vertex float x, y; #if defined(HAVE_D3D8) float z; +#ifdef _XBOX float rhw; +#endif #endif float u, v; } Vertex; diff --git a/gfx/drivers_renderchain/d3d8_renderchain.c b/gfx/drivers_renderchain/d3d8_renderchain.c index 53169d3efd..a3004c8d3f 100644 --- a/gfx/drivers_renderchain/d3d8_renderchain.c +++ b/gfx/drivers_renderchain/d3d8_renderchain.c @@ -124,31 +124,35 @@ static void d3d8_renderchain_set_vertices(void *data, unsigned pass, vert[0].x = -1.0f; vert[0].y = -1.0f; vert[0].z = 1.0f; - vert[0].rhw = 0.0f; + vert[0].u = tex_h; vert[0].v = 0.0f; vert[1].x = 1.0f; vert[1].y = -1.0f; vert[1].z = 1.0f; - vert[1].rhw = tex_w; vert[1].u = tex_h; vert[1].v = 0.0f; vert[2].x = -1.0f; vert[2].y = 1.0f; vert[2].z = 1.0f; - vert[2].rhw = 0.0f; vert[2].u = 0.0f; vert[2].v = 0.0f; vert[3].x = 1.0f; vert[3].y = 1.0f; vert[3].z = 1.0f; - vert[3].rhw = tex_w; vert[3].u = 0.0f; vert[3].v = 0.0f; +#ifdef _XBOX + vert[0].rhw = 0.0f; + vert[1].rhw = tex_w; + vert[2].rhw = 0.0f; + vert[3].rhw = tex_w; +#endif + /* Align texels and vertices. */ for (i = 0; i < 4; i++) {