1 /* 2 * Copyright 2011 Joakim Sindholt <[email protected]> 3 * SPDX-License-Identifier: MIT 4 */ 5 6 #ifndef _NINE_RESOURCE9_H_ 7 #define _NINE_RESOURCE9_H_ 8 9 #include "iunknown.h" 10 #include "pipe/p_state.h" 11 12 struct pipe_screen; 13 struct hash_table; 14 struct NineDevice9; 15 16 struct NineResource9 17 { 18 struct NineUnknown base; 19 20 struct pipe_resource *resource; /* device resource */ 21 22 D3DRESOURCETYPE type; 23 D3DPOOL pool; 24 DWORD priority; 25 DWORD usage; 26 27 struct pipe_resource info; /* resource configuration */ 28 29 long long size; 30 }; 31 static inline struct NineResource9 * NineResource9(void * data)32NineResource9( void *data ) 33 { 34 return (struct NineResource9 *)data; 35 } 36 37 HRESULT 38 NineResource9_ctor( struct NineResource9 *This, 39 struct NineUnknownParams *pParams, 40 struct pipe_resource *initResource, 41 BOOL Allocate, 42 D3DRESOURCETYPE Type, 43 D3DPOOL Pool, 44 DWORD Usage); 45 46 void 47 NineResource9_dtor( struct NineResource9 *This ); 48 49 /*** Nine private methods ***/ 50 51 struct pipe_resource * 52 NineResource9_GetResource( struct NineResource9 *This ); 53 54 D3DPOOL 55 NineResource9_GetPool( struct NineResource9 *This ); 56 57 /*** Direct3D public methods ***/ 58 59 DWORD NINE_WINAPI 60 NineResource9_SetPriority( struct NineResource9 *This, 61 DWORD PriorityNew ); 62 63 DWORD NINE_WINAPI 64 NineResource9_GetPriority( struct NineResource9 *This ); 65 66 void NINE_WINAPI 67 NineResource9_PreLoad( struct NineResource9 *This ); 68 69 D3DRESOURCETYPE NINE_WINAPI 70 NineResource9_GetType( struct NineResource9 *This ); 71 72 #endif /* _NINE_RESOURCE9_H_ */ 73