Implemented guids for wined3d.
This commit is contained in:
parent
7105248ae6
commit
16e8689008
|
@ -21,6 +21,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "initguid.h"
|
||||||
#include "d3d9_private.h"
|
#include "d3d9_private.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
||||||
|
|
|
@ -109,26 +109,46 @@ HRESULT WINAPI IDirect3DSurface9Impl_GetContainer(LPDIRECT3DSURFACE9 iface, REFI
|
||||||
IDirect3DSurface9Impl *This = (IDirect3DSurface9Impl *)iface;
|
IDirect3DSurface9Impl *This = (IDirect3DSurface9Impl *)iface;
|
||||||
HRESULT res;
|
HRESULT res;
|
||||||
|
|
||||||
/* The container returned from IWineD3DSurface_GetContainer is either a IWineD3DDevice or
|
/* The container returned from IWineD3DSurface_GetContainer is either a IWineD3DDevice,
|
||||||
opne of the subclasses of resource */
|
one of the subclasses of IWineD3DBaseTexture or a IWineD3DSwapChain */
|
||||||
IUnknown *IWineContainer = NULL;
|
IUnknown *IWineContainer = NULL;
|
||||||
res = IWineD3DSurface_GetContainer(This->wineD3DSurface, riid, (void **)&IWineContainer);
|
|
||||||
|
|
||||||
if (res == D3D_OK) {
|
TRACE("(%p) Relay\n", This);
|
||||||
IWineD3DDevice *myDevice = NULL;
|
|
||||||
IWineD3DResource_GetDevice((IWineD3DSurface *)This->wineD3DSurface, &myDevice);
|
|
||||||
|
|
||||||
if (IWineContainer == (IUnknown *)myDevice) {
|
/* Get the IUnknown container. */
|
||||||
IWineD3DDevice_GetParent((IWineD3DDevice *)IWineContainer, (IUnknown **)ppContainer);
|
res = IWineD3DSurface_GetContainer(This->wineD3DSurface, &IID_IUnknown, (void **)&IWineContainer);
|
||||||
IWineD3DDevice_Release((IWineD3DDevice *)IWineContainer);
|
if (res == D3D_OK && IWineContainer != NULL) {
|
||||||
} else {
|
|
||||||
IWineD3DResource_GetParent((IWineD3DResource *)IWineContainer, (IUnknown **)ppContainer);
|
/* Now find out what kind of container it is (so that we can get its parent)*/
|
||||||
IWineD3DResource_Release((IWineD3DResource *)IWineContainer);
|
IUnknown *IUnknownParent = NULL;
|
||||||
|
IUnknown *myContainer = NULL;
|
||||||
|
if(D3D_OK == IUnknown_QueryInterface(IWineContainer, &IID_IWineD3DDevice, (void **)&myContainer)){
|
||||||
|
IWineD3DDevice_GetParent((IWineD3DDevice *)IWineContainer, &IUnknownParent);
|
||||||
|
IUnknown_Release(myContainer);
|
||||||
|
} else
|
||||||
|
if(D3D_OK == IUnknown_QueryInterface(IWineContainer, &IID_IWineD3DBaseTexture, (void **)&myContainer)){
|
||||||
|
IWineD3DBaseTexture_GetParent((IWineD3DBaseTexture *)IWineContainer, &IUnknownParent);
|
||||||
|
IUnknown_Release(myContainer);
|
||||||
|
} else
|
||||||
|
if(D3D_OK == IUnknown_QueryInterface(IWineContainer, &IID_IWineD3DSwapChain, (void **)&myContainer)){
|
||||||
|
IWineD3DBaseTexture_GetParent((IWineD3DBaseTexture *)IWineContainer, &IUnknownParent);
|
||||||
|
IUnknown_Release(myContainer);
|
||||||
|
}else{
|
||||||
|
FIXME("Container is of unknown interface\n");
|
||||||
}
|
}
|
||||||
|
/* Tidy up.. */
|
||||||
|
IUnknown_Release((IWineD3DDevice *)IWineContainer);
|
||||||
|
|
||||||
IWineD3DDevice_Release(myDevice);
|
/* Now, query the interface of the parent for the riid */
|
||||||
|
if(IUnknownParent != NULL){
|
||||||
|
res = IUnknown_QueryInterface(IUnknownParent, riid, ppContainer);
|
||||||
|
/* Tidy up.. */
|
||||||
|
IUnknown_Release(IUnknownParent);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TRACE("(%p) : returning %p\n", This, *ppContainer);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,8 +30,16 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
||||||
******************************************* */
|
******************************************* */
|
||||||
HRESULT WINAPI IWineD3DBaseTextureImpl_QueryInterface(IWineD3DBaseTexture *iface, REFIID riid, LPVOID *ppobj)
|
HRESULT WINAPI IWineD3DBaseTextureImpl_QueryInterface(IWineD3DBaseTexture *iface, REFIID riid, LPVOID *ppobj)
|
||||||
{
|
{
|
||||||
IWineD3DBaseTextureImpl *This = (IWineD3DBaseTextureImpl *)iface;
|
IWineD3DBaseTextureImpl *This = (IWineD3DBaseTextureImpl *)iface;
|
||||||
WARN("(%p)->(%s,%p) should not be called\n",This,debugstr_guid(riid),ppobj);
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
/* FIXME: This needs to extend a IWineD3DBaseObject */
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DResource)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DBaseTexture)) {
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
* IDirect3DCubeTexture9 implementation
|
* IDirect3DCubeTexture9 implementation
|
||||||
*
|
*
|
||||||
* Copyright 2002-2005 Jason Edmeades
|
* Copyright 2002-2005 Jason Edmeades
|
||||||
* Raphael Junqueira
|
* Copyright 2002-2005 Raphael Junqueira
|
||||||
|
* Copyright 2005 Oliver Stieber
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -49,7 +50,15 @@ static const GLenum cube_targets[6] = {
|
||||||
HRESULT WINAPI IWineD3DCubeTextureImpl_QueryInterface(IWineD3DCubeTexture *iface, REFIID riid, LPVOID *ppobj)
|
HRESULT WINAPI IWineD3DCubeTextureImpl_QueryInterface(IWineD3DCubeTexture *iface, REFIID riid, LPVOID *ppobj)
|
||||||
{
|
{
|
||||||
IWineD3DCubeTextureImpl *This = (IWineD3DCubeTextureImpl *)iface;
|
IWineD3DCubeTextureImpl *This = (IWineD3DCubeTextureImpl *)iface;
|
||||||
WARN("(%p)->(%s,%p) should not be called\n",This,debugstr_guid(riid),ppobj);
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DResource)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DBaseTexture)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DTexture)) {
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -230,6 +230,17 @@ void WINAPI IWineD3DDeviceImpl_SetupTextureStates(IWineD3DDevice *iface, DWORD S
|
||||||
|
|
||||||
HRESULT WINAPI IWineD3DDeviceImpl_QueryInterface(IWineD3DDevice *iface,REFIID riid,LPVOID *ppobj)
|
HRESULT WINAPI IWineD3DDeviceImpl_QueryInterface(IWineD3DDevice *iface,REFIID riid,LPVOID *ppobj)
|
||||||
{
|
{
|
||||||
|
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
|
||||||
|
/* FIXME: This needs to extend a IWineD3DBaseObject */
|
||||||
|
|
||||||
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DDevice)) {
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
|
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -149,6 +149,50 @@ static void WineD3D_ReleaseFakeGLContext(WineD3D_Context* ctx) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* IUnknown parts follows
|
||||||
|
**********************************************************/
|
||||||
|
|
||||||
|
HRESULT WINAPI IWineD3DImpl_QueryInterface(IWineD3D *iface,REFIID riid,LPVOID *ppobj)
|
||||||
|
{
|
||||||
|
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
|
||||||
|
/* FIXME: This needs to extend a IWineD3DBaseObject */
|
||||||
|
|
||||||
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DDevice)) {
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
return E_NOINTERFACE;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG WINAPI IWineD3DImpl_AddRef(IWineD3D *iface) {
|
||||||
|
IWineD3DImpl *This = (IWineD3DImpl *)iface;
|
||||||
|
ULONG refCount = InterlockedIncrement(&This->ref);
|
||||||
|
|
||||||
|
TRACE("(%p) : AddRef increasing from %ld\n", This, refCount - 1);
|
||||||
|
return refCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG WINAPI IWineD3DImpl_Release(IWineD3D *iface) {
|
||||||
|
IWineD3DImpl *This = (IWineD3DImpl *)iface;
|
||||||
|
ULONG ref;
|
||||||
|
TRACE("(%p) : Releasing from %ld\n", This, This->ref);
|
||||||
|
ref = InterlockedDecrement(&This->ref);
|
||||||
|
if (ref == 0) {
|
||||||
|
HeapFree(GetProcessHeap(), 0, This);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ref;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* IWineD3D parts follows
|
||||||
|
**********************************************************/
|
||||||
|
|
||||||
static BOOL IWineD3DImpl_FillGLCaps(WineD3D_GL_Info *gl_info, Display* display) {
|
static BOOL IWineD3DImpl_FillGLCaps(WineD3D_GL_Info *gl_info, Display* display) {
|
||||||
const char *GL_Extensions = NULL;
|
const char *GL_Extensions = NULL;
|
||||||
const char *GLX_Extensions = NULL;
|
const char *GLX_Extensions = NULL;
|
||||||
|
@ -1613,33 +1657,6 @@ HRESULT WINAPI IWineD3DImpl_GetParent(IWineD3D *iface, IUnknown **pParent) {
|
||||||
return D3D_OK;
|
return D3D_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************
|
|
||||||
* IUnknown parts follows
|
|
||||||
**********************************************************/
|
|
||||||
|
|
||||||
HRESULT WINAPI IWineD3DImpl_QueryInterface(IWineD3D *iface,REFIID riid,LPVOID *ppobj)
|
|
||||||
{
|
|
||||||
return E_NOINTERFACE;
|
|
||||||
}
|
|
||||||
|
|
||||||
ULONG WINAPI IWineD3DImpl_AddRef(IWineD3D *iface) {
|
|
||||||
IWineD3DImpl *This = (IWineD3DImpl *)iface;
|
|
||||||
ULONG refCount = InterlockedIncrement(&This->ref);
|
|
||||||
|
|
||||||
TRACE("(%p) : AddRef increasing from %ld\n", This, refCount - 1);
|
|
||||||
return refCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
ULONG WINAPI IWineD3DImpl_Release(IWineD3D *iface) {
|
|
||||||
IWineD3DImpl *This = (IWineD3DImpl *)iface;
|
|
||||||
ULONG refCount = InterlockedDecrement(&This->ref);
|
|
||||||
|
|
||||||
TRACE("(%p) : Releasing from %ld\n", This, refCount + 1);
|
|
||||||
|
|
||||||
if (!refCount) HeapFree(GetProcessHeap(), 0, This);
|
|
||||||
return refCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**********************************************************
|
/**********************************************************
|
||||||
* IWineD3D VTbl follows
|
* IWineD3D VTbl follows
|
||||||
**********************************************************/
|
**********************************************************/
|
||||||
|
|
|
@ -32,7 +32,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
||||||
HRESULT WINAPI IWineD3DIndexBufferImpl_QueryInterface(IWineD3DIndexBuffer *iface, REFIID riid, LPVOID *ppobj)
|
HRESULT WINAPI IWineD3DIndexBufferImpl_QueryInterface(IWineD3DIndexBuffer *iface, REFIID riid, LPVOID *ppobj)
|
||||||
{
|
{
|
||||||
IWineD3DIndexBufferImpl *This = (IWineD3DIndexBufferImpl *)iface;
|
IWineD3DIndexBufferImpl *This = (IWineD3DIndexBufferImpl *)iface;
|
||||||
WARN("(%p)->(%s,%p) should not be called\n",This,debugstr_guid(riid),ppobj);
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DResource)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DIndexBuffer)){
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
||||||
HRESULT WINAPI IWineD3DResourceImpl_QueryInterface(IWineD3DResource *iface, REFIID riid, LPVOID *ppobj)
|
HRESULT WINAPI IWineD3DResourceImpl_QueryInterface(IWineD3DResource *iface, REFIID riid, LPVOID *ppobj)
|
||||||
{
|
{
|
||||||
IWineD3DResourceImpl *This = (IWineD3DResourceImpl *)iface;
|
IWineD3DResourceImpl *This = (IWineD3DResourceImpl *)iface;
|
||||||
WARN("(%p)->(%s,%p) should not be called\n",This,debugstr_guid(riid),ppobj);
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DResource)) {
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
* state block implementation
|
* state block implementation
|
||||||
*
|
*
|
||||||
* Copyright 2002 Raphael Junqueira
|
* Copyright 2002 Raphael Junqueira
|
||||||
* 2004 Jason Edmeades
|
* Copyright 2004 Jason Edmeades
|
||||||
|
* Copyright 2005 Oliver Stieber
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -25,6 +26,46 @@
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
||||||
#define GLINFO_LOCATION ((IWineD3DImpl *)(((IWineD3DDeviceImpl *)This->wineD3DDevice)->wineD3D))->gl_info
|
#define GLINFO_LOCATION ((IWineD3DImpl *)(((IWineD3DDeviceImpl *)This->wineD3DDevice)->wineD3D))->gl_info
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* IWineD3DStateBlockImpl IUnknown parts follows
|
||||||
|
**********************************************************/
|
||||||
|
HRESULT WINAPI IWineD3DStateBlockImpl_QueryInterface(IWineD3DStateBlock *iface,REFIID riid,LPVOID *ppobj)
|
||||||
|
{
|
||||||
|
IWineD3DStateBlockImpl *This = (IWineD3DStateBlockImpl *)iface;
|
||||||
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DStateBlock)){
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
|
return E_NOINTERFACE;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG WINAPI IWineD3DStateBlockImpl_AddRef(IWineD3DStateBlock *iface) {
|
||||||
|
IWineD3DStateBlockImpl *This = (IWineD3DStateBlockImpl *)iface;
|
||||||
|
ULONG refCount = InterlockedIncrement(&This->ref);
|
||||||
|
|
||||||
|
TRACE("(%p) : AddRef increasing from %ld\n", This, refCount - 1);
|
||||||
|
return refCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG WINAPI IWineD3DStateBlockImpl_Release(IWineD3DStateBlock *iface) {
|
||||||
|
IWineD3DStateBlockImpl *This = (IWineD3DStateBlockImpl *)iface;
|
||||||
|
ULONG refCount = InterlockedDecrement(&This->ref);
|
||||||
|
|
||||||
|
TRACE("(%p) : Releasing from %ld\n", This, refCount + 1);
|
||||||
|
|
||||||
|
if (!refCount) {
|
||||||
|
IWineD3DDevice_Release((IWineD3DDevice *)This->wineD3DDevice);
|
||||||
|
HeapFree(GetProcessHeap(), 0, This);
|
||||||
|
}
|
||||||
|
return refCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* IWineD3DStateBlockImpl parts follows
|
||||||
|
**********************************************************/
|
||||||
HRESULT WINAPI IWineD3DStateBlockImpl_GetParent(IWineD3DStateBlock *iface, IUnknown **pParent) {
|
HRESULT WINAPI IWineD3DStateBlockImpl_GetParent(IWineD3DStateBlock *iface, IUnknown **pParent) {
|
||||||
IWineD3DStateBlockImpl *This = (IWineD3DStateBlockImpl *)iface;
|
IWineD3DStateBlockImpl *This = (IWineD3DStateBlockImpl *)iface;
|
||||||
IUnknown_AddRef(This->parent);
|
IUnknown_AddRef(This->parent);
|
||||||
|
@ -252,35 +293,6 @@ HRESULT WINAPI IWineD3DStateBlockImpl_InitStartupStateBlock(IWineD3DStateBlock*
|
||||||
return D3D_OK;
|
return D3D_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************
|
|
||||||
* IUnknown parts follows
|
|
||||||
**********************************************************/
|
|
||||||
HRESULT WINAPI IWineD3DStateBlockImpl_QueryInterface(IWineD3DStateBlock *iface,REFIID riid,LPVOID *ppobj)
|
|
||||||
{
|
|
||||||
return E_NOINTERFACE;
|
|
||||||
}
|
|
||||||
|
|
||||||
ULONG WINAPI IWineD3DStateBlockImpl_AddRef(IWineD3DStateBlock *iface) {
|
|
||||||
IWineD3DStateBlockImpl *This = (IWineD3DStateBlockImpl *)iface;
|
|
||||||
ULONG refCount = InterlockedIncrement(&This->ref);
|
|
||||||
|
|
||||||
TRACE("(%p) : AddRef increasing from %ld\n", This, refCount - 1);
|
|
||||||
return refCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
ULONG WINAPI IWineD3DStateBlockImpl_Release(IWineD3DStateBlock *iface) {
|
|
||||||
IWineD3DStateBlockImpl *This = (IWineD3DStateBlockImpl *)iface;
|
|
||||||
ULONG refCount = InterlockedDecrement(&This->ref);
|
|
||||||
|
|
||||||
TRACE("(%p) : Releasing from %ld\n", This, refCount + 1);
|
|
||||||
|
|
||||||
if (!refCount) {
|
|
||||||
IWineD3DDevice_Release((IWineD3DDevice *)This->wineD3DDevice);
|
|
||||||
HeapFree(GetProcessHeap(), 0, This);
|
|
||||||
}
|
|
||||||
return refCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**********************************************************
|
/**********************************************************
|
||||||
* IWineD3DStateBlock VTbl follows
|
* IWineD3DStateBlock VTbl follows
|
||||||
**********************************************************/
|
**********************************************************/
|
||||||
|
|
|
@ -31,7 +31,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
||||||
HRESULT WINAPI IWineD3DTextureImpl_QueryInterface(IWineD3DTexture *iface, REFIID riid, LPVOID *ppobj)
|
HRESULT WINAPI IWineD3DTextureImpl_QueryInterface(IWineD3DTexture *iface, REFIID riid, LPVOID *ppobj)
|
||||||
{
|
{
|
||||||
IWineD3DTextureImpl *This = (IWineD3DTextureImpl *)iface;
|
IWineD3DTextureImpl *This = (IWineD3DTextureImpl *)iface;
|
||||||
WARN("(%p)->(%s,%p) should not be called\n",This,debugstr_guid(riid),ppobj);
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DResource)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DBaseTexture)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DTexture)){
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
||||||
HRESULT WINAPI IWineD3DVertexBufferImpl_QueryInterface(IWineD3DVertexBuffer *iface, REFIID riid, LPVOID *ppobj)
|
HRESULT WINAPI IWineD3DVertexBufferImpl_QueryInterface(IWineD3DVertexBuffer *iface, REFIID riid, LPVOID *ppobj)
|
||||||
{
|
{
|
||||||
IWineD3DVertexBufferImpl *This = (IWineD3DVertexBufferImpl *)iface;
|
IWineD3DVertexBufferImpl *This = (IWineD3DVertexBufferImpl *)iface;
|
||||||
WARN("(%p)->(%s,%p) should not be called\n",This,debugstr_guid(riid),ppobj);
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DResource)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DVertexBuffer)){
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -747,7 +747,13 @@ HRESULT IWineD3DVertexDeclarationImpl_ParseDeclaration9(IWineD3DDeviceImpl* This
|
||||||
HRESULT WINAPI IWineD3DVertexDeclarationImpl_QueryInterface(IWineD3DVertexDeclaration *iface, REFIID riid, LPVOID *ppobj)
|
HRESULT WINAPI IWineD3DVertexDeclarationImpl_QueryInterface(IWineD3DVertexDeclaration *iface, REFIID riid, LPVOID *ppobj)
|
||||||
{
|
{
|
||||||
IWineD3DVertexDeclarationImpl *This = (IWineD3DVertexDeclarationImpl *)iface;
|
IWineD3DVertexDeclarationImpl *This = (IWineD3DVertexDeclarationImpl *)iface;
|
||||||
WARN("(%p)->(%s,%p) should not be called\n",This,debugstr_guid(riid),ppobj);
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DVertexDeclaration)){
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
||||||
HRESULT WINAPI IWineD3DVolumeImpl_QueryInterface(IWineD3DVolume *iface, REFIID riid, LPVOID *ppobj)
|
HRESULT WINAPI IWineD3DVolumeImpl_QueryInterface(IWineD3DVolume *iface, REFIID riid, LPVOID *ppobj)
|
||||||
{
|
{
|
||||||
IWineD3DVolumeImpl *This = (IWineD3DVolumeImpl *)iface;
|
IWineD3DVolumeImpl *This = (IWineD3DVolumeImpl *)iface;
|
||||||
WARN("(%p)->(%s,%p) should not be called\n",This,debugstr_guid(riid),ppobj);
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DVolume)){
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
||||||
HRESULT WINAPI IWineD3DVolumeTextureImpl_QueryInterface(IWineD3DVolumeTexture *iface, REFIID riid, LPVOID *ppobj)
|
HRESULT WINAPI IWineD3DVolumeTextureImpl_QueryInterface(IWineD3DVolumeTexture *iface, REFIID riid, LPVOID *ppobj)
|
||||||
{
|
{
|
||||||
IWineD3DVolumeTextureImpl *This = (IWineD3DVolumeTextureImpl *)iface;
|
IWineD3DVolumeTextureImpl *This = (IWineD3DVolumeTextureImpl *)iface;
|
||||||
WARN("(%p)->(%s,%p) should not be called\n",This,debugstr_guid(riid),ppobj);
|
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
|
||||||
|
if (IsEqualGUID(riid, &IID_IUnknown)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DResource)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DBaseTexture)
|
||||||
|
|| IsEqualGUID(riid, &IID_IWineD3DVolumeTexture)) {
|
||||||
|
IUnknown_AddRef(iface);
|
||||||
|
*ppobj = This;
|
||||||
|
return D3D_OK;
|
||||||
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#include "initguid.h"
|
||||||
#include "wined3d_private.h"
|
#include "wined3d_private.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(wine_d3d);
|
WINE_DEFAULT_DEBUG_CHANNEL(wine_d3d);
|
||||||
|
|
|
@ -37,6 +37,84 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* Predeclare the interfaces
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* {108F9C44-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3D,
|
||||||
|
0x108f9c44, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {108F9C44-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DDevice,
|
||||||
|
0x108f9c44, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
|
||||||
|
/* {1F3BFB34-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DResource,
|
||||||
|
0x1f3bfb34, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {217F671E-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DVertexBuffer,
|
||||||
|
0x217f671e, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {24769ED8-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DVolume,
|
||||||
|
0x24769ed8, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
|
||||||
|
/* {34D01B10-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DSwapChain,
|
||||||
|
0x34d01b10, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {37CD5526-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DSurface,
|
||||||
|
0x37cd5526, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
|
||||||
|
/* {3A02A54E-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DIndexBuffer,
|
||||||
|
0x3a02a54e, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {3C2AEBF6-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DBaseTexture,
|
||||||
|
0x3c2aebf6, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {3E72CC1C-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DTexture,
|
||||||
|
0x3e72cc1c, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {41752900-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DCubeTexture,
|
||||||
|
0x41752900, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {7B39470C-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DVolumeTexture,
|
||||||
|
0x7b39470c, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {7CD55BE6-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DVertexDeclaration,
|
||||||
|
0x7cd55be6, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {7F7A2B60-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DVertexShader,
|
||||||
|
0x7f7a2b60, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {818503DA-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DPixelShader,
|
||||||
|
0x818503da, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {83B073CE-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DStateBlock,
|
||||||
|
0x83b073ce, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
/* {905DDBAC-6F30-11d9-C687-00046142C14F} */
|
||||||
|
DEFINE_GUID(IID_IWineD3DQuery,
|
||||||
|
0x905ddbac, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* WineD3D Structures to be used when d3d8 and d3d9 are incompatible
|
* WineD3D Structures to be used when d3d8 and d3d9 are incompatible
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue