Kjell Rune Skaaraas : wined3d: Implement IWineD3DResourceImpl_GetPriority and IWineD3DResourceImpl_SetPriority for resource management .
Alexandre Julliard
julliard at winehq.org
Wed Oct 8 08:33:12 CDT 2008
Module: wine
Branch: master
Commit: ed96dd72e3c8b1a409dc00d46c9f86a1edaa1437
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ed96dd72e3c8b1a409dc00d46c9f86a1edaa1437
Author: Kjell Rune Skaaraas <kjellrs at sirius.lan>
Date: Mon Sep 29 19:52:18 2008 +0200
wined3d: Implement IWineD3DResourceImpl_GetPriority and IWineD3DResourceImpl_SetPriority for resource management.
---
dlls/wined3d/device.c | 1 +
dlls/wined3d/resource.c | 12 +++++++-----
dlls/wined3d/wined3d_private.h | 1 +
3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index b5bc82f..79c9f68 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -90,6 +90,7 @@ static void WINAPI IWineD3DDeviceImpl_AddResource(IWineD3DDevice *iface, IWineD3
object->resource.format = Format; \
object->resource.usage = Usage; \
object->resource.size = _size; \
+ object->resource.priority = 0; \
list_init(&object->resource.privateData); \
/* Check that we have enough video ram left */ \
if (Pool == WINED3DPOOL_DEFAULT) { \
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
index 17e540b..c75e09d 100644
--- a/dlls/wined3d/resource.c
+++ b/dlls/wined3d/resource.c
@@ -217,16 +217,18 @@ HRESULT WINAPI IWineD3DResourceImpl_FreePrivateData(IWineD3DResource *iface, REF
return WINED3D_OK;
}
-/* Priority support is not implemented yet */
DWORD WINAPI IWineD3DResourceImpl_SetPriority(IWineD3DResource *iface, DWORD PriorityNew) {
IWineD3DResourceImpl *This = (IWineD3DResourceImpl *)iface;
- FIXME("(%p) : stub\n", This);
- return 0;
+ DWORD PriorityOld = This->resource.priority;
+ This->resource.priority = PriorityNew;
+ TRACE("(%p) : new priority %d, returning old priority %d\n", This, PriorityNew, PriorityOld );
+ return PriorityOld;
}
+
DWORD WINAPI IWineD3DResourceImpl_GetPriority(IWineD3DResource *iface) {
IWineD3DResourceImpl *This = (IWineD3DResourceImpl *)iface;
- FIXME("(%p) : stub\n", This);
- return 0;
+ TRACE("(%p) : returning %d\n", This, This->resource.priority );
+ return This->resource.priority;
}
/* Preloading of resources is not supported yet */
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index d4c6273..bc6a1cb 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1096,6 +1096,7 @@ typedef struct IWineD3DResourceClass
UINT size;
DWORD usage;
WINED3DFORMAT format;
+ DWORD priority;
BYTE *allocatedMemory; /* Pointer to the real data location */
BYTE *heapMemory; /* Pointer to the HeapAlloced block of memory */
struct list privateData;
More information about the wine-cvs
mailing list