xref: /aosp_15_r20/external/mesa3d/src/gallium/frontends/nine/stateblock9.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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_STATEBLOCK9_H_
7*61046927SAndroid Build Coastguard Worker #define _NINE_STATEBLOCK9_H_
8*61046927SAndroid Build Coastguard Worker 
9*61046927SAndroid Build Coastguard Worker #include "iunknown.h"
10*61046927SAndroid Build Coastguard Worker 
11*61046927SAndroid Build Coastguard Worker #include "nine_state.h"
12*61046927SAndroid Build Coastguard Worker 
13*61046927SAndroid Build Coastguard Worker enum nine_stateblock_type
14*61046927SAndroid Build Coastguard Worker {
15*61046927SAndroid Build Coastguard Worker    NINESBT_ALL,
16*61046927SAndroid Build Coastguard Worker    NINESBT_VERTEXSTATE,
17*61046927SAndroid Build Coastguard Worker    NINESBT_PIXELSTATE,
18*61046927SAndroid Build Coastguard Worker    NINESBT_CUSTOM
19*61046927SAndroid Build Coastguard Worker };
20*61046927SAndroid Build Coastguard Worker 
21*61046927SAndroid Build Coastguard Worker struct NineStateBlock9
22*61046927SAndroid Build Coastguard Worker {
23*61046927SAndroid Build Coastguard Worker     struct NineUnknown base;
24*61046927SAndroid Build Coastguard Worker 
25*61046927SAndroid Build Coastguard Worker     struct nine_state state;
26*61046927SAndroid Build Coastguard Worker 
27*61046927SAndroid Build Coastguard Worker     enum nine_stateblock_type type;
28*61046927SAndroid Build Coastguard Worker };
29*61046927SAndroid Build Coastguard Worker static inline struct NineStateBlock9 *
NineStateBlock9(void * data)30*61046927SAndroid Build Coastguard Worker NineStateBlock9( void *data )
31*61046927SAndroid Build Coastguard Worker {
32*61046927SAndroid Build Coastguard Worker     return (struct NineStateBlock9 *)data;
33*61046927SAndroid Build Coastguard Worker }
34*61046927SAndroid Build Coastguard Worker 
35*61046927SAndroid Build Coastguard Worker HRESULT
36*61046927SAndroid Build Coastguard Worker NineStateBlock9_new( struct NineDevice9 *,
37*61046927SAndroid Build Coastguard Worker                      struct NineStateBlock9 **ppOut,
38*61046927SAndroid Build Coastguard Worker                      enum nine_stateblock_type);
39*61046927SAndroid Build Coastguard Worker 
40*61046927SAndroid Build Coastguard Worker HRESULT
41*61046927SAndroid Build Coastguard Worker NineStateBlock9_ctor( struct NineStateBlock9 *,
42*61046927SAndroid Build Coastguard Worker                       struct NineUnknownParams *pParams,
43*61046927SAndroid Build Coastguard Worker                       enum nine_stateblock_type type );
44*61046927SAndroid Build Coastguard Worker 
45*61046927SAndroid Build Coastguard Worker void
46*61046927SAndroid Build Coastguard Worker NineStateBlock9_dtor( struct NineStateBlock9 * );
47*61046927SAndroid Build Coastguard Worker 
48*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
49*61046927SAndroid Build Coastguard Worker NineStateBlock9_Capture( struct NineStateBlock9 *This );
50*61046927SAndroid Build Coastguard Worker 
51*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
52*61046927SAndroid Build Coastguard Worker NineStateBlock9_Apply( struct NineStateBlock9 *This );
53*61046927SAndroid Build Coastguard Worker 
54*61046927SAndroid Build Coastguard Worker #endif /* _NINE_STATEBLOCK9_H_ */
55