diff options
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r-- | src/gallium/state_trackers/nine/iunknown.c | 1 | ||||
-rw-r--r-- | src/gallium/state_trackers/nine/iunknown.h | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/nine/iunknown.c b/src/gallium/state_trackers/nine/iunknown.c index 515ceaa263f..58ed9dc73a1 100644 --- a/src/gallium/state_trackers/nine/iunknown.c +++ b/src/gallium/state_trackers/nine/iunknown.c @@ -39,6 +39,7 @@ NineUnknown_ctor( struct NineUnknown *This, NineUnknown_AddRef(NineUnknown(This->device)); This->vtable = pParams->vtable; + This->vtable_internal = pParams->vtable; This->guids = pParams->guids; This->dtor = pParams->dtor; diff --git a/src/gallium/state_trackers/nine/iunknown.h b/src/gallium/state_trackers/nine/iunknown.h index b8de6be9663..bcd0b8bce9d 100644 --- a/src/gallium/state_trackers/nine/iunknown.h +++ b/src/gallium/state_trackers/nine/iunknown.h @@ -39,8 +39,10 @@ struct NineDevice9; struct NineUnknown { - /* pointer to vtable */ + /* pointer to vtable (can be overriden outside gallium nine) */ void *vtable; + /* pointer to internal vtable */ + void *vtable_internal; int32_t refs; /* external reference count */ int32_t bind; /* internal bind count */ |