(D3D) Go through macro for SetStreamSource

This commit is contained in:
twinaphex 2014-06-08 04:05:55 +02:00
parent c4989fbf6b
commit 6c50de497f
5 changed files with 21 additions and 6 deletions

View File

@ -589,7 +589,7 @@ static void d3d_overlay_render(void *data, overlay_t *overlay)
vertex_decl->Release();
#endif
d3d->dev->SetStreamSource(0, overlay->vert_buf, 0, sizeof(overlay_vertex));
D3DDevice_SetStreamSources(d3d->dev, 0, overlay->vert_buf, 0, sizeof(overlay_vertex));
if (overlay->fullscreen)
{

View File

@ -77,6 +77,8 @@ class RenderChain;
d3d->needs_restore = true; \
}
#define D3DDevice_CreateVertexBuffers(device, Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer, pUnusedSharedHandle) device->CreateVertexBuffer(Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer, NULL)
#define D3DDevice_SetStreamSources(device, streamNumber, pStreamData, OffsetInBytes, Stride) device->SetStreamSource(streamNumber, pStreamData, OffsetInBytes, Stride)
#endif

View File

@ -574,7 +574,13 @@ void renderchain_render_pass(void *data, Pass &pass, unsigned pass_index)
d3dr->SetVertexDeclaration(pass.vertex_decl);
#endif
for (unsigned i = 0; i < 4; i++)
d3dr->SetStreamSource(i, pass.vertex_buf, 0, sizeof(Vertex));
{
#ifdef _XBOX
D3DDevice_SetStreamSources(d3dr, i, pass.vertex_buf, 0, sizeof(DrawVerticeFormats));
#else
D3DDevice_SetStreamSources(d3dr, i, pass.vertex_buf, 0, sizeof(Vertex));
#endif
}
renderchain_bind_orig(chain, pass);
renderchain_bind_prev(chain, pass);
@ -647,7 +653,9 @@ void renderchain_unbind_all(void *data)
}
for (unsigned i = 0; i < chain->bound_vert.size(); i++)
d3dr->SetStreamSource(chain->bound_vert[i], 0, 0, 0);
{
D3DDevice_SetStreamSources(d3dr, chain->bound_vert[i], 0, 0, 0);
}
chain->bound_tex.clear();
chain->bound_vert.clear();

View File

@ -470,7 +470,7 @@ static bool texture_image_render(void *data, struct texture_image *out_img,
// draw the quad
d3dr->SetTexture(0, out_img->pixels);
d3dr->SetStreamSource(0, out_img->vertex_buf, sizeof(DrawVerticeFormats));
D3DDevice_SetStreamSources(d3dr, 0, out_img->vertex_buf, 0, sizeof(DrawVerticeFormats));
d3dr->SetVertexShader(D3DFVF_CUSTOMVERTEX);
if (force_fullscreen)
@ -663,11 +663,13 @@ static void render_pass(void *data, const void *frame, unsigned width, unsigned
#if defined(_XBOX1)
RD3DDevice_SetVertexShader(d3dr, D3DFVF_XYZ | D3DFVF_TEX1);
IDirect3DDevice8_SetStreamSource(d3dr, 0, d3d->vertex_buf, sizeof(DrawVerticeFormats));
#elif defined(_XBOX360)
D3DDevice_SetVertexDeclaration(d3dr, d3d->vertex_decl);
D3DDevice_SetStreamSource_Inline(d3dr, 0, d3d->vertex_buf, 0, sizeof(DrawVerticeFormats));
#endif
for (unsigned i = 0; i < 4; i++)
{
D3DDevice_SetStreamSources(d3dr, i, d3d->vertex_buf, 0, sizeof(DrawVerticeFormats));
}
D3DDevice_DrawPrimitive(d3dr, D3DPT_TRIANGLESTRIP, 0, 2);

View File

@ -54,6 +54,7 @@
#define D3DDevice_SetSamplerState_AddressU(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_ADDRESSU, value)
#define D3DDevice_SetSamplerState_AddressV(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_ADDRESSV, value)
#define D3DDevice_CreateVertexBuffers(device, Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer, pUnusedSharedHandle) IDirect3DDevice8_CreateVertexBuffer(device, Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer)
#define D3DDevice_SetStreamSources(device, streamNumber, pStreamData, OffsetInBytes, Stride) IDirect3DDevice8_SetStreamSource(device, streamNumber, pStreamData, Stride);
#define D3DLOCK_NOSYSLOCK (0)
@ -89,6 +90,8 @@
pendingMask3 = D3DTAG_MASKENCODE(D3DTAG_START(D3DTAG_FETCHCONSTANTS) + fetchConstant, D3DTAG_START(D3DTAG_FETCHCONSTANTS) + fetchConstant); \
D3DDevice_SetTexture(device, Stage, pTexture, pendingMask3)
#define D3DDevice_SetStreamSources(device, streamNumber, pStreamData, OffsetInBytes, Stride) D3DDevice_SetStreamSource_Inline(device, streamNumber, pStreamData, OffsetInBytes, Stride)
#define D3DDevice_CreateVertexBuffers(device, Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer, pUnusedSharedHandle) IDirect3DDevice9_CreateVertexBuffer(device, Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer, NULL)
#define RD3DDevice_DrawPrimitive(device, PrimitiveType, StartVertex, PrimitiveCount) D3DDevice_DrawVertices(device, PrimitiveType, StartVertex, D3DVERTEXCOUNT(PrimitiveType, PrimitiveCount))
#define RD3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil) D3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil, false)