wined3d: Get rid of the remaining "Flags".
This commit is contained in:
parent
b459b917fb
commit
03f7a2d88e
|
@ -68,14 +68,14 @@ static ULONG WINAPI IWineD3DClipperImpl_Release(IWineD3DClipper *iface)
|
|||
return ref;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DClipperImpl_SetHwnd(IWineD3DClipper *iface, DWORD Flags, HWND hWnd)
|
||||
static HRESULT WINAPI IWineD3DClipperImpl_SetHwnd(IWineD3DClipper *iface, DWORD flags, HWND hWnd)
|
||||
{
|
||||
IWineD3DClipperImpl *This = (IWineD3DClipperImpl *)iface;
|
||||
|
||||
TRACE("(%p)->(0x%08x,%p)\n", This, Flags, hWnd);
|
||||
if( Flags )
|
||||
TRACE("iface %p, flags %#x, window %p.\n", iface, flags, hWnd);
|
||||
if (flags)
|
||||
{
|
||||
FIXME("Flags = 0x%08x, not supported.\n",Flags);
|
||||
FIXME("flags %#x, not supported.\n", flags);
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
|
@ -128,12 +128,12 @@ static HRESULT WINAPI IWineD3DClipperImpl_GetClipList(IWineD3DClipper *iface, co
|
|||
}
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DClipperImpl_SetClipList(IWineD3DClipper *iface, const RGNDATA *rgn, DWORD Flags)
|
||||
static HRESULT WINAPI IWineD3DClipperImpl_SetClipList(IWineD3DClipper *iface, const RGNDATA *rgn, DWORD flags)
|
||||
{
|
||||
static int warned = 0;
|
||||
|
||||
if (warned++ < 10 || !rgn)
|
||||
FIXME("iface %p, region %p, flags %#x stub!\n", iface, rgn, Flags);
|
||||
FIXME("iface %p, region %p, flags %#x stub!\n", iface, rgn, flags);
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* Copyright 2002-2005 Raphael Junqueira
|
||||
* Copyright 2005 Oliver Stieber
|
||||
* Copyright 2007-2008 Stefan Dösinger for CodeWeavers
|
||||
* Copyright 2009 Henri Verbeet for CodeWeavers
|
||||
* Copyright 2009-2010 Henri Verbeet for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -180,8 +180,10 @@ static ULONG WINAPI IWineD3DCubeTextureImpl_Release(IWineD3DCubeTexture *iface)
|
|||
/* ****************************************************
|
||||
IWineD3DCubeTexture IWineD3DResource parts follow
|
||||
**************************************************** */
|
||||
static HRESULT WINAPI IWineD3DCubeTextureImpl_SetPrivateData(IWineD3DCubeTexture *iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) {
|
||||
return resource_set_private_data((IWineD3DResource *)iface, refguid, pData, SizeOfData, Flags);
|
||||
static HRESULT WINAPI IWineD3DCubeTextureImpl_SetPrivateData(IWineD3DCubeTexture *iface,
|
||||
REFGUID riid, const void *data, DWORD data_size, DWORD flags)
|
||||
{
|
||||
return resource_set_private_data((IWineD3DResource *)iface, riid, data, data_size, flags);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DCubeTextureImpl_GetPrivateData(IWineD3DCubeTexture *iface, REFGUID refguid, void* pData, DWORD* pSizeOfData) {
|
||||
|
|
|
@ -1601,7 +1601,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreatePixelShader(IWineD3DDevice *iface
|
|||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DDeviceImpl_CreatePalette(IWineD3DDevice *iface, DWORD Flags,
|
||||
static HRESULT WINAPI IWineD3DDeviceImpl_CreatePalette(IWineD3DDevice *iface, DWORD flags,
|
||||
const PALETTEENTRY *PalEnt, void *parent, IWineD3DPalette **Palette)
|
||||
{
|
||||
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *) iface;
|
||||
|
@ -1609,7 +1609,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreatePalette(IWineD3DDevice *iface, DW
|
|||
HRESULT hr;
|
||||
|
||||
TRACE("iface %p, flags %#x, entries %p, palette %p, parent %p.\n",
|
||||
iface, Flags, PalEnt, Palette, parent);
|
||||
iface, flags, PalEnt, Palette, parent);
|
||||
|
||||
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
|
||||
if (!object)
|
||||
|
@ -1618,7 +1618,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreatePalette(IWineD3DDevice *iface, DW
|
|||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
hr = wined3d_palette_init(object, This, Flags, PalEnt, parent);
|
||||
hr = wined3d_palette_init(object, This, flags, PalEnt, parent);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
WARN("Failed to initialize palette, hr %#x.\n", hr);
|
||||
|
@ -2451,7 +2451,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_GetStreamSource(IWineD3DDevice *iface,
|
|||
static HRESULT WINAPI IWineD3DDeviceImpl_SetStreamSourceFreq(IWineD3DDevice *iface, UINT StreamNumber, UINT Divider) {
|
||||
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
|
||||
struct wined3d_stream_state *stream;
|
||||
UINT oldFlags, oldFreq;
|
||||
UINT old_flags, oldFreq;
|
||||
|
||||
TRACE("iface %p, stream_idx %u, divider %#x.\n", iface, StreamNumber, Divider);
|
||||
|
||||
|
@ -2473,7 +2473,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetStreamSourceFreq(IWineD3DDevice *ifa
|
|||
}
|
||||
|
||||
stream = &This->updateStateBlock->state.streams[StreamNumber];
|
||||
oldFlags = stream->flags;
|
||||
old_flags = stream->flags;
|
||||
oldFreq = stream->frequency;
|
||||
|
||||
stream->flags = Divider & (WINED3DSTREAMSOURCE_INSTANCEDATA | WINED3DSTREAMSOURCE_INDEXEDDATA);
|
||||
|
@ -2481,7 +2481,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetStreamSourceFreq(IWineD3DDevice *ifa
|
|||
|
||||
This->updateStateBlock->changed.streamFreq |= 1 << StreamNumber;
|
||||
|
||||
if (stream->frequency != oldFreq || stream->flags != oldFlags)
|
||||
if (stream->frequency != oldFreq || stream->flags != old_flags)
|
||||
IWineD3DDeviceImpl_MarkStateDirty(This, STATE_STREAMSRC);
|
||||
|
||||
return WINED3D_OK;
|
||||
|
@ -3894,7 +3894,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_GetPixelShaderConstantF(
|
|||
/* Do not call while under the GL lock. */
|
||||
#define copy_and_next(dest, src, size) memcpy(dest, src, size); dest += (size)
|
||||
static HRESULT process_vertices_strided(IWineD3DDeviceImpl *This, DWORD dwDestIndex, DWORD dwCount,
|
||||
const struct wined3d_stream_info *stream_info, struct wined3d_buffer *dest, DWORD dwFlags,
|
||||
const struct wined3d_stream_info *stream_info, struct wined3d_buffer *dest, DWORD flags,
|
||||
DWORD DestFVF)
|
||||
{
|
||||
const struct wined3d_gl_info *gl_info = &This->adapter->gl_info;
|
||||
|
@ -4237,7 +4237,7 @@ static HRESULT process_vertices_strided(IWineD3DDeviceImpl *This, DWORD dwDestIn
|
|||
|
||||
/* Do not call while under the GL lock. */
|
||||
static HRESULT WINAPI IWineD3DDeviceImpl_ProcessVertices(IWineD3DDevice *iface, UINT SrcStartIndex, UINT DestIndex,
|
||||
UINT VertexCount, IWineD3DBuffer *pDestBuffer, IWineD3DVertexDeclaration *pVertexDecl, DWORD Flags,
|
||||
UINT VertexCount, IWineD3DBuffer *pDestBuffer, IWineD3DVertexDeclaration *pVertexDecl, DWORD flags,
|
||||
DWORD DestFVF)
|
||||
{
|
||||
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
|
||||
|
@ -4247,7 +4247,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_ProcessVertices(IWineD3DDevice *iface,
|
|||
BOOL vbo = FALSE, streamWasUP = This->stateBlock->state.user_stream;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("(%p)->(%d,%d,%d,%p,%p,%d\n", This, SrcStartIndex, DestIndex, VertexCount, pDestBuffer, pVertexDecl, Flags);
|
||||
TRACE("(%p)->(%d,%d,%d,%p,%p,%d\n", This, SrcStartIndex, DestIndex, VertexCount, pDestBuffer, pVertexDecl, flags);
|
||||
|
||||
if(pVertexDecl) {
|
||||
ERR("Output vertex declaration not implemented yet\n");
|
||||
|
@ -4293,7 +4293,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_ProcessVertices(IWineD3DDevice *iface,
|
|||
}
|
||||
|
||||
hr = process_vertices_strided(This, DestIndex, VertexCount, &stream_info,
|
||||
(struct wined3d_buffer *)pDestBuffer, Flags, DestFVF);
|
||||
(struct wined3d_buffer *)pDestBuffer, flags, DestFVF);
|
||||
|
||||
context_release(context);
|
||||
|
||||
|
@ -6008,15 +6008,16 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetCursorProperties(IWineD3DDevice *ifa
|
|||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
static void WINAPI IWineD3DDeviceImpl_SetCursorPosition(IWineD3DDevice* iface, int XScreenSpace, int YScreenSpace, DWORD Flags) {
|
||||
static void WINAPI IWineD3DDeviceImpl_SetCursorPosition(IWineD3DDevice *iface,
|
||||
int XScreenSpace, int YScreenSpace, DWORD flags)
|
||||
{
|
||||
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *) iface;
|
||||
TRACE("(%p) : SetPos to (%u,%u)\n", This, XScreenSpace, YScreenSpace);
|
||||
|
||||
TRACE("iface %p, x %d, y %d, flags %#x.\n",
|
||||
iface, XScreenSpace, YScreenSpace, flags);
|
||||
|
||||
This->xScreenSpace = XScreenSpace;
|
||||
This->yScreenSpace = YScreenSpace;
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
static BOOL WINAPI IWineD3DDeviceImpl_ShowCursor(IWineD3DDevice* iface, BOOL bShow) {
|
||||
|
@ -6560,13 +6561,16 @@ static HRESULT WINAPI IWineD3DDeviceImpl_GetCreationParameters(IWineD3DDevice
|
|||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
static void WINAPI IWineD3DDeviceImpl_SetGammaRamp(IWineD3DDevice * iface, UINT iSwapChain, DWORD Flags, CONST WINED3DGAMMARAMP* pRamp) {
|
||||
static void WINAPI IWineD3DDeviceImpl_SetGammaRamp(IWineD3DDevice *iface,
|
||||
UINT iSwapChain, DWORD flags, const WINED3DGAMMARAMP *pRamp)
|
||||
{
|
||||
IWineD3DSwapChain *swapchain;
|
||||
|
||||
TRACE("Relaying to swapchain\n");
|
||||
|
||||
if (IWineD3DDeviceImpl_GetSwapChain(iface, iSwapChain, &swapchain) == WINED3D_OK) {
|
||||
IWineD3DSwapChain_SetGammaRamp(swapchain, Flags, pRamp);
|
||||
if (IWineD3DDeviceImpl_GetSwapChain(iface, iSwapChain, &swapchain) == WINED3D_OK)
|
||||
{
|
||||
IWineD3DSwapChain_SetGammaRamp(swapchain, flags, pRamp);
|
||||
IWineD3DSwapChain_Release(swapchain);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2782,13 +2782,14 @@ static HRESULT WINAPI IWineD3DImpl_GetAdapterDisplayMode(IWineD3D *iface, UINT A
|
|||
|
||||
/* NOTE: due to structure differences between dx8 and dx9 D3DADAPTER_IDENTIFIER,
|
||||
and fields being inserted in the middle, a new structure is used in place */
|
||||
static HRESULT WINAPI IWineD3DImpl_GetAdapterIdentifier(IWineD3D *iface, UINT Adapter, DWORD Flags,
|
||||
WINED3DADAPTER_IDENTIFIER* pIdentifier) {
|
||||
static HRESULT WINAPI IWineD3DImpl_GetAdapterIdentifier(IWineD3D *iface,
|
||||
UINT Adapter, DWORD flags, WINED3DADAPTER_IDENTIFIER *pIdentifier)
|
||||
{
|
||||
IWineD3DImpl *This = (IWineD3DImpl *)iface;
|
||||
struct wined3d_adapter *adapter;
|
||||
size_t len;
|
||||
|
||||
TRACE_(d3d_caps)("(%p}->(Adapter: %d, Flags: %x, pId=%p)\n", This, Adapter, Flags, pIdentifier);
|
||||
TRACE_(d3d_caps)("(%p}->(Adapter: %d, flags: %x, pId=%p)\n", This, Adapter, flags, pIdentifier);
|
||||
|
||||
if (Adapter >= IWineD3D_GetAdapterCount(iface)) {
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
|
@ -2838,7 +2839,7 @@ static HRESULT WINAPI IWineD3DImpl_GetAdapterIdentifier(IWineD3D *iface, UINT Ad
|
|||
pIdentifier->subsystem_id = 0;
|
||||
pIdentifier->revision = 0;
|
||||
memcpy(&pIdentifier->device_identifier, &IID_D3DDEVICE_D3DUID, sizeof(pIdentifier->device_identifier));
|
||||
pIdentifier->whql_level = (Flags & WINED3DENUM_NO_WHQL_LEVEL) ? 0 : 1;
|
||||
pIdentifier->whql_level = (flags & WINED3DENUM_NO_WHQL_LEVEL) ? 0 : 1;
|
||||
memcpy(&pIdentifier->adapter_luid, &adapter->luid, sizeof(pIdentifier->adapter_luid));
|
||||
pIdentifier->video_memory = adapter->TextureRam;
|
||||
|
||||
|
|
|
@ -74,25 +74,29 @@ static ULONG WINAPI IWineD3DPaletteImpl_Release(IWineD3DPalette *iface) {
|
|||
}
|
||||
|
||||
/* Not called from the vtable */
|
||||
static WORD IWineD3DPaletteImpl_Size(DWORD dwFlags)
|
||||
static WORD IWineD3DPaletteImpl_Size(DWORD flags)
|
||||
{
|
||||
switch (dwFlags & SIZE_BITS) {
|
||||
switch (flags & SIZE_BITS)
|
||||
{
|
||||
case WINEDDPCAPS_1BIT: return 2;
|
||||
case WINEDDPCAPS_2BIT: return 4;
|
||||
case WINEDDPCAPS_4BIT: return 16;
|
||||
case WINEDDPCAPS_8BIT: return 256;
|
||||
default:
|
||||
FIXME("Unhandled size bits %#x.\n", dwFlags & SIZE_BITS);
|
||||
FIXME("Unhandled size bits %#x.\n", flags & SIZE_BITS);
|
||||
return 256;
|
||||
}
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DPaletteImpl_GetEntries(IWineD3DPalette *iface, DWORD Flags, DWORD Start, DWORD Count, PALETTEENTRY *PalEnt) {
|
||||
static HRESULT WINAPI IWineD3DPaletteImpl_GetEntries(IWineD3DPalette *iface,
|
||||
DWORD flags, DWORD Start, DWORD Count, PALETTEENTRY *PalEnt)
|
||||
{
|
||||
IWineD3DPaletteImpl *This = (IWineD3DPaletteImpl *)iface;
|
||||
|
||||
TRACE("(%p)->(%08x,%d,%d,%p)\n",This,Flags,Start,Count,PalEnt);
|
||||
TRACE("iface %p, flags %#x, start %u, count %u, entries %p.\n",
|
||||
iface, flags, Start, Count, PalEnt);
|
||||
|
||||
if (Flags) return WINED3DERR_INVALIDCALL; /* unchecked */
|
||||
if (flags) return WINED3DERR_INVALIDCALL; /* unchecked */
|
||||
if (Start + Count > IWineD3DPaletteImpl_Size(This->flags))
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
|
||||
|
@ -111,12 +115,13 @@ static HRESULT WINAPI IWineD3DPaletteImpl_GetEntries(IWineD3DPalette *iface, DW
|
|||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DPaletteImpl_SetEntries(IWineD3DPalette *iface,
|
||||
DWORD Flags, DWORD Start, DWORD Count, const PALETTEENTRY *PalEnt)
|
||||
DWORD flags, DWORD Start, DWORD Count, const PALETTEENTRY *PalEnt)
|
||||
{
|
||||
IWineD3DPaletteImpl *This = (IWineD3DPaletteImpl *)iface;
|
||||
IWineD3DResourceImpl *res;
|
||||
|
||||
TRACE("(%p)->(%08x,%d,%d,%p)\n",This,Flags,Start,Count,PalEnt);
|
||||
TRACE("iface %p, flags %#x, start %u, count %u, entries %p.\n",
|
||||
iface, flags, Start, Count, PalEnt);
|
||||
TRACE("Palette flags: %#x.\n", This->flags);
|
||||
|
||||
if (This->flags & WINEDDPCAPS_8BITENTRIES)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* Copyright 2005 Oliver Stieber
|
||||
* Copyright 2007-2008 Stefan Dösinger for CodeWeavers
|
||||
* Copyright 2009 Henri Verbeet for CodeWeavers.
|
||||
* Copyright 2009-2010 Henri Verbeet for CodeWeavers.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -284,7 +284,9 @@ static ULONG WINAPI IWineD3DQueryImpl_Release(IWineD3DQuery *iface) {
|
|||
return ref;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DOcclusionQueryImpl_GetData(IWineD3DQuery* iface, void* pData, DWORD dwSize, DWORD dwGetDataFlags) {
|
||||
static HRESULT WINAPI IWineD3DOcclusionQueryImpl_GetData(IWineD3DQuery *iface,
|
||||
void *pData, DWORD dwSize, DWORD flags)
|
||||
{
|
||||
IWineD3DQueryImpl *This = (IWineD3DQueryImpl *) iface;
|
||||
struct wined3d_occlusion_query *query = This->extendedData;
|
||||
IWineD3DDeviceImpl *device = This->device;
|
||||
|
@ -295,7 +297,7 @@ static HRESULT WINAPI IWineD3DOcclusionQueryImpl_GetData(IWineD3DQuery* iface,
|
|||
GLuint samples;
|
||||
HRESULT res;
|
||||
|
||||
TRACE("(%p) : type D3DQUERY_OCCLUSION, pData %p, dwSize %#x, dwGetDataFlags %#x\n", This, pData, dwSize, dwGetDataFlags);
|
||||
TRACE("(%p) : type D3DQUERY_OCCLUSION, pData %p, dwSize %#x, flags %#x.\n", This, pData, dwSize, flags);
|
||||
|
||||
if (!query->context) This->state = QUERY_CREATED;
|
||||
|
||||
|
@ -359,13 +361,15 @@ static HRESULT WINAPI IWineD3DOcclusionQueryImpl_GetData(IWineD3DQuery* iface,
|
|||
return res;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DEventQueryImpl_GetData(IWineD3DQuery* iface, void* pData, DWORD dwSize, DWORD dwGetDataFlags) {
|
||||
static HRESULT WINAPI IWineD3DEventQueryImpl_GetData(IWineD3DQuery *iface,
|
||||
void *pData, DWORD dwSize, DWORD flags)
|
||||
{
|
||||
IWineD3DQueryImpl *This = (IWineD3DQueryImpl *) iface;
|
||||
struct wined3d_event_query *query = This->extendedData;
|
||||
BOOL *data = pData;
|
||||
enum wined3d_event_query_result ret;
|
||||
|
||||
TRACE("(%p) : type D3DQUERY_EVENT, pData %p, dwSize %#x, dwGetDataFlags %#x\n", This, pData, dwSize, dwGetDataFlags);
|
||||
TRACE("(%p) : type D3DQUERY_EVENT, pData %p, dwSize %#x, flags %#x.\n", This, pData, dwSize, flags);
|
||||
|
||||
if (!pData || !dwSize) return S_OK;
|
||||
if (!query)
|
||||
|
@ -417,11 +421,12 @@ static WINED3DQUERYTYPE WINAPI IWineD3DQueryImpl_GetType(IWineD3DQuery* iface){
|
|||
return This->type;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DEventQueryImpl_Issue(IWineD3DQuery* iface, DWORD dwIssueFlags) {
|
||||
static HRESULT WINAPI IWineD3DEventQueryImpl_Issue(IWineD3DQuery* iface, DWORD flags)
|
||||
{
|
||||
IWineD3DQueryImpl *This = (IWineD3DQueryImpl *)iface;
|
||||
|
||||
TRACE("(%p) : dwIssueFlags %#x, type D3DQUERY_EVENT\n", This, dwIssueFlags);
|
||||
if (dwIssueFlags & WINED3DISSUE_END)
|
||||
TRACE("(%p) : flags %#x, type D3DQUERY_EVENT\n", This, flags);
|
||||
if (flags & WINED3DISSUE_END)
|
||||
{
|
||||
struct wined3d_event_query *query = This->extendedData;
|
||||
|
||||
|
@ -430,22 +435,22 @@ static HRESULT WINAPI IWineD3DEventQueryImpl_Issue(IWineD3DQuery* iface, DWORD
|
|||
|
||||
wined3d_event_query_issue(query, This->device);
|
||||
}
|
||||
else if(dwIssueFlags & WINED3DISSUE_BEGIN)
|
||||
else if (flags & WINED3DISSUE_BEGIN)
|
||||
{
|
||||
/* Started implicitly at device creation */
|
||||
ERR("Event query issued with START flag - what to do?\n");
|
||||
}
|
||||
|
||||
if(dwIssueFlags & WINED3DISSUE_BEGIN) {
|
||||
if (flags & WINED3DISSUE_BEGIN)
|
||||
This->state = QUERY_BUILDING;
|
||||
} else {
|
||||
else
|
||||
This->state = QUERY_SIGNALLED;
|
||||
}
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DOcclusionQueryImpl_Issue(IWineD3DQuery* iface, DWORD dwIssueFlags) {
|
||||
static HRESULT WINAPI IWineD3DOcclusionQueryImpl_Issue(IWineD3DQuery *iface, DWORD flags)
|
||||
{
|
||||
IWineD3DQueryImpl *This = (IWineD3DQueryImpl *)iface;
|
||||
IWineD3DDeviceImpl *device = This->device;
|
||||
const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
|
||||
|
@ -456,7 +461,7 @@ static HRESULT WINAPI IWineD3DOcclusionQueryImpl_Issue(IWineD3DQuery* iface, D
|
|||
struct wined3d_context *context;
|
||||
|
||||
/* This is allowed according to msdn and our tests. Reset the query and restart */
|
||||
if (dwIssueFlags & WINED3DISSUE_BEGIN)
|
||||
if (flags & WINED3DISSUE_BEGIN)
|
||||
{
|
||||
if (This->state == QUERY_BUILDING)
|
||||
{
|
||||
|
@ -492,7 +497,8 @@ static HRESULT WINAPI IWineD3DOcclusionQueryImpl_Issue(IWineD3DQuery* iface, D
|
|||
|
||||
context_release(context);
|
||||
}
|
||||
if (dwIssueFlags & WINED3DISSUE_END) {
|
||||
if (flags & WINED3DISSUE_END)
|
||||
{
|
||||
/* Msdn says _END on a non-building occlusion query returns an error, but
|
||||
* our tests show that it returns OK. But OpenGL doesn't like it, so avoid
|
||||
* generating an error
|
||||
|
@ -520,11 +526,11 @@ static HRESULT WINAPI IWineD3DOcclusionQueryImpl_Issue(IWineD3DQuery* iface, D
|
|||
FIXME("(%p) : Occlusion queries not supported\n", This);
|
||||
}
|
||||
|
||||
if(dwIssueFlags & WINED3DISSUE_BEGIN) {
|
||||
if (flags & WINED3DISSUE_BEGIN)
|
||||
This->state = QUERY_BUILDING;
|
||||
} else {
|
||||
else
|
||||
This->state = QUERY_SIGNALLED;
|
||||
}
|
||||
|
||||
return WINED3D_OK; /* can be WINED3DERR_INVALIDCALL. */
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* Copyright 2003-2004 Raphael Junqueira
|
||||
* Copyright 2004 Christian Costa
|
||||
* Copyright 2005 Oliver Stieber
|
||||
* Copyright 2009 Henri Verbeet for CodeWeavers
|
||||
* Copyright 2009-2010 Henri Verbeet for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -130,22 +130,26 @@ static PrivateData* resource_find_private_data(IWineD3DResourceImpl *This, REFGU
|
|||
}
|
||||
|
||||
HRESULT resource_set_private_data(IWineD3DResource *iface, REFGUID refguid,
|
||||
const void *pData, DWORD SizeOfData, DWORD Flags)
|
||||
const void *pData, DWORD SizeOfData, DWORD flags)
|
||||
{
|
||||
IWineD3DResourceImpl *This = (IWineD3DResourceImpl *)iface;
|
||||
PrivateData *data;
|
||||
|
||||
TRACE("(%p) : %s %p %d %d\n", This, debugstr_guid(refguid), pData, SizeOfData, Flags);
|
||||
TRACE("iface %p, riid %s, data %p, data_size %u, flags %#x.\n",
|
||||
iface, debugstr_guid(refguid), pData, SizeOfData, flags);
|
||||
|
||||
resource_free_private_data(iface, refguid);
|
||||
|
||||
data = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*data));
|
||||
if (!data) return E_OUTOFMEMORY;
|
||||
|
||||
data->tag = *refguid;
|
||||
data->flags = Flags;
|
||||
data->flags = flags;
|
||||
|
||||
if (Flags & WINED3DSPD_IUNKNOWN) {
|
||||
if(SizeOfData != sizeof(IUnknown *)) {
|
||||
if (flags & WINED3DSPD_IUNKNOWN)
|
||||
{
|
||||
if (SizeOfData != sizeof(IUnknown *))
|
||||
{
|
||||
WARN("IUnknown data with size %d, returning WINED3DERR_INVALIDCALL\n", SizeOfData);
|
||||
HeapFree(GetProcessHeap(), 0, data);
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
|
|
|
@ -1643,14 +1643,14 @@ static void surface_prepare_system_memory(IWineD3DSurfaceImpl *This)
|
|||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DSurfaceImpl_Map(IWineD3DSurface *iface,
|
||||
WINED3DLOCKED_RECT *pLockedRect, const RECT *pRect, DWORD Flags)
|
||||
WINED3DLOCKED_RECT *pLockedRect, const RECT *pRect, DWORD flags)
|
||||
{
|
||||
IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *)iface;
|
||||
IWineD3DDeviceImpl *device = This->resource.device;
|
||||
const RECT *pass_rect = pRect;
|
||||
|
||||
TRACE("iface %p, locked_rect %p, rect %s, flags %#x.\n",
|
||||
iface, pLockedRect, wine_dbgstr_rect(pRect), Flags);
|
||||
iface, pLockedRect, wine_dbgstr_rect(pRect), flags);
|
||||
|
||||
/* This is also done in the base class, but we have to verify this before loading any data from
|
||||
* gl into the sysmem copy. The PBO may be mapped, a different rectangle locked, the discard flag
|
||||
|
@ -1668,7 +1668,7 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_Map(IWineD3DSurface *iface,
|
|||
TRACE("Warning: trying to lock unlockable surf@%p\n", This);
|
||||
}
|
||||
|
||||
if (Flags & WINED3DLOCK_DISCARD)
|
||||
if (flags & WINED3DLOCK_DISCARD)
|
||||
{
|
||||
TRACE("WINED3DLOCK_DISCARD flag passed, marking SYSMEM as up to date.\n");
|
||||
surface_prepare_system_memory(This);
|
||||
|
@ -1720,10 +1720,7 @@ lock_end:
|
|||
context_release(context);
|
||||
}
|
||||
|
||||
if (Flags & (WINED3DLOCK_NO_DIRTY_UPDATE | WINED3DLOCK_READONLY)) {
|
||||
/* Don't dirtify */
|
||||
}
|
||||
else
|
||||
if (!(flags & (WINED3DLOCK_NO_DIRTY_UPDATE | WINED3DLOCK_READONLY)))
|
||||
{
|
||||
surface_add_dirty_rect(This, pRect);
|
||||
|
||||
|
@ -1738,7 +1735,7 @@ lock_end:
|
|||
}
|
||||
}
|
||||
|
||||
return IWineD3DBaseSurfaceImpl_Map(iface, pLockedRect, pRect, Flags);
|
||||
return IWineD3DBaseSurfaceImpl_Map(iface, pLockedRect, pRect, flags);
|
||||
}
|
||||
|
||||
static void flush_to_framebuffer_drawpixels(IWineD3DSurfaceImpl *This,
|
||||
|
@ -2723,11 +2720,12 @@ void flip_surface(IWineD3DSurfaceImpl *front, IWineD3DSurfaceImpl *back) {
|
|||
}
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DSurfaceImpl_Flip(IWineD3DSurface *iface, IWineD3DSurface *override, DWORD Flags) {
|
||||
static HRESULT WINAPI IWineD3DSurfaceImpl_Flip(IWineD3DSurface *iface, IWineD3DSurface *override, DWORD flags)
|
||||
{
|
||||
IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *)iface;
|
||||
IWineD3DSwapChainImpl *swapchain = NULL;
|
||||
|
||||
TRACE("(%p)->(%p,%x)\n", This, override, Flags);
|
||||
TRACE("iface %p, override %p, flags %#x.\n", iface, override, flags);
|
||||
|
||||
/* Flipping is only supported on RenderTargets and overlays*/
|
||||
if( !(This->resource.usage & (WINED3DUSAGE_RENDERTARGET | WINED3DUSAGE_OVERLAY)) ) {
|
||||
|
@ -2764,19 +2762,17 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_Flip(IWineD3DSurface *iface, IWineD3DS
|
|||
/* Just overwrite the swapchain presentation interval. This is ok because only ddraw apps can call Flip,
|
||||
* and only d3d8 and d3d9 apps specify the presentation interval
|
||||
*/
|
||||
if (!(Flags & (WINEDDFLIP_NOVSYNC | WINEDDFLIP_INTERVAL2 | WINEDDFLIP_INTERVAL3 | WINEDDFLIP_INTERVAL4)))
|
||||
{
|
||||
if (!(flags & (WINEDDFLIP_NOVSYNC | WINEDDFLIP_INTERVAL2 | WINEDDFLIP_INTERVAL3 | WINEDDFLIP_INTERVAL4)))
|
||||
/* Most common case first to avoid wasting time on all the other cases */
|
||||
swapchain->presentParms.PresentationInterval = WINED3DPRESENT_INTERVAL_ONE;
|
||||
} else if(Flags & WINEDDFLIP_NOVSYNC) {
|
||||
else if (flags & WINEDDFLIP_NOVSYNC)
|
||||
swapchain->presentParms.PresentationInterval = WINED3DPRESENT_INTERVAL_IMMEDIATE;
|
||||
} else if(Flags & WINEDDFLIP_INTERVAL2) {
|
||||
else if (flags & WINEDDFLIP_INTERVAL2)
|
||||
swapchain->presentParms.PresentationInterval = WINED3DPRESENT_INTERVAL_TWO;
|
||||
} else if(Flags & WINEDDFLIP_INTERVAL3) {
|
||||
else if (flags & WINEDDFLIP_INTERVAL3)
|
||||
swapchain->presentParms.PresentationInterval = WINED3DPRESENT_INTERVAL_THREE;
|
||||
} else {
|
||||
else
|
||||
swapchain->presentParms.PresentationInterval = WINED3DPRESENT_INTERVAL_FOUR;
|
||||
}
|
||||
|
||||
/* Flipping a OpenGL surface -> Use WineD3DDevice::Present */
|
||||
return IWineD3DSwapChain_Present((IWineD3DSwapChain *)swapchain,
|
||||
|
@ -3436,7 +3432,7 @@ HRESULT surface_color_fill(IWineD3DSurfaceImpl *s, const RECT *rect, const WINED
|
|||
/* Not called from the VTable */
|
||||
/* Do not call while under the GL lock. */
|
||||
static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface, const RECT *DestRect,
|
||||
IWineD3DSurfaceImpl *src_surface, const RECT *SrcRect, DWORD Flags, const WINEDDBLTFX *DDBltFx,
|
||||
IWineD3DSurfaceImpl *src_surface, const RECT *SrcRect, DWORD flags, const WINEDDBLTFX *DDBltFx,
|
||||
WINED3DTEXTUREFILTERTYPE Filter)
|
||||
{
|
||||
IWineD3DDeviceImpl *device = dst_surface->resource.device;
|
||||
|
@ -3446,7 +3442,7 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface,
|
|||
|
||||
TRACE("dst_surface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, blt_fx %p, filter %s.\n",
|
||||
dst_surface, wine_dbgstr_rect(DestRect), src_surface, wine_dbgstr_rect(SrcRect),
|
||||
Flags, DDBltFx, debug_d3dtexturefiltertype(Filter));
|
||||
flags, DDBltFx, debug_d3dtexturefiltertype(Filter));
|
||||
|
||||
/* Get the swapchain. One of the surfaces has to be a primary surface */
|
||||
if (dst_surface->resource.pool == WINED3DPOOL_SYSTEMMEM)
|
||||
|
@ -3480,7 +3476,8 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface,
|
|||
}
|
||||
|
||||
/* No destination color keying supported */
|
||||
if(Flags & (WINEDDBLT_KEYDEST | WINEDDBLT_KEYDESTOVERRIDE)) {
|
||||
if (flags & (WINEDDBLT_KEYDEST | WINEDDBLT_KEYDESTOVERRIDE))
|
||||
{
|
||||
/* Can we support that with glBlendFunc if blitting to the frame buffer? */
|
||||
TRACE("Destination color key not supported in accelerated Blit, falling back to software\n");
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
|
@ -3552,7 +3549,7 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface,
|
|||
TRACE("Yes\n");
|
||||
|
||||
/* These flags are unimportant for the flag check, remove them */
|
||||
if (!(Flags & ~(WINEDDBLT_DONOTWAIT | WINEDDBLT_WAIT)))
|
||||
if (!(flags & ~(WINEDDBLT_DONOTWAIT | WINEDDBLT_WAIT)))
|
||||
{
|
||||
WINED3DSWAPEFFECT orig_swap = dstSwapchain->presentParms.SwapEffect;
|
||||
|
||||
|
@ -3619,7 +3616,8 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface,
|
|||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
if(Flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYSRCOVERRIDE)) {
|
||||
if (flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYSRCOVERRIDE))
|
||||
{
|
||||
TRACE("Color keying not supported by frame buffer to texture blit\n");
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
/* Destination color key is checked above */
|
||||
|
@ -3686,7 +3684,7 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface,
|
|||
|
||||
TRACE("Blt from surface %p to rendertarget %p\n", src_surface, dst_surface);
|
||||
|
||||
if (!(Flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYSRCOVERRIDE))
|
||||
if (!(flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYSRCOVERRIDE))
|
||||
&& fbo_blit_supported(gl_info, BLIT_OP_BLIT,
|
||||
&src_rect, src_surface->resource.usage, src_surface->resource.pool,
|
||||
src_surface->resource.format,
|
||||
|
@ -3703,7 +3701,7 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface,
|
|||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
if (!(Flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYSRCOVERRIDE))
|
||||
if (!(flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYSRCOVERRIDE))
|
||||
&& arbfp_blit.blit_supported(gl_info, BLIT_OP_BLIT,
|
||||
&src_rect, src_surface->resource.usage, src_surface->resource.pool,
|
||||
src_surface->resource.format,
|
||||
|
@ -3728,18 +3726,23 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface,
|
|||
* The surface keeps track of the color key last used to load the opengl surface.
|
||||
* PreLoad will catch the change to the flags and color key and reload if necessary.
|
||||
*/
|
||||
if(Flags & WINEDDBLT_KEYSRC) {
|
||||
if (flags & WINEDDBLT_KEYSRC)
|
||||
{
|
||||
/* Use color key from surface */
|
||||
} else if(Flags & WINEDDBLT_KEYSRCOVERRIDE) {
|
||||
}
|
||||
else if (flags & WINEDDBLT_KEYSRCOVERRIDE)
|
||||
{
|
||||
/* Use color key from DDBltFx */
|
||||
src_surface->CKeyFlags |= WINEDDSD_CKSRCBLT;
|
||||
src_surface->SrcBltCKey = DDBltFx->ddckSrcColorkey;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Do not use color key */
|
||||
src_surface->CKeyFlags &= ~WINEDDSD_CKSRCBLT;
|
||||
}
|
||||
|
||||
surface_blt_to_drawable(device, Filter, Flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYSRCOVERRIDE),
|
||||
surface_blt_to_drawable(device, Filter, flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYSRCOVERRIDE),
|
||||
src_surface, &src_rect, dst_surface, &dst_rect);
|
||||
|
||||
/* Restore the color key parameters */
|
||||
|
@ -3753,7 +3756,7 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface,
|
|||
else
|
||||
{
|
||||
/* Source-Less Blit to render target */
|
||||
if (Flags & WINEDDBLT_COLORFILL)
|
||||
if (flags & WINEDDBLT_COLORFILL)
|
||||
{
|
||||
WINED3DCOLORVALUE color;
|
||||
|
||||
|
@ -3773,12 +3776,12 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface,
|
|||
}
|
||||
|
||||
static HRESULT IWineD3DSurfaceImpl_BltZ(IWineD3DSurfaceImpl *This, const RECT *DestRect,
|
||||
IWineD3DSurface *src_surface, const RECT *src_rect, DWORD Flags, const WINEDDBLTFX *DDBltFx)
|
||||
IWineD3DSurface *src_surface, const RECT *src_rect, DWORD flags, const WINEDDBLTFX *DDBltFx)
|
||||
{
|
||||
IWineD3DDeviceImpl *device = This->resource.device;
|
||||
float depth;
|
||||
|
||||
if (Flags & WINEDDBLT_DEPTHFILL)
|
||||
if (flags & WINEDDBLT_DEPTHFILL)
|
||||
{
|
||||
switch (This->resource.format->id)
|
||||
{
|
||||
|
@ -3809,7 +3812,7 @@ static HRESULT IWineD3DSurfaceImpl_BltZ(IWineD3DSurfaceImpl *This, const RECT *D
|
|||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *DestRect,
|
||||
IWineD3DSurface *src_surface, const RECT *SrcRect, DWORD Flags,
|
||||
IWineD3DSurface *src_surface, const RECT *SrcRect, DWORD flags,
|
||||
const WINEDDBLTFX *DDBltFx, WINED3DTEXTUREFILTERTYPE Filter)
|
||||
{
|
||||
IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *)iface;
|
||||
|
@ -3818,7 +3821,7 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT
|
|||
|
||||
TRACE("iface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p, filter %s.\n",
|
||||
iface, wine_dbgstr_rect(DestRect), src_surface, wine_dbgstr_rect(SrcRect),
|
||||
Flags, DDBltFx, debug_d3dtexturefiltertype(Filter));
|
||||
flags, DDBltFx, debug_d3dtexturefiltertype(Filter));
|
||||
TRACE("Usage is %s.\n", debug_d3dusage(This->resource.usage));
|
||||
|
||||
if ((This->flags & SFLAG_LOCKED) || (src && (src->flags & SFLAG_LOCKED)))
|
||||
|
@ -3832,12 +3835,12 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT
|
|||
*/
|
||||
if (This == device->depth_stencil || (src && src == device->depth_stencil))
|
||||
{
|
||||
if (device->inScene && !(Flags & WINEDDBLT_DEPTHFILL))
|
||||
if (device->inScene && !(flags & WINEDDBLT_DEPTHFILL))
|
||||
{
|
||||
TRACE("Attempt to access the depth stencil surface in a BeginScene / EndScene pair, returning WINED3DERR_INVALIDCALL\n");
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
else if (SUCCEEDED(IWineD3DSurfaceImpl_BltZ(This, DestRect, src_surface, SrcRect, Flags, DDBltFx)))
|
||||
else if (SUCCEEDED(IWineD3DSurfaceImpl_BltZ(This, DestRect, src_surface, SrcRect, flags, DDBltFx)))
|
||||
{
|
||||
TRACE("Z Blit override handled the blit\n");
|
||||
return WINED3D_OK;
|
||||
|
@ -3848,14 +3851,14 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT
|
|||
if ((This->resource.usage & WINED3DUSAGE_RENDERTARGET)
|
||||
|| (src && (src->resource.usage & WINED3DUSAGE_RENDERTARGET)))
|
||||
{
|
||||
if (SUCCEEDED(IWineD3DSurfaceImpl_BltOverride(This, DestRect, src, SrcRect, Flags, DDBltFx, Filter)))
|
||||
if (SUCCEEDED(IWineD3DSurfaceImpl_BltOverride(This, DestRect, src, SrcRect, flags, DDBltFx, Filter)))
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
/* For the rest call the X11 surface implementation.
|
||||
* For RenderTargets this should be implemented OpenGL accelerated in BltOverride,
|
||||
* other Blts are rather rare. */
|
||||
return IWineD3DBaseSurfaceImpl_Blt(iface, DestRect, src_surface, SrcRect, Flags, DDBltFx, Filter);
|
||||
return IWineD3DBaseSurfaceImpl_Blt(iface, DestRect, src_surface, SrcRect, flags, DDBltFx, Filter);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DSurfaceImpl_BltFast(IWineD3DSurface *iface, DWORD dstx, DWORD dsty,
|
||||
|
@ -3886,7 +3889,7 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_BltFast(IWineD3DSurface *iface, DWORD
|
|||
{
|
||||
|
||||
RECT SrcRect, DstRect;
|
||||
DWORD Flags=0;
|
||||
DWORD flags = 0;
|
||||
|
||||
surface_get_rect(src, rsrc, &SrcRect);
|
||||
|
||||
|
@ -3896,17 +3899,17 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_BltFast(IWineD3DSurface *iface, DWORD
|
|||
DstRect.bottom = dsty + SrcRect.bottom - SrcRect.top;
|
||||
|
||||
/* Convert BltFast flags into Btl ones because it is called from SurfaceImpl_Blt as well */
|
||||
if(trans & WINEDDBLTFAST_SRCCOLORKEY)
|
||||
Flags |= WINEDDBLT_KEYSRC;
|
||||
if(trans & WINEDDBLTFAST_DESTCOLORKEY)
|
||||
Flags |= WINEDDBLT_KEYDEST;
|
||||
if(trans & WINEDDBLTFAST_WAIT)
|
||||
Flags |= WINEDDBLT_WAIT;
|
||||
if(trans & WINEDDBLTFAST_DONOTWAIT)
|
||||
Flags |= WINEDDBLT_DONOTWAIT;
|
||||
if (trans & WINEDDBLTFAST_SRCCOLORKEY)
|
||||
flags |= WINEDDBLT_KEYSRC;
|
||||
if (trans & WINEDDBLTFAST_DESTCOLORKEY)
|
||||
flags |= WINEDDBLT_KEYDEST;
|
||||
if (trans & WINEDDBLTFAST_WAIT)
|
||||
flags |= WINEDDBLT_WAIT;
|
||||
if (trans & WINEDDBLTFAST_DONOTWAIT)
|
||||
flags |= WINEDDBLT_DONOTWAIT;
|
||||
|
||||
if (SUCCEEDED(IWineD3DSurfaceImpl_BltOverride(This,
|
||||
&DstRect, src, &SrcRect, Flags, NULL, WINED3DTEXF_POINT)))
|
||||
&DstRect, src, &SrcRect, flags, NULL, WINED3DTEXF_POINT)))
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
* Copyright 2006-2008 Stefan Dösinger for CodeWeavers
|
||||
* Copyright 2007 Henri Verbeet
|
||||
* Copyright 2006-2007 Roderick Colenbrander
|
||||
* Copyright 2009 Henri Verbeet for CodeWeavers
|
||||
* Copyright 2009-2010 Henri Verbeet for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -111,11 +111,10 @@ ULONG WINAPI IWineD3DBaseSurfaceImpl_AddRef(IWineD3DSurface *iface) {
|
|||
return ref;
|
||||
}
|
||||
|
||||
/* ****************************************************
|
||||
IWineD3DSurface IWineD3DResource parts follow
|
||||
**************************************************** */
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetPrivateData(IWineD3DSurface *iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) {
|
||||
return resource_set_private_data((IWineD3DResource *)iface, refguid, pData, SizeOfData, Flags);
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetPrivateData(IWineD3DSurface *iface,
|
||||
REFGUID riid, const void *data, DWORD data_size, DWORD flags)
|
||||
{
|
||||
return resource_set_private_data((IWineD3DResource *)iface, riid, data, data_size, flags);
|
||||
}
|
||||
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetPrivateData(IWineD3DSurface *iface, REFGUID refguid, void* pData, DWORD* pSizeOfData) {
|
||||
|
@ -163,11 +162,11 @@ void WINAPI IWineD3DBaseSurfaceImpl_GetDesc(IWineD3DSurface *iface, WINED3DSURFA
|
|||
desc->height = surface->currentDesc.Height;
|
||||
}
|
||||
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetBltStatus(IWineD3DSurface *iface, DWORD Flags)
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetBltStatus(IWineD3DSurface *iface, DWORD flags)
|
||||
{
|
||||
TRACE("iface %p, flags %#x.\n", iface, Flags);
|
||||
TRACE("iface %p, flags %#x.\n", iface, flags);
|
||||
|
||||
switch (Flags)
|
||||
switch (flags)
|
||||
{
|
||||
case WINEDDGBS_CANBLT:
|
||||
case WINEDDGBS_ISBLTDONE:
|
||||
|
@ -178,11 +177,14 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetBltStatus(IWineD3DSurface *iface, DWOR
|
|||
}
|
||||
}
|
||||
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetFlipStatus(IWineD3DSurface *iface, DWORD Flags) {
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetFlipStatus(IWineD3DSurface *iface, DWORD flags)
|
||||
{
|
||||
/* XXX: DDERR_INVALIDSURFACETYPE */
|
||||
|
||||
TRACE("(%p)->(%08x)\n",iface,Flags);
|
||||
switch (Flags) {
|
||||
TRACE("iface %p, flags %#x.\n", iface, flags);
|
||||
|
||||
switch (flags)
|
||||
{
|
||||
case WINEDDGFS_CANFLIP:
|
||||
case WINEDDGFS_ISFLIPDONE:
|
||||
return WINED3D_OK;
|
||||
|
@ -235,20 +237,23 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetPalette(IWineD3DSurface *iface, IWineD
|
|||
else return WINED3D_OK;
|
||||
}
|
||||
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetColorKey(IWineD3DSurface *iface, DWORD Flags, const WINEDDCOLORKEY *CKey)
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetColorKey(IWineD3DSurface *iface, DWORD flags, const WINEDDCOLORKEY *CKey)
|
||||
{
|
||||
IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *) iface;
|
||||
TRACE("(%p)->(%08x,%p)\n", This, Flags, CKey);
|
||||
|
||||
if (Flags & WINEDDCKEY_COLORSPACE)
|
||||
TRACE("iface %p, flags %#x, color_key %p.\n", iface, flags, CKey);
|
||||
|
||||
if (flags & WINEDDCKEY_COLORSPACE)
|
||||
{
|
||||
FIXME(" colorkey value not supported (%08x) !\n", Flags);
|
||||
FIXME(" colorkey value not supported (%08x) !\n", flags);
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
/* Dirtify the surface, but only if a key was changed */
|
||||
if(CKey) {
|
||||
switch (Flags & ~WINEDDCKEY_COLORSPACE) {
|
||||
if (CKey)
|
||||
{
|
||||
switch (flags & ~WINEDDCKEY_COLORSPACE)
|
||||
{
|
||||
case WINEDDCKEY_DESTBLT:
|
||||
This->DestBltCKey = *CKey;
|
||||
This->CKeyFlags |= WINEDDSD_CKDESTBLT;
|
||||
|
@ -270,8 +275,10 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetColorKey(IWineD3DSurface *iface, DWORD
|
|||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
switch (Flags & ~WINEDDCKEY_COLORSPACE) {
|
||||
else
|
||||
{
|
||||
switch (flags & ~WINEDDCKEY_COLORSPACE)
|
||||
{
|
||||
case WINEDDCKEY_DESTBLT:
|
||||
This->CKeyFlags &= ~WINEDDSD_CKDESTBLT;
|
||||
break;
|
||||
|
@ -375,10 +382,11 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetOverlayPosition(IWineD3DSurface *iface
|
|||
return hr;
|
||||
}
|
||||
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_UpdateOverlayZOrder(IWineD3DSurface *iface, DWORD Flags, IWineD3DSurface *Ref) {
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_UpdateOverlayZOrder(IWineD3DSurface *iface, DWORD flags, IWineD3DSurface *Ref)
|
||||
{
|
||||
IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *) iface;
|
||||
|
||||
FIXME("iface %p, flags %#x, ref %p stub!\n", iface, Flags, Ref);
|
||||
FIXME("iface %p, flags %#x, ref %p stub!\n", iface, flags, Ref);
|
||||
|
||||
if(!(This->resource.usage & WINED3DUSAGE_OVERLAY))
|
||||
{
|
||||
|
@ -390,11 +398,13 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_UpdateOverlayZOrder(IWineD3DSurface *ifac
|
|||
}
|
||||
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_UpdateOverlay(IWineD3DSurface *iface, const RECT *SrcRect,
|
||||
IWineD3DSurface *DstSurface, const RECT *DstRect, DWORD Flags, const WINEDDOVERLAYFX *FX)
|
||||
IWineD3DSurface *DstSurface, const RECT *DstRect, DWORD flags, const WINEDDOVERLAYFX *FX)
|
||||
{
|
||||
IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *) iface;
|
||||
IWineD3DSurfaceImpl *Dst = (IWineD3DSurfaceImpl *) DstSurface;
|
||||
TRACE("(%p)->(%p, %p, %p, %08x, %p)\n", This, SrcRect, Dst, DstRect, Flags, FX);
|
||||
|
||||
TRACE("iface %p, src_rect %s, dst_surface %p, dst_rect %s, flags %#x, fx %p.\n",
|
||||
iface, wine_dbgstr_rect(SrcRect), DstSurface, wine_dbgstr_rect(DstRect), flags, FX);
|
||||
|
||||
if(!(This->resource.usage & WINED3DUSAGE_OVERLAY))
|
||||
{
|
||||
|
@ -423,16 +433,21 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_UpdateOverlay(IWineD3DSurface *iface, con
|
|||
This->overlay_destrect.bottom = Dst ? Dst->currentDesc.Height : 0;
|
||||
}
|
||||
|
||||
if(This->overlay_dest && (This->overlay_dest != Dst || Flags & WINEDDOVER_HIDE)) {
|
||||
if (This->overlay_dest && (This->overlay_dest != Dst || flags & WINEDDOVER_HIDE))
|
||||
{
|
||||
list_remove(&This->overlay_entry);
|
||||
}
|
||||
|
||||
if(Flags & WINEDDOVER_SHOW) {
|
||||
if(This->overlay_dest != Dst) {
|
||||
if (flags & WINEDDOVER_SHOW)
|
||||
{
|
||||
if (This->overlay_dest != Dst)
|
||||
{
|
||||
This->overlay_dest = Dst;
|
||||
list_add_tail(&Dst->overlays, &This->overlay_entry);
|
||||
}
|
||||
} else if(Flags & WINEDDOVER_HIDE) {
|
||||
}
|
||||
else if (flags & WINEDDOVER_HIDE)
|
||||
{
|
||||
/* tests show that the rectangles are erased on hide */
|
||||
This->overlay_srcrect.left = 0; This->overlay_srcrect.top = 0;
|
||||
This->overlay_srcrect.right = 0; This->overlay_srcrect.bottom = 0;
|
||||
|
@ -924,7 +939,7 @@ static HRESULT
|
|||
* SrcRect: Source rectangle
|
||||
*****************************************************************************/
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *DestRect, IWineD3DSurface *src_surface,
|
||||
const RECT *SrcRect, DWORD Flags, const WINEDDBLTFX *DDBltFx, WINED3DTEXTUREFILTERTYPE Filter)
|
||||
const RECT *SrcRect, DWORD flags, const WINEDDBLTFX *DDBltFx, WINED3DTEXTUREFILTERTYPE Filter)
|
||||
{
|
||||
IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *)iface;
|
||||
IWineD3DSurfaceImpl *src = (IWineD3DSurfaceImpl *)src_surface;
|
||||
|
@ -939,7 +954,7 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
|
||||
TRACE("iface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p, filter %s.\n",
|
||||
iface, wine_dbgstr_rect(DestRect), src_surface, wine_dbgstr_rect(SrcRect),
|
||||
Flags, DDBltFx, debug_d3dtexturefiltertype(Filter));
|
||||
flags, DDBltFx, debug_d3dtexturefiltertype(Filter));
|
||||
|
||||
if ((This->flags & SFLAG_LOCKED) || (src && (src->flags & SFLAG_LOCKED)))
|
||||
{
|
||||
|
@ -1030,7 +1045,7 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
if (clip_vert || clip_horiz)
|
||||
{
|
||||
/* Now check if this is a special case or not... */
|
||||
if ((Flags & WINEDDBLT_DDFX)
|
||||
if ((flags & WINEDDBLT_DDFX)
|
||||
|| (clip_horiz && xdst.right - xdst.left != xsrc.right - xsrc.left)
|
||||
|| (clip_vert && xdst.bottom - xdst.top != xsrc.bottom - xsrc.top))
|
||||
{
|
||||
|
@ -1123,7 +1138,7 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
IWineD3DSurface_Map(iface, &dlock, NULL, 0);
|
||||
}
|
||||
|
||||
if (!DDBltFx || !(DDBltFx->dwDDFX)) Flags &= ~WINEDDBLT_DDFX;
|
||||
if (!DDBltFx || !(DDBltFx->dwDDFX)) flags &= ~WINEDDBLT_DDFX;
|
||||
|
||||
if (sEntry->flags & dEntry->flags & WINED3DFMT_FLAG_FOURCC)
|
||||
{
|
||||
|
@ -1146,41 +1161,41 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
else
|
||||
dbuf = (BYTE*)dlock.pBits+(xdst.top*dlock.Pitch)+(xdst.left*bpp);
|
||||
|
||||
if (Flags & WINEDDBLT_WAIT)
|
||||
if (flags & WINEDDBLT_WAIT)
|
||||
{
|
||||
Flags &= ~WINEDDBLT_WAIT;
|
||||
flags &= ~WINEDDBLT_WAIT;
|
||||
}
|
||||
if (Flags & WINEDDBLT_ASYNC)
|
||||
if (flags & WINEDDBLT_ASYNC)
|
||||
{
|
||||
static BOOL displayed = FALSE;
|
||||
if (!displayed)
|
||||
FIXME("Can't handle WINEDDBLT_ASYNC flag right now.\n");
|
||||
displayed = TRUE;
|
||||
Flags &= ~WINEDDBLT_ASYNC;
|
||||
flags &= ~WINEDDBLT_ASYNC;
|
||||
}
|
||||
if (Flags & WINEDDBLT_DONOTWAIT)
|
||||
if (flags & WINEDDBLT_DONOTWAIT)
|
||||
{
|
||||
/* WINEDDBLT_DONOTWAIT appeared in DX7 */
|
||||
static BOOL displayed = FALSE;
|
||||
if (!displayed)
|
||||
FIXME("Can't handle WINEDDBLT_DONOTWAIT flag right now.\n");
|
||||
displayed = TRUE;
|
||||
Flags &= ~WINEDDBLT_DONOTWAIT;
|
||||
flags &= ~WINEDDBLT_DONOTWAIT;
|
||||
}
|
||||
|
||||
/* First, all the 'source-less' blits */
|
||||
if (Flags & WINEDDBLT_COLORFILL)
|
||||
if (flags & WINEDDBLT_COLORFILL)
|
||||
{
|
||||
ret = _Blt_ColorFill(dbuf, dstwidth, dstheight, bpp,
|
||||
dlock.Pitch, DDBltFx->u5.dwFillColor);
|
||||
Flags &= ~WINEDDBLT_COLORFILL;
|
||||
flags &= ~WINEDDBLT_COLORFILL;
|
||||
}
|
||||
|
||||
if (Flags & WINEDDBLT_DEPTHFILL)
|
||||
if (flags & WINEDDBLT_DEPTHFILL)
|
||||
{
|
||||
FIXME("DDBLT_DEPTHFILL needs to be implemented!\n");
|
||||
}
|
||||
if (Flags & WINEDDBLT_ROP)
|
||||
if (flags & WINEDDBLT_ROP)
|
||||
{
|
||||
/* Catch some degenerate cases here */
|
||||
switch(DDBltFx->dwROP)
|
||||
|
@ -1199,9 +1214,9 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
FIXME("Unsupported raster op: %08x Pattern: %p\n", DDBltFx->dwROP, DDBltFx->u5.lpDDSPattern);
|
||||
goto error;
|
||||
}
|
||||
Flags &= ~WINEDDBLT_ROP;
|
||||
flags &= ~WINEDDBLT_ROP;
|
||||
}
|
||||
if (Flags & WINEDDBLT_DDROPS)
|
||||
if (flags & WINEDDBLT_DDROPS)
|
||||
{
|
||||
FIXME("\tDdraw Raster Ops: %08x Pattern: %p\n", DDBltFx->dwDDROP, DDBltFx->u5.lpDDSPattern);
|
||||
}
|
||||
|
@ -1225,7 +1240,7 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
xinc = (srcwidth << 16) / dstwidth;
|
||||
yinc = (srcheight << 16) / dstheight;
|
||||
|
||||
if (!Flags)
|
||||
if (!flags)
|
||||
{
|
||||
/* No effects, we can cheat here */
|
||||
if (dstwidth == srcwidth)
|
||||
|
@ -1340,27 +1355,27 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
LONG dstyinc = dlock.Pitch, dstxinc = bpp;
|
||||
DWORD keylow = 0xFFFFFFFF, keyhigh = 0, keymask = 0xFFFFFFFF;
|
||||
DWORD destkeylow = 0x0, destkeyhigh = 0xFFFFFFFF, destkeymask = 0xFFFFFFFF;
|
||||
if (Flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYDEST | WINEDDBLT_KEYSRCOVERRIDE | WINEDDBLT_KEYDESTOVERRIDE))
|
||||
if (flags & (WINEDDBLT_KEYSRC | WINEDDBLT_KEYDEST | WINEDDBLT_KEYSRCOVERRIDE | WINEDDBLT_KEYDESTOVERRIDE))
|
||||
{
|
||||
/* The color keying flags are checked for correctness in ddraw */
|
||||
if (Flags & WINEDDBLT_KEYSRC)
|
||||
if (flags & WINEDDBLT_KEYSRC)
|
||||
{
|
||||
keylow = src->SrcBltCKey.dwColorSpaceLowValue;
|
||||
keyhigh = src->SrcBltCKey.dwColorSpaceHighValue;
|
||||
}
|
||||
else if (Flags & WINEDDBLT_KEYSRCOVERRIDE)
|
||||
else if (flags & WINEDDBLT_KEYSRCOVERRIDE)
|
||||
{
|
||||
keylow = DDBltFx->ddckSrcColorkey.dwColorSpaceLowValue;
|
||||
keyhigh = DDBltFx->ddckSrcColorkey.dwColorSpaceHighValue;
|
||||
}
|
||||
|
||||
if (Flags & WINEDDBLT_KEYDEST)
|
||||
if (flags & WINEDDBLT_KEYDEST)
|
||||
{
|
||||
/* Destination color keys are taken from the source surface ! */
|
||||
destkeylow = src->DestBltCKey.dwColorSpaceLowValue;
|
||||
destkeyhigh = src->DestBltCKey.dwColorSpaceHighValue;
|
||||
}
|
||||
else if (Flags & WINEDDBLT_KEYDESTOVERRIDE)
|
||||
else if (flags & WINEDDBLT_KEYDESTOVERRIDE)
|
||||
{
|
||||
destkeylow = DDBltFx->ddckDestColorkey.dwColorSpaceLowValue;
|
||||
destkeyhigh = DDBltFx->ddckDestColorkey.dwColorSpaceHighValue;
|
||||
|
@ -1376,10 +1391,10 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
| sEntry->green_mask
|
||||
| sEntry->blue_mask;
|
||||
}
|
||||
Flags &= ~(WINEDDBLT_KEYSRC | WINEDDBLT_KEYDEST | WINEDDBLT_KEYSRCOVERRIDE | WINEDDBLT_KEYDESTOVERRIDE);
|
||||
flags &= ~(WINEDDBLT_KEYSRC | WINEDDBLT_KEYDEST | WINEDDBLT_KEYSRCOVERRIDE | WINEDDBLT_KEYDESTOVERRIDE);
|
||||
}
|
||||
|
||||
if (Flags & WINEDDBLT_DDFX)
|
||||
if (flags & WINEDDBLT_DDFX)
|
||||
{
|
||||
LPBYTE dTopLeft, dTopRight, dBottomLeft, dBottomRight, tmp;
|
||||
LONG tmpxy;
|
||||
|
@ -1391,7 +1406,7 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
if (DDBltFx->dwDDFX & WINEDDBLTFX_ARITHSTRETCHY)
|
||||
{
|
||||
/* I don't think we need to do anything about this flag */
|
||||
WARN("Flags=DDBLT_DDFX nothing done for WINEDDBLTFX_ARITHSTRETCHY\n");
|
||||
WARN("flags=DDBLT_DDFX nothing done for WINEDDBLTFX_ARITHSTRETCHY\n");
|
||||
}
|
||||
if (DDBltFx->dwDDFX & WINEDDBLTFX_MIRRORLEFTRIGHT)
|
||||
{
|
||||
|
@ -1416,7 +1431,7 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
if (DDBltFx->dwDDFX & WINEDDBLTFX_NOTEARING)
|
||||
{
|
||||
/* I don't think we need to do anything about this flag */
|
||||
WARN("Flags=DDBLT_DDFX nothing done for WINEDDBLTFX_NOTEARING\n");
|
||||
WARN("flags=DDBLT_DDFX nothing done for WINEDDBLTFX_NOTEARING\n");
|
||||
}
|
||||
if (DDBltFx->dwDDFX & WINEDDBLTFX_ROTATE180)
|
||||
{
|
||||
|
@ -1456,10 +1471,10 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
if (DDBltFx->dwDDFX & WINEDDBLTFX_ZBUFFERBASEDEST)
|
||||
{
|
||||
/* I don't think we need to do anything about this flag */
|
||||
WARN("Flags=WINEDDBLT_DDFX nothing done for WINEDDBLTFX_ZBUFFERBASEDEST\n");
|
||||
WARN("flags=WINEDDBLT_DDFX nothing done for WINEDDBLTFX_ZBUFFERBASEDEST\n");
|
||||
}
|
||||
dbuf = dTopLeft;
|
||||
Flags &= ~(WINEDDBLT_DDFX);
|
||||
flags &= ~(WINEDDBLT_DDFX);
|
||||
}
|
||||
|
||||
#define COPY_COLORKEY_FX(type) { \
|
||||
|
@ -1513,7 +1528,7 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
}
|
||||
default:
|
||||
FIXME("%s color-keyed blit not implemented for bpp %d!\n",
|
||||
(Flags & WINEDDBLT_KEYSRC) ? "Source" : "Destination", bpp*8);
|
||||
(flags & WINEDDBLT_KEYSRC) ? "Source" : "Destination", bpp*8);
|
||||
ret = WINED3DERR_NOTAVAILABLE;
|
||||
goto error;
|
||||
#undef COPY_COLORKEY_FX
|
||||
|
@ -1522,9 +1537,9 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *D
|
|||
}
|
||||
|
||||
error:
|
||||
if (Flags && FIXME_ON(d3d_surface))
|
||||
if (flags && FIXME_ON(d3d_surface))
|
||||
{
|
||||
FIXME("\tUnsupported flags: %08x\n", Flags);
|
||||
FIXME("\tUnsupported flags: %#x.\n", flags);
|
||||
}
|
||||
|
||||
release:
|
||||
|
@ -1547,7 +1562,7 @@ release:
|
|||
* dsty:
|
||||
* src_surface: Source surface to copy from
|
||||
* rsrc: Source rectangle
|
||||
* trans: Some Flags
|
||||
* trans: Some flags
|
||||
*
|
||||
* Returns:
|
||||
* WINED3D_OK on success
|
||||
|
@ -1812,12 +1827,12 @@ error:
|
|||
}
|
||||
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_Map(IWineD3DSurface *iface,
|
||||
WINED3DLOCKED_RECT *pLockedRect, const RECT *pRect, DWORD Flags)
|
||||
WINED3DLOCKED_RECT *pLockedRect, const RECT *pRect, DWORD flags)
|
||||
{
|
||||
IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *)iface;
|
||||
|
||||
TRACE("(%p) : rect@%p flags(%08x), output lockedRect@%p, memory@%p\n",
|
||||
This, pRect, Flags, pLockedRect, This->resource.allocatedMemory);
|
||||
TRACE("iface %p, locked_rect %p, rect %s, flags %#x.\n",
|
||||
iface, pLockedRect, wine_dbgstr_rect(pRect), flags);
|
||||
|
||||
pLockedRect->Pitch = IWineD3DSurface_GetPitch(iface);
|
||||
|
||||
|
|
|
@ -110,7 +110,7 @@ static void WINAPI IWineGDISurfaceImpl_UnLoad(IWineD3DSurface *iface)
|
|||
}
|
||||
|
||||
static HRESULT WINAPI IWineGDISurfaceImpl_Map(IWineD3DSurface *iface,
|
||||
WINED3DLOCKED_RECT *pLockedRect, const RECT *pRect, DWORD Flags)
|
||||
WINED3DLOCKED_RECT *pLockedRect, const RECT *pRect, DWORD flags)
|
||||
{
|
||||
IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *)iface;
|
||||
|
||||
|
@ -131,7 +131,7 @@ static HRESULT WINAPI IWineGDISurfaceImpl_Map(IWineD3DSurface *iface,
|
|||
This->resource.allocatedMemory = This->dib.bitmap_data;
|
||||
}
|
||||
|
||||
return IWineD3DBaseSurfaceImpl_Map(iface, pLockedRect, pRect, Flags);
|
||||
return IWineD3DBaseSurfaceImpl_Map(iface, pLockedRect, pRect, flags);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineGDISurfaceImpl_Unmap(IWineD3DSurface *iface)
|
||||
|
@ -174,10 +174,7 @@ static HRESULT WINAPI IWineGDISurfaceImpl_Unmap(IWineD3DSurface *iface)
|
|||
* WINED3D_OK on success
|
||||
*
|
||||
*****************************************************************************/
|
||||
static HRESULT WINAPI
|
||||
IWineGDISurfaceImpl_Flip(IWineD3DSurface *iface,
|
||||
IWineD3DSurface *override,
|
||||
DWORD Flags)
|
||||
static HRESULT WINAPI IWineGDISurfaceImpl_Flip(IWineD3DSurface *iface, IWineD3DSurface *override, DWORD flags)
|
||||
{
|
||||
IWineD3DSurfaceImpl *surface = (IWineD3DSurfaceImpl *)iface;
|
||||
IWineD3DSwapChainImpl *swapchain;
|
||||
|
|
|
@ -220,7 +220,10 @@ static void swapchain_blit(IWineD3DSwapChainImpl *This, struct wined3d_context *
|
|||
}
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DSwapChainImpl_Present(IWineD3DSwapChain *iface, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion, DWORD dwFlags) {
|
||||
static HRESULT WINAPI IWineD3DSwapChainImpl_Present(IWineD3DSwapChain *iface,
|
||||
const RECT *pSourceRect, const RECT *pDestRect, HWND hDestWindowOverride,
|
||||
const RGNDATA *pDirtyRegion, DWORD flags)
|
||||
{
|
||||
IWineD3DSwapChainImpl *This = (IWineD3DSwapChainImpl *)iface;
|
||||
const struct wined3d_gl_info *gl_info;
|
||||
struct wined3d_context *context;
|
||||
|
|
|
@ -169,11 +169,14 @@ HRESULT WINAPI IWineD3DBaseSwapChainImpl_GetPresentParameters(IWineD3DSwapChain
|
|||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
HRESULT WINAPI IWineD3DBaseSwapChainImpl_SetGammaRamp(IWineD3DSwapChain *iface, DWORD Flags, CONST WINED3DGAMMARAMP *pRamp){
|
||||
|
||||
HRESULT WINAPI IWineD3DBaseSwapChainImpl_SetGammaRamp(IWineD3DSwapChain *iface,
|
||||
DWORD flags, const WINED3DGAMMARAMP *pRamp)
|
||||
{
|
||||
IWineD3DSwapChainImpl *This = (IWineD3DSwapChainImpl *)iface;
|
||||
HDC hDC;
|
||||
TRACE("(%p) : pRamp@%p flags(%d)\n", This, pRamp, Flags);
|
||||
|
||||
TRACE("iface %p, flags %#x, ramp %p.\n", iface, flags, pRamp);
|
||||
|
||||
hDC = GetDC(This->device_window);
|
||||
SetDeviceGammaRamp(hDC, (LPVOID)pRamp);
|
||||
ReleaseDC(This->device_window, hDC);
|
||||
|
|
|
@ -172,7 +172,10 @@ static HRESULT WINAPI IWineGDISwapChainImpl_SetDestWindowOverride(IWineD3DSwapCh
|
|||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineGDISwapChainImpl_Present(IWineD3DSwapChain *iface, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion, DWORD dwFlags) {
|
||||
static HRESULT WINAPI IWineGDISwapChainImpl_Present(IWineD3DSwapChain *iface,
|
||||
const RECT *pSourceRect, const RECT *pDestRect, HWND hDestWindowOverride,
|
||||
const RGNDATA *pDirtyRegion, DWORD flags)
|
||||
{
|
||||
IWineD3DSwapChainImpl *This = (IWineD3DSwapChainImpl *) iface;
|
||||
IWineD3DSurfaceImpl *front, *back;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* Copyright 2002-2005 Raphael Junqueira
|
||||
* Copyright 2005 Oliver Stieber
|
||||
* Copyright 2007-2008 Stefan Dösinger for CodeWeavers
|
||||
* Copyright 2009 Henri Verbeet for CodeWeavers
|
||||
* Copyright 2009-2010 Henri Verbeet for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -175,8 +175,10 @@ static ULONG WINAPI IWineD3DTextureImpl_Release(IWineD3DTexture *iface) {
|
|||
/* ****************************************************
|
||||
IWineD3DTexture IWineD3DResource parts follow
|
||||
**************************************************** */
|
||||
static HRESULT WINAPI IWineD3DTextureImpl_SetPrivateData(IWineD3DTexture *iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) {
|
||||
return resource_set_private_data((IWineD3DResource *)iface, refguid, pData, SizeOfData, Flags);
|
||||
static HRESULT WINAPI IWineD3DTextureImpl_SetPrivateData(IWineD3DTexture *iface,
|
||||
REFGUID riid, const void *data, DWORD data_size, DWORD flags)
|
||||
{
|
||||
return resource_set_private_data((IWineD3DResource *)iface, riid, data, data_size, flags);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DTextureImpl_GetPrivateData(IWineD3DTexture *iface, REFGUID refguid, void* pData, DWORD* pSizeOfData) {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* Copyright 2002-2005 Jason Edmeades
|
||||
* Copyright 2002-2005 Raphael Junqueira
|
||||
* Copyright 2005 Oliver Stieber
|
||||
* Copyright 2009 Henri Verbeet for CodeWeavers
|
||||
* Copyright 2009-2010 Henri Verbeet for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -149,8 +149,10 @@ static void * WINAPI IWineD3DVolumeImpl_GetParent(IWineD3DVolume *iface)
|
|||
return ((IWineD3DVolumeImpl *)iface)->resource.parent;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DVolumeImpl_SetPrivateData(IWineD3DVolume *iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) {
|
||||
return resource_set_private_data((IWineD3DResource *)iface, refguid, pData, SizeOfData, Flags);
|
||||
static HRESULT WINAPI IWineD3DVolumeImpl_SetPrivateData(IWineD3DVolume *iface,
|
||||
REFGUID riid, const void *data, DWORD data_size, DWORD flags)
|
||||
{
|
||||
return resource_set_private_data((IWineD3DResource *)iface, riid, data, data_size, flags);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DVolumeImpl_GetPrivateData(IWineD3DVolume *iface, REFGUID refguid, void* pData, DWORD* pSizeOfData) {
|
||||
|
@ -206,7 +208,7 @@ static void WINAPI IWineD3DVolumeImpl_GetDesc(IWineD3DVolume *iface, WINED3DVOLU
|
|||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DVolumeImpl_Map(IWineD3DVolume *iface,
|
||||
WINED3DLOCKED_BOX *pLockedVolume, const WINED3DBOX *pBox, DWORD Flags)
|
||||
WINED3DLOCKED_BOX *pLockedVolume, const WINED3DBOX *pBox, DWORD flags)
|
||||
{
|
||||
IWineD3DVolumeImpl *This = (IWineD3DVolumeImpl *)iface;
|
||||
FIXME("(%p) : pBox=%p stub\n", This, pBox);
|
||||
|
@ -244,10 +246,7 @@ static HRESULT WINAPI IWineD3DVolumeImpl_Map(IWineD3DVolume *iface,
|
|||
This->lockedBox.Back = pBox->Back;
|
||||
}
|
||||
|
||||
if (Flags & (WINED3DLOCK_NO_DIRTY_UPDATE | WINED3DLOCK_READONLY)) {
|
||||
/* Don't dirtify */
|
||||
}
|
||||
else
|
||||
if (!(flags & (WINED3DLOCK_NO_DIRTY_UPDATE | WINED3DLOCK_READONLY)))
|
||||
{
|
||||
volume_add_dirty_box(iface, &This->lockedBox);
|
||||
This->container->baseTexture.texture_rgb.dirty = TRUE;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* Copyright 2002-2005 Jason Edmeades
|
||||
* Copyright 2002-2005 Raphael Junqueira
|
||||
* Copyright 2005 Oliver Stieber
|
||||
* Copyright 2009 Henri Verbeet for CodeWeavers
|
||||
* Copyright 2009-2010 Henri Verbeet for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -143,8 +143,10 @@ static ULONG WINAPI IWineD3DVolumeTextureImpl_Release(IWineD3DVolumeTexture *ifa
|
|||
/* ****************************************************
|
||||
IWineD3DVolumeTexture IWineD3DResource parts follow
|
||||
**************************************************** */
|
||||
static HRESULT WINAPI IWineD3DVolumeTextureImpl_SetPrivateData(IWineD3DVolumeTexture *iface, REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) {
|
||||
return resource_set_private_data((IWineD3DResource *)iface, refguid, pData, SizeOfData, Flags);
|
||||
static HRESULT WINAPI IWineD3DVolumeTextureImpl_SetPrivateData(IWineD3DVolumeTexture *iface,
|
||||
REFGUID riid, const void *data, DWORD data_size, DWORD flags)
|
||||
{
|
||||
return resource_set_private_data((IWineD3DResource *)iface, riid, data, data_size, flags);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IWineD3DVolumeTextureImpl_GetPrivateData(IWineD3DVolumeTexture *iface, REFGUID refguid, void* pData, DWORD* pSizeOfData) {
|
||||
|
|
|
@ -2189,7 +2189,7 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_QueryInterface(IWineD3DSurface *iface,
|
|||
ULONG WINAPI IWineD3DBaseSurfaceImpl_AddRef(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
|
||||
void * WINAPI IWineD3DBaseSurfaceImpl_GetParent(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetPrivateData(IWineD3DSurface *iface,
|
||||
REFGUID refguid, const void *pData, DWORD SizeOfData, DWORD Flags) DECLSPEC_HIDDEN;
|
||||
REFGUID refguid, const void *pData, DWORD SizeOfData, DWORD flags) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetPrivateData(IWineD3DSurface *iface,
|
||||
REFGUID refguid, void *pData, DWORD *pSizeOfData) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_FreePrivateData(IWineD3DSurface *iface, REFGUID refguid) DECLSPEC_HIDDEN;
|
||||
|
@ -2197,21 +2197,21 @@ DWORD WINAPI IWineD3DBaseSurfaceImpl_SetPriority(IWineD3DSurface *iface, DWORD P
|
|||
DWORD WINAPI IWineD3DBaseSurfaceImpl_GetPriority(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
|
||||
WINED3DRESOURCETYPE WINAPI IWineD3DBaseSurfaceImpl_GetType(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
|
||||
void WINAPI IWineD3DBaseSurfaceImpl_GetDesc(IWineD3DSurface *iface, WINED3DSURFACE_DESC *desc) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetBltStatus(IWineD3DSurface *iface, DWORD Flags) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetFlipStatus(IWineD3DSurface *iface, DWORD Flags) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetBltStatus(IWineD3DSurface *iface, DWORD flags) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetFlipStatus(IWineD3DSurface *iface, DWORD flags) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_IsLost(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_Restore(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetPalette(IWineD3DSurface *iface, IWineD3DPalette **Pal) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetPalette(IWineD3DSurface *iface, IWineD3DPalette *Pal) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetColorKey(IWineD3DSurface *iface,
|
||||
DWORD Flags, const WINEDDCOLORKEY *CKey) DECLSPEC_HIDDEN;
|
||||
DWORD flags, const WINEDDCOLORKEY *CKey) DECLSPEC_HIDDEN;
|
||||
DWORD WINAPI IWineD3DBaseSurfaceImpl_GetPitch(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetOverlayPosition(IWineD3DSurface *iface, LONG X, LONG Y) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetOverlayPosition(IWineD3DSurface *iface, LONG *X, LONG *Y) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_UpdateOverlayZOrder(IWineD3DSurface *iface,
|
||||
DWORD Flags, IWineD3DSurface *Ref) DECLSPEC_HIDDEN;
|
||||
DWORD flags, IWineD3DSurface *Ref) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_UpdateOverlay(IWineD3DSurface *iface, const RECT *SrcRect,
|
||||
IWineD3DSurface *DstSurface, const RECT *DstRect, DWORD Flags, const WINEDDOVERLAYFX *FX) DECLSPEC_HIDDEN;
|
||||
IWineD3DSurface *DstSurface, const RECT *DstRect, DWORD flags, const WINEDDOVERLAYFX *FX) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetClipper(IWineD3DSurface *iface, IWineD3DClipper *clipper) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_GetClipper(IWineD3DSurface *iface, IWineD3DClipper **clipper) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_SetFormat(IWineD3DSurface *iface,
|
||||
|
@ -2222,7 +2222,7 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_Blt(IWineD3DSurface *iface, const RECT *d
|
|||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_BltFast(IWineD3DSurface *iface, DWORD dstx, DWORD dsty,
|
||||
IWineD3DSurface *Source, const RECT *rsrc, DWORD trans) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSurfaceImpl_Map(IWineD3DSurface *iface, WINED3DLOCKED_RECT *pLockedRect,
|
||||
const RECT *pRect, DWORD Flags) DECLSPEC_HIDDEN;
|
||||
const RECT *pRect, DWORD flags) DECLSPEC_HIDDEN;
|
||||
const void *WINAPI IWineD3DBaseSurfaceImpl_GetData(IWineD3DSurface *iface) DECLSPEC_HIDDEN;
|
||||
|
||||
void get_drawable_size_swapchain(struct wined3d_context *context, UINT *width, UINT *height) DECLSPEC_HIDDEN;
|
||||
|
@ -2634,7 +2634,7 @@ HRESULT WINAPI IWineD3DBaseSwapChainImpl_GetDevice(IWineD3DSwapChain *iface,
|
|||
HRESULT WINAPI IWineD3DBaseSwapChainImpl_GetPresentParameters(IWineD3DSwapChain *iface,
|
||||
WINED3DPRESENT_PARAMETERS *pPresentationParameters) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSwapChainImpl_SetGammaRamp(IWineD3DSwapChain *iface,
|
||||
DWORD Flags, const WINED3DGAMMARAMP *pRamp) DECLSPEC_HIDDEN;
|
||||
DWORD flags, const WINED3DGAMMARAMP *pRamp) DECLSPEC_HIDDEN;
|
||||
HRESULT WINAPI IWineD3DBaseSwapChainImpl_GetGammaRamp(IWineD3DSwapChain *iface,
|
||||
WINED3DGAMMARAMP *pRamp) DECLSPEC_HIDDEN;
|
||||
|
||||
|
|
Loading…
Reference in New Issue