mirror of
https://github.com/libretro/RetroArch
synced 2025-04-02 16:20:39 +00:00
(D3D) Create d3d_vertex_buffer_lock
This commit is contained in:
parent
1d142c3b58
commit
f3cd7f8fe4
@ -104,6 +104,28 @@ LPDIRECT3DVERTEXBUFFER d3d_vertex_buffer_new(LPDIRECT3DDEVICE dev,
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *d3d_vertex_buffer_lock(LPDIRECT3DVERTEXBUFFER vertbuf)
|
||||||
|
{
|
||||||
|
#ifdef _XBOX1
|
||||||
|
BYTE *buf;
|
||||||
|
#else
|
||||||
|
void *buf;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_XBOX1)
|
||||||
|
buf = D3DVertexBuffer_Lock2(vertbuf, 0);
|
||||||
|
#elif defined(_XBOX360)
|
||||||
|
buf = D3DVertexBuffer_Lock(vertbuf, 0, 0, 0);
|
||||||
|
#else
|
||||||
|
vertbuf->Lock(0, sizeof(buf), &buf, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!buf)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
void d3d_vertex_buffer_free(LPDIRECT3DVERTEXBUFFER buf)
|
void d3d_vertex_buffer_free(LPDIRECT3DVERTEXBUFFER buf)
|
||||||
{
|
{
|
||||||
if (buf)
|
if (buf)
|
||||||
|
@ -26,6 +26,8 @@ LPDIRECT3DVERTEXBUFFER d3d_vertex_buffer_new(LPDIRECT3DDEVICE dev,
|
|||||||
unsigned length, unsigned usage, unsigned fvf,
|
unsigned length, unsigned usage, unsigned fvf,
|
||||||
D3DPOOL pool, void *handle);
|
D3DPOOL pool, void *handle);
|
||||||
|
|
||||||
|
void *d3d_vertex_buffer_lock(LPDIRECT3DVERTEXBUFFER vertbuf);
|
||||||
|
|
||||||
void d3d_vertex_buffer_free(LPDIRECT3DVERTEXBUFFER buf);
|
void d3d_vertex_buffer_free(LPDIRECT3DVERTEXBUFFER buf);
|
||||||
|
|
||||||
LPDIRECT3DTEXTURE d3d_texture_new(LPDIRECT3DDEVICE dev,
|
LPDIRECT3DTEXTURE d3d_texture_new(LPDIRECT3DDEVICE dev,
|
||||||
|
@ -455,8 +455,7 @@ void renderchain_set_vertices(void *data, Pass *pass,
|
|||||||
vert[i].y += 0.5f;
|
vert[i].y += 0.5f;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *verts;
|
void *verts = d3d_vertex_buffer_lock(pass->vertex_buf);
|
||||||
pass->vertex_buf->Lock(0, sizeof(vert), &verts, 0);
|
|
||||||
memcpy(verts, vert, sizeof(vert));
|
memcpy(verts, vert, sizeof(vert));
|
||||||
pass->vertex_buf->Unlock();
|
pass->vertex_buf->Unlock();
|
||||||
}
|
}
|
||||||
|
@ -204,12 +204,7 @@ static void renderchain_set_vertices(void *data, unsigned pass, unsigned width,
|
|||||||
vert[i].y += 0.5f / ((float)d3d->tex_h);
|
vert[i].y += 0.5f / ((float)d3d->tex_h);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(_XBOX1)
|
void *verts = d3d_vertex_buffer_lock(d3d->vertex_buf);
|
||||||
BYTE *verts;
|
|
||||||
#elif defined(_XBOX360)
|
|
||||||
void *verts;
|
|
||||||
#endif
|
|
||||||
RD3DVertexBuffer_Lock(d3d->vertex_buf, 0, 0, &verts, 0);
|
|
||||||
memcpy(verts, vert, sizeof(vert));
|
memcpy(verts, vert, sizeof(vert));
|
||||||
RD3DVertexBuffer_Unlock(d3d->vertex_buf);
|
RD3DVertexBuffer_Unlock(d3d->vertex_buf);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user