wined3d: Add the output signature to IWineD3DDevice_CreateVertexShader().
This commit is contained in:
parent
2153b4d998
commit
f0e303b0f2
|
@ -1789,7 +1789,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_CreateVertexShader(LPDIRECT3DDEVICE8
|
|||
{
|
||||
/* Usage is missing ... Use SetRenderState to set the sw vp render state in SetVertexShader */
|
||||
hrc = IWineD3DDevice_CreateVertexShader(This->WineD3DDevice, wined3d_vertex_declaration,
|
||||
pFunction, &object->wineD3DVertexShader, (IUnknown *)object);
|
||||
pFunction, NULL /* output signature */, &object->wineD3DVertexShader, (IUnknown *)object);
|
||||
|
||||
if (FAILED(hrc))
|
||||
{
|
||||
|
|
|
@ -126,7 +126,8 @@ HRESULT WINAPI IDirect3DDevice9Impl_CreateVertexShader(LPDIRECT3DDEVICE9EX iface
|
|||
object->ref = 1;
|
||||
object->lpVtbl = &Direct3DVertexShader9_Vtbl;
|
||||
EnterCriticalSection(&d3d9_cs);
|
||||
hrc= IWineD3DDevice_CreateVertexShader(This->WineD3DDevice, NULL /* declaration */, pFunction, &object->wineD3DVertexShader, (IUnknown *)object);
|
||||
hrc= IWineD3DDevice_CreateVertexShader(This->WineD3DDevice, NULL /* declaration */, pFunction,
|
||||
NULL /* output signature */, &object->wineD3DVertexShader, (IUnknown *)object);
|
||||
LeaveCriticalSection(&d3d9_cs);
|
||||
|
||||
if (FAILED(hrc)) {
|
||||
|
|
|
@ -2328,7 +2328,11 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateVertexDeclarationFromFVF(IWineD3D
|
|||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DDeviceImpl_CreateVertexShader(IWineD3DDevice *iface, IWineD3DVertexDeclaration *vertex_declaration, CONST DWORD *pFunction, IWineD3DVertexShader **ppVertexShader, IUnknown *parent) {
|
||||
static HRESULT WINAPI IWineD3DDeviceImpl_CreateVertexShader(IWineD3DDevice *iface,
|
||||
IWineD3DVertexDeclaration *vertex_declaration, const DWORD *pFunction,
|
||||
const struct wined3d_shader_signature *output_signature,
|
||||
IWineD3DVertexShader **ppVertexShader, IUnknown *parent)
|
||||
{
|
||||
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
|
||||
IWineD3DVertexShaderImpl *object; /* NOTE: impl usage is ok, this is a create */
|
||||
HRESULT hr = WINED3D_OK;
|
||||
|
@ -2355,7 +2359,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateVertexShader(IWineD3DDevice *ifac
|
|||
IWineD3DVertexShader_FakeSemantics(*ppVertexShader, vertex_declaration);
|
||||
}
|
||||
|
||||
hr = IWineD3DVertexShader_SetFunction(*ppVertexShader, pFunction, NULL);
|
||||
hr = IWineD3DVertexShader_SetFunction(*ppVertexShader, pFunction, output_signature);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
WARN("(%p) : Failed to set function, returning %#x\n", iface, hr);
|
||||
|
|
|
@ -3013,6 +3013,7 @@ interface IWineD3DDevice : IWineD3DBase
|
|||
HRESULT CreateVertexShader(
|
||||
[in] IWineD3DVertexDeclaration *declaration,
|
||||
[in] const DWORD *function,
|
||||
[in] const struct wined3d_shader_signature *output_signature,
|
||||
[out] IWineD3DVertexShader **shader,
|
||||
[in] IUnknown *parent
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue