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