From f4bd33b92fac408a1682d933f15568cffc4f7701 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 12 Apr 2015 22:29:30 +0200 Subject: [PATCH] (XDK1) Build fixes --- gfx/d3d/d3d.cpp | 18 +++++++++++++----- gfx/image/image.c | 8 ++++++-- libretro-common/include/formats/image.h | 4 ++-- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/gfx/d3d/d3d.cpp b/gfx/d3d/d3d.cpp index ecf4b274c1..60dea99791 100644 --- a/gfx/d3d/d3d.cpp +++ b/gfx/d3d/d3d.cpp @@ -1044,10 +1044,14 @@ extern struct texture_image *menu_texture; #endif #ifdef _XBOX1 +#include + static bool texture_image_render(d3d_video_t *d3d, struct texture_image *out_img, int x, int y, int w, int h, bool force_fullscreen) { + LPDIRECT3DTEXTURE d3dt; + LPDIRECT3DVERTEXBUFFER d3dv; void *verts = NULL; LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)d3d->dev; float fX = (float)(x); @@ -1055,7 +1059,11 @@ static bool texture_image_render(d3d_video_t *d3d, if (!d3d) return false; - if (!out_img->pixels || !out_img->vertex_buf) + + d3dt = (LPDIRECT3DTEXTURE)out_img->texture_buf; + d3dv = (LPDIRECT3DVERTEXBUFFER)out_img->vertex_buf; + + if (!d3dt || !d3dv) return false; /* Create the new vertices. */ @@ -1069,22 +1077,22 @@ static bool texture_image_render(d3d_video_t *d3d, }; /* Load the existing vertices */ - verts = d3d_vertex_buffer_lock(out_img->vertex_buf); + verts = d3d_vertex_buffer_lock(d3dv); if (!verts) return false; /* Copy the new verts over the old verts */ memcpy(verts, newVerts, sizeof(newVerts)); - d3d_vertex_buffer_unlock(out_img->vertex_buf); + d3d_vertex_buffer_unlock(d3dv); d3d_enable_blend_func(d3d->dev); d3d_enable_alpha_blend_texture_func(d3d->dev); /* Draw the quad. */ - d3d_set_texture(d3dr, 0, out_img->texture_buf); + d3d_set_texture(d3dr, 0, d3dt); d3d_set_stream_source(d3dr, 0, - out_img->vertex_buf, 0, sizeof(Vertex)); + d3dv, 0, sizeof(Vertex)); d3d_set_vertex_shader(d3dr, D3DFVF_CUSTOMVERTEX, NULL); if (force_fullscreen) diff --git a/gfx/image/image.c b/gfx/image/image.c index da6e6673f6..5a96d0de02 100644 --- a/gfx/image/image.c +++ b/gfx/image/image.c @@ -144,12 +144,16 @@ static bool rpng_gx_convert_texture32(struct texture_image *image) void texture_image_free(struct texture_image *img) { +#ifdef _XBOX1 + LPDIRECT3DTEXTURE d3dt = (LPDIRECT3DTEXTURE)img->texture_buf; + LPDIRECT3DVERTEXBUFFER d3dv = (LPDIRECT3DVERTEXBUFFER)img->vertex_buf; +#endif if (!img) return; #ifdef _XBOX1 - d3d_vertex_buffer_free(img->vertex_buf, NULL); - d3d_texture_free(img->texture_buf); + d3d_vertex_buffer_free(d3dv, NULL); + d3d_texture_free(d3dt); #endif if (img->pixels) free(img->pixels); diff --git a/libretro-common/include/formats/image.h b/libretro-common/include/formats/image.h index 15259ca37c..571d2dc4e6 100644 --- a/libretro-common/include/formats/image.h +++ b/libretro-common/include/formats/image.h @@ -35,8 +35,8 @@ struct texture_image #ifdef _XBOX1 unsigned x; unsigned y; - LPDIRECT3DTEXTURE texture_buf; - LPDIRECT3DVERTEXBUFFER vertex_buf; + void *texture_buf; + void *vertex_buf; #endif uint32_t *pixels; };