diff --git a/gfx/d3d9/d3d_wrapper.c b/gfx/d3d9/d3d_wrapper.c
index f6733f200c..aa1680896d 100644
--- a/gfx/d3d9/d3d_wrapper.c
+++ b/gfx/d3d9/d3d_wrapper.c
@@ -14,10 +14,17 @@
* If not, see .
*/
+#include "d3d.hpp"
#include "d3d_wrapper.h"
+#include "render_chain.hpp"
-void d3d_swap(d3d_video_t *d3d, LPDIRECT3DDEVICE dev)
+void d3d_swap(void *data, LPDIRECT3DDEVICE dev)
{
+ d3d_video_t *d3d = (d3d_video_t*)data;
+
+ if (!d3d)
+ return;
+
#if defined(_XBOX1)
D3DDevice_Swap(0);
#elif defined(_XBOX360)
@@ -56,7 +63,7 @@ void d3d_set_stream_source(LPDIRECT3DDEVICE dev, unsigned stream_no,
D3DDevice_SetStreamSource_Inline(dev, stream_no, stream_vertbuf,
offset_bytes, stride);
#else
- dev->SetStreamSource(steam_no, stream_vertbuf, offset_bytes, stride);
+ dev->SetStreamSource(stream_no, stream_vertbuf, offset_bytes, stride);
#endif
}
@@ -137,7 +144,7 @@ void d3d_lockrectangle_clear(LPDIRECT3DTEXTURE tex,
D3DTexture_LockRect(tex, level, &lock_rect, &rect, flags);
memset(lock_rect.pBits, 0, tex_height * lock_rect.Pitch);
#else
- if (SUCCEEDED(tex->LockRect(level, &lock_rect, rect, flags)))
+ if (SUCCEEDED(tex->LockRect(level, &lock_rect, &rect, flags)))
{
memset(lock_rect.pBits, level, tex_height * lock_rect.Pitch);
tex->UnlockRect(0);
@@ -145,12 +152,18 @@ void d3d_lockrectangle_clear(LPDIRECT3DTEXTURE tex,
#endif
}
-void d3d_textureblit(d3d_video_t *d3d,
+void d3d_textureblit(void *data, void *renderchain_data,
LPDIRECT3DTEXTURE tex, D3DSURFACE_DESC desc,
D3DLOCKED_RECT lr, const void *frame,
unsigned width, unsigned height, unsigned pitch)
{
+ d3d_video_t *d3d = (d3d_video_t*)d3d;
(void)desc;
+ (void)d3d;
+
+ if (!d3d)
+ return;
+
#if defined(_XBOX360)
tex->GetLevelDesc(0, &desc);
XGCopySurface(lr.pBits, lr.Pitch, width, height, desc.Format, NULL,
@@ -163,13 +176,18 @@ void d3d_textureblit(d3d_video_t *d3d,
memcpy(out, in, width * d3d->pixel_size);
}
#else
+ renderchain_t *chain = (renderchain_t*)renderchain_data;
+
+ if (!chain)
+ return;
+
if (SUCCEEDED(tex->LockRect(0, &lr, NULL, D3DLOCK_NOSYSLOCK)))
{
for (unsigned y = 0; y < height; y++)
{
const uint8_t *in = (const uint8_t*)frame + y * pitch;
uint8_t *out = (uint8_t*)lr.pBits + y * lr.Pitch;
- memcpy(out, in, width * d3d->pixel_size);
+ memcpy(out, in, width * chain->pixel_size);
}
tex->UnlockRect(0);
}
diff --git a/gfx/d3d9/d3d_wrapper.h b/gfx/d3d9/d3d_wrapper.h
index f6a3e75880..8bf642d73a 100644
--- a/gfx/d3d9/d3d_wrapper.h
+++ b/gfx/d3d9/d3d_wrapper.h
@@ -20,7 +20,7 @@
#include "../context/win32_common.h"
#include "d3d_defines.h"
-void d3d_swap(d3d_video_t *d3d, LPDIRECT3DDEVICE dev);
+void d3d_swap(void *data, LPDIRECT3DDEVICE dev);
HRESULT d3d_create_vertex_buffer(LPDIRECT3DDEVICE dev,
unsigned length, unsigned usage, unsigned fvf,
@@ -50,7 +50,7 @@ void d3d_lockrectangle_clear(LPDIRECT3DTEXTURE tex,
unsigned level, D3DLOCKED_RECT lock_rect, RECT rect,
unsigned flags);
-void d3d_textureblit(d3d_video_t *d3d,
+void d3d_textureblit(void *data,
LPDIRECT3DTEXTURE tex, D3DSURFACE_DESC desc,
D3DLOCKED_RECT lr, const void *frame,
unsigned width, unsigned height, unsigned pitch);
diff --git a/gfx/d3d9/render_chain.cpp b/gfx/d3d9/render_chain.cpp
index 2359affcf0..d3f7812f14 100644
--- a/gfx/d3d9/render_chain.cpp
+++ b/gfx/d3d9/render_chain.cpp
@@ -161,7 +161,7 @@ bool renderchain_add_pass(void *data, const LinkInfo *info)
? D3DUSAGE_SOFTWAREPROCESSING : 0,
0,
D3DPOOL_DEFAULT,
- &pass.vertex_buf,
+ pass.vertex_buf,
NULL)))
return false;
diff --git a/msvc/msvc-2010/RetroArch-msvc2010.vcxproj b/msvc/msvc-2010/RetroArch-msvc2010.vcxproj
index 3bc0a7e43f..f30852001b 100644
--- a/msvc/msvc-2010/RetroArch-msvc2010.vcxproj
+++ b/msvc/msvc-2010/RetroArch-msvc2010.vcxproj
@@ -219,6 +219,7 @@
+
@@ -423,4 +424,4 @@
-
+
\ No newline at end of file
diff --git a/msvc/msvc-2010/RetroArch-msvc2010.vcxproj.filters b/msvc/msvc-2010/RetroArch-msvc2010.vcxproj.filters
index c9ace06b72..2d78673129 100644
--- a/msvc/msvc-2010/RetroArch-msvc2010.vcxproj.filters
+++ b/msvc/msvc-2010/RetroArch-msvc2010.vcxproj.filters
@@ -1,490 +1,494 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- gfx
-
-
- gfx
-
-
- gfx
-
-
- frontend\menu
-
-
- frontend\menu\disp
-
-
- gfx\glsym
-
-
- gfx\glsym
-
-
- audio
-
-
- audio
-
-
- audio
-
-
- gfx\math
-
-
- gfx\math
-
-
- gfx
-
-
- gfx
-
-
- gfx
-
-
- gfx
-
-
- gfx\context
-
-
- audio
-
-
- audio
-
-
- audio
-
-
- input
-
-
- input
-
-
- input
-
-
- input
-
-
- audio
-
-
- gfx
-
-
- gfx\rpng
-
-
- input
-
-
- compat
-
-
- frontend
-
-
- frontend
-
-
- gfx\scaler
-
-
- gfx\scaler
-
-
- gfx\scaler
-
-
- gfx\scaler
-
-
- gfx\d3d9
-
-
- compat\rxml
-
-
- input\autoconf
-
-
- gfx\d3d9
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- deps\zlib
-
-
- gfx\fonts
-
-
- gfx\fonts
-
-
- gfx\fonts
-
-
- gfx\fonts
-
-
- gfx\fonts
-
-
- gfx\fonts
-
-
- input
-
-
- frontend\menu
-
-
- frontend\menu
-
-
- frontend\menu
-
-
- gfx\context
-
-
- gfx
-
-
- audio
-
-
- frontend\menu\backend
-
-
- gfx
-
-
- frontend\platform
-
-
- gfx\image
-
-
- audio
-
-
-
-
-
-
-
-
- record
-
-
- gfx\context
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- audio
-
-
- audio
-
-
- audio
-
-
- audio
-
-
- compat\rxml
-
-
- frontend
-
-
- frontend
-
-
- frontend\menu
-
-
- frontend\menu
-
-
- frontend\menu
-
-
- frontend\menu
-
-
- frontend\menu\backend
-
-
- frontend\menu\disp
-
-
- gfx
-
-
- gfx
-
-
- gfx
-
-
- gfx
-
-
- gfx
-
-
- gfx
-
-
- gfx
-
-
- gfx
-
-
- gfx
-
-
- gfx\d3d9
-
-
- gfx\d3d9
-
-
- gfx\fonts
-
-
- gfx\fonts
-
-
- gfx\fonts
-
-
- gfx\glsym
-
-
- gfx\glsym
-
-
- gfx\image
-
-
- gfx\math
-
-
- gfx\math
-
-
- gfx\rpng
-
-
- gfx\scaler
-
-
- gfx\scaler
-
-
- gfx\scaler
-
-
- gfx\scaler
-
-
- input
-
-
- input
-
-
- input\autoconf
-
-
- input
-
-
- gfx\context
-
-
- record
-
-
-
-
-
-
-
- {8e47cc2f-ec74-4943-b7b7-156705b5d06e}
-
-
- {70d71fcb-ca47-4008-a027-26ed3eaa1f16}
-
-
- {6a00f197-1398-4044-bbf1-ee767df7a2ee}
-
-
- {45fc4432-da59-4c73-a194-1fd2155489bc}
-
-
- {98e75d1b-5c77-4e09-ba68-248974772850}
-
-
- {a4e2c91e-3109-4ef9-a5ae-a42dc713c499}
-
-
- {f2f1e12e-ac10-4b0e-aa95-7a4b6a555d44}
-
-
- {c5041859-b61d-41bb-8f3a-f596248b1132}
-
-
- {46e89489-2413-4645-aef3-66c7d9dd9dca}
-
-
- {c7cbb180-c629-4897-89f0-a4298eaf5f27}
-
-
- {a6b082bc-7b37-4715-8d02-701cc9acae5c}
-
-
- {6489e28b-b1bf-45a3-ab30-4d9a3e68c57b}
-
-
- {21c771b7-6971-4953-83d7-d1f83239d490}
-
-
- {8cc14084-f5b9-4166-81ac-3f66afd6527d}
-
-
- {c2ea7f2b-5a09-4f28-8bbe-a628bd3a0bdd}
-
-
- {a923ed53-ddfb-47d1-a5e7-ec6105c4bd79}
-
-
- {d1a36d53-e5e6-46a5-b5b4-b43794342cd1}
-
-
- {cf7c2fb9-ca3c-468e-af4f-74c652b3e5fe}
-
-
- {dd1ca879-56f4-43f6-8bd8-ae50222061e8}
-
-
- {09d78055-1c93-4f12-ae3e-97aaa90cf78f}
-
-
- {4a5338d9-92ad-4d07-bb1a-97bd6eb475e4}
-
-
- {5a80dd03-b4d7-4118-92ff-55a601fd80fc}
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx
+
+
+ frontend\menu
+
+
+ frontend\menu\disp
+
+
+ gfx\glsym
+
+
+ gfx\glsym
+
+
+ audio
+
+
+ audio
+
+
+ audio
+
+
+ gfx\math
+
+
+ gfx\math
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx\context
+
+
+ audio
+
+
+ audio
+
+
+ audio
+
+
+ input
+
+
+ input
+
+
+ input
+
+
+ input
+
+
+ audio
+
+
+ gfx
+
+
+ gfx\rpng
+
+
+ input
+
+
+ compat
+
+
+ frontend
+
+
+ frontend
+
+
+ gfx\scaler
+
+
+ gfx\scaler
+
+
+ gfx\scaler
+
+
+ gfx\scaler
+
+
+ gfx\d3d9
+
+
+ compat\rxml
+
+
+ input\autoconf
+
+
+ gfx\d3d9
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ deps\zlib
+
+
+ gfx\fonts
+
+
+ gfx\fonts
+
+
+ gfx\fonts
+
+
+ gfx\fonts
+
+
+ gfx\fonts
+
+
+ gfx\fonts
+
+
+ input
+
+
+ frontend\menu
+
+
+ frontend\menu
+
+
+ frontend\menu
+
+
+ gfx\context
+
+
+ gfx
+
+
+ audio
+
+
+ frontend\menu\backend
+
+
+ gfx
+
+
+ frontend\platform
+
+
+ gfx\image
+
+
+ audio
+
+
+
+
+
+
+
+
+ record
+
+
+ gfx\context
+
+
+
+ gfx\d3d9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ audio
+
+
+ audio
+
+
+ audio
+
+
+ audio
+
+
+ compat\rxml
+
+
+ frontend
+
+
+ frontend
+
+
+ frontend\menu
+
+
+ frontend\menu
+
+
+ frontend\menu
+
+
+ frontend\menu
+
+
+ frontend\menu\backend
+
+
+ frontend\menu\disp
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx
+
+
+ gfx\d3d9
+
+
+ gfx\d3d9
+
+
+ gfx\fonts
+
+
+ gfx\fonts
+
+
+ gfx\fonts
+
+
+ gfx\glsym
+
+
+ gfx\glsym
+
+
+ gfx\image
+
+
+ gfx\math
+
+
+ gfx\math
+
+
+ gfx\rpng
+
+
+ gfx\scaler
+
+
+ gfx\scaler
+
+
+ gfx\scaler
+
+
+ gfx\scaler
+
+
+ input
+
+
+ input
+
+
+ input\autoconf
+
+
+ input
+
+
+ gfx\context
+
+
+ record
+
+
+
+
+
+
+
+ {8e47cc2f-ec74-4943-b7b7-156705b5d06e}
+
+
+ {70d71fcb-ca47-4008-a027-26ed3eaa1f16}
+
+
+ {6a00f197-1398-4044-bbf1-ee767df7a2ee}
+
+
+ {45fc4432-da59-4c73-a194-1fd2155489bc}
+
+
+ {98e75d1b-5c77-4e09-ba68-248974772850}
+
+
+ {a4e2c91e-3109-4ef9-a5ae-a42dc713c499}
+
+
+ {f2f1e12e-ac10-4b0e-aa95-7a4b6a555d44}
+
+
+ {c5041859-b61d-41bb-8f3a-f596248b1132}
+
+
+ {46e89489-2413-4645-aef3-66c7d9dd9dca}
+
+
+ {c7cbb180-c629-4897-89f0-a4298eaf5f27}
+
+
+ {a6b082bc-7b37-4715-8d02-701cc9acae5c}
+
+
+ {6489e28b-b1bf-45a3-ab30-4d9a3e68c57b}
+
+
+ {21c771b7-6971-4953-83d7-d1f83239d490}
+
+
+ {8cc14084-f5b9-4166-81ac-3f66afd6527d}
+
+
+ {c2ea7f2b-5a09-4f28-8bbe-a628bd3a0bdd}
+
+
+ {a923ed53-ddfb-47d1-a5e7-ec6105c4bd79}
+
+
+ {d1a36d53-e5e6-46a5-b5b4-b43794342cd1}
+
+
+ {cf7c2fb9-ca3c-468e-af4f-74c652b3e5fe}
+
+
+ {dd1ca879-56f4-43f6-8bd8-ae50222061e8}
+
+
+ {09d78055-1c93-4f12-ae3e-97aaa90cf78f}
+
+
+ {4a5338d9-92ad-4d07-bb1a-97bd6eb475e4}
+
+
+ {5a80dd03-b4d7-4118-92ff-55a601fd80fc}
+
+
\ No newline at end of file