xref: /aosp_15_r20/external/mesa3d/src/gallium/frontends/nine/device9.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_DEVICE9_H_
7*61046927SAndroid Build Coastguard Worker #define _NINE_DEVICE9_H_
8*61046927SAndroid Build Coastguard Worker 
9*61046927SAndroid Build Coastguard Worker #include "d3dadapter/d3dadapter9.h"
10*61046927SAndroid Build Coastguard Worker 
11*61046927SAndroid Build Coastguard Worker #include "iunknown.h"
12*61046927SAndroid Build Coastguard Worker #include "adapter9.h"
13*61046927SAndroid Build Coastguard Worker 
14*61046927SAndroid Build Coastguard Worker #include "nine_helpers.h"
15*61046927SAndroid Build Coastguard Worker #include "nine_memory_helper.h"
16*61046927SAndroid Build Coastguard Worker #include "nine_state.h"
17*61046927SAndroid Build Coastguard Worker 
18*61046927SAndroid Build Coastguard Worker struct gen_mipmap_state;
19*61046927SAndroid Build Coastguard Worker struct hash_table;
20*61046927SAndroid Build Coastguard Worker struct pipe_screen;
21*61046927SAndroid Build Coastguard Worker struct pipe_context;
22*61046927SAndroid Build Coastguard Worker struct cso_context;
23*61046927SAndroid Build Coastguard Worker struct hud_context;
24*61046927SAndroid Build Coastguard Worker struct u_upload_mgr;
25*61046927SAndroid Build Coastguard Worker struct csmt_context;
26*61046927SAndroid Build Coastguard Worker 
27*61046927SAndroid Build Coastguard Worker struct NineSwapChain9;
28*61046927SAndroid Build Coastguard Worker struct NineStateBlock9;
29*61046927SAndroid Build Coastguard Worker 
30*61046927SAndroid Build Coastguard Worker #include "util/list.h"
31*61046927SAndroid Build Coastguard Worker 
32*61046927SAndroid Build Coastguard Worker struct NineDevice9
33*61046927SAndroid Build Coastguard Worker {
34*61046927SAndroid Build Coastguard Worker     struct NineUnknown base;
35*61046927SAndroid Build Coastguard Worker     bool ex;
36*61046927SAndroid Build Coastguard Worker     bool may_swvp;
37*61046927SAndroid Build Coastguard Worker 
38*61046927SAndroid Build Coastguard Worker     /* G3D context */
39*61046927SAndroid Build Coastguard Worker     struct pipe_screen *screen;
40*61046927SAndroid Build Coastguard Worker     /* For first time upload. No Sync with rendering thread */
41*61046927SAndroid Build Coastguard Worker     struct pipe_context *pipe_secondary;
42*61046927SAndroid Build Coastguard Worker     struct pipe_screen *screen_sw;
43*61046927SAndroid Build Coastguard Worker     struct pipe_context *pipe_sw;
44*61046927SAndroid Build Coastguard Worker     struct cso_context *cso_sw;
45*61046927SAndroid Build Coastguard Worker 
46*61046927SAndroid Build Coastguard Worker     /* CSMT context */
47*61046927SAndroid Build Coastguard Worker     struct csmt_context *csmt_ctx;
48*61046927SAndroid Build Coastguard Worker     BOOL csmt_active;
49*61046927SAndroid Build Coastguard Worker 
50*61046927SAndroid Build Coastguard Worker     /* For DISCARD/NOOVERWRITE */
51*61046927SAndroid Build Coastguard Worker     struct nine_buffer_upload *buffer_upload;
52*61046927SAndroid Build Coastguard Worker 
53*61046927SAndroid Build Coastguard Worker     /* creation parameters */
54*61046927SAndroid Build Coastguard Worker     D3DCAPS9 caps;
55*61046927SAndroid Build Coastguard Worker     D3DDEVICE_CREATION_PARAMETERS params;
56*61046927SAndroid Build Coastguard Worker     IDirect3D9 *d3d9;
57*61046927SAndroid Build Coastguard Worker 
58*61046927SAndroid Build Coastguard Worker     /* swapchain stuff */
59*61046927SAndroid Build Coastguard Worker     ID3DPresentGroup *present;
60*61046927SAndroid Build Coastguard Worker     struct NineSwapChain9 **swapchains;
61*61046927SAndroid Build Coastguard Worker     unsigned nswapchains;
62*61046927SAndroid Build Coastguard Worker 
63*61046927SAndroid Build Coastguard Worker     struct NineStateBlock9 *record;
64*61046927SAndroid Build Coastguard Worker     struct nine_state *update; /* state to update (&state / &record->state) */
65*61046927SAndroid Build Coastguard Worker     struct nine_state state;   /* device state */
66*61046927SAndroid Build Coastguard Worker     struct nine_context context;
67*61046927SAndroid Build Coastguard Worker     struct nine_state_sw_internal state_sw_internal;
68*61046927SAndroid Build Coastguard Worker 
69*61046927SAndroid Build Coastguard Worker     struct list_head update_buffers;
70*61046927SAndroid Build Coastguard Worker     struct list_head update_textures;
71*61046927SAndroid Build Coastguard Worker     struct list_head managed_buffers;
72*61046927SAndroid Build Coastguard Worker     struct list_head managed_textures;
73*61046927SAndroid Build Coastguard Worker 
74*61046927SAndroid Build Coastguard Worker     bool is_recording;
75*61046927SAndroid Build Coastguard Worker     bool in_scene;
76*61046927SAndroid Build Coastguard Worker     unsigned end_scene_since_present;
77*61046927SAndroid Build Coastguard Worker 
78*61046927SAndroid Build Coastguard Worker     uint16_t vs_const_size;
79*61046927SAndroid Build Coastguard Worker     uint16_t ps_const_size;
80*61046927SAndroid Build Coastguard Worker     uint16_t max_vs_const_f;
81*61046927SAndroid Build Coastguard Worker 
82*61046927SAndroid Build Coastguard Worker     struct pipe_resource *dummy_texture;
83*61046927SAndroid Build Coastguard Worker     struct pipe_sampler_view *dummy_sampler_view;
84*61046927SAndroid Build Coastguard Worker     struct pipe_sampler_state dummy_sampler_state;
85*61046927SAndroid Build Coastguard Worker 
86*61046927SAndroid Build Coastguard Worker     struct gen_mipmap_state *gen_mipmap;
87*61046927SAndroid Build Coastguard Worker 
88*61046927SAndroid Build Coastguard Worker     struct {
89*61046927SAndroid Build Coastguard Worker         struct hash_table *ht_vs;
90*61046927SAndroid Build Coastguard Worker         struct hash_table *ht_ps;
91*61046927SAndroid Build Coastguard Worker         struct NineVertexShader9 *vs;
92*61046927SAndroid Build Coastguard Worker         struct NinePixelShader9 *ps;
93*61046927SAndroid Build Coastguard Worker         unsigned num_vs;
94*61046927SAndroid Build Coastguard Worker         unsigned num_ps;
95*61046927SAndroid Build Coastguard Worker         float *vs_const;
96*61046927SAndroid Build Coastguard Worker         float *ps_const;
97*61046927SAndroid Build Coastguard Worker 
98*61046927SAndroid Build Coastguard Worker         struct hash_table *ht_fvf;
99*61046927SAndroid Build Coastguard Worker     } ff;
100*61046927SAndroid Build Coastguard Worker 
101*61046927SAndroid Build Coastguard Worker     struct {
102*61046927SAndroid Build Coastguard Worker         struct pipe_resource *image;
103*61046927SAndroid Build Coastguard Worker         unsigned w;
104*61046927SAndroid Build Coastguard Worker         unsigned h;
105*61046927SAndroid Build Coastguard Worker         POINT hotspot; /* -1, -1 if no cursor image set */
106*61046927SAndroid Build Coastguard Worker         POINT pos;
107*61046927SAndroid Build Coastguard Worker         BOOL visible;
108*61046927SAndroid Build Coastguard Worker         bool software;
109*61046927SAndroid Build Coastguard Worker         void *hw_upload_temp;
110*61046927SAndroid Build Coastguard Worker     } cursor;
111*61046927SAndroid Build Coastguard Worker 
112*61046927SAndroid Build Coastguard Worker     struct {
113*61046927SAndroid Build Coastguard Worker         bool user_sw_vbufs;
114*61046927SAndroid Build Coastguard Worker         bool window_space_position_support;
115*61046927SAndroid Build Coastguard Worker         bool disabling_depth_clipping_support;
116*61046927SAndroid Build Coastguard Worker         bool vs_integer;
117*61046927SAndroid Build Coastguard Worker         bool ps_integer;
118*61046927SAndroid Build Coastguard Worker         bool offset_units_unscaled;
119*61046927SAndroid Build Coastguard Worker         bool alpha_test_emulation;
120*61046927SAndroid Build Coastguard Worker         bool always_output_pointsize;
121*61046927SAndroid Build Coastguard Worker         bool emulate_ucp;
122*61046927SAndroid Build Coastguard Worker         bool shader_emulate_features;
123*61046927SAndroid Build Coastguard Worker     } driver_caps;
124*61046927SAndroid Build Coastguard Worker 
125*61046927SAndroid Build Coastguard Worker     struct {
126*61046927SAndroid Build Coastguard Worker         bool buggy_barycentrics;
127*61046927SAndroid Build Coastguard Worker     } driver_bugs;
128*61046927SAndroid Build Coastguard Worker 
129*61046927SAndroid Build Coastguard Worker     struct {
130*61046927SAndroid Build Coastguard Worker         bool dynamic_texture_workaround;
131*61046927SAndroid Build Coastguard Worker     } workarounds;
132*61046927SAndroid Build Coastguard Worker 
133*61046927SAndroid Build Coastguard Worker     struct u_upload_mgr *vertex_uploader;
134*61046927SAndroid Build Coastguard Worker 
135*61046927SAndroid Build Coastguard Worker     struct nine_range_pool range_pool;
136*61046927SAndroid Build Coastguard Worker 
137*61046927SAndroid Build Coastguard Worker     struct hud_context *hud; /* NULL if hud is disabled */
138*61046927SAndroid Build Coastguard Worker 
139*61046927SAndroid Build Coastguard Worker     struct nine_allocator *allocator;
140*61046927SAndroid Build Coastguard Worker 
141*61046927SAndroid Build Coastguard Worker     /* dummy vbo (containing 0 0 0 0) to bind if vertex shader input
142*61046927SAndroid Build Coastguard Worker      * is not bound to anything by the vertex declaration */
143*61046927SAndroid Build Coastguard Worker     struct pipe_resource *dummy_vbo;
144*61046927SAndroid Build Coastguard Worker     struct pipe_resource *dummy_vbo_sw;
145*61046927SAndroid Build Coastguard Worker     BOOL device_needs_reset;
146*61046927SAndroid Build Coastguard Worker     int minor_version_num;
147*61046927SAndroid Build Coastguard Worker     long long available_texture_mem;
148*61046927SAndroid Build Coastguard Worker     long long available_texture_limit;
149*61046927SAndroid Build Coastguard Worker 
150*61046927SAndroid Build Coastguard Worker     /* software vertex processing */
151*61046927SAndroid Build Coastguard Worker     bool swvp;
152*61046927SAndroid Build Coastguard Worker     /* pure device */
153*61046927SAndroid Build Coastguard Worker     bool pure;
154*61046927SAndroid Build Coastguard Worker 
155*61046927SAndroid Build Coastguard Worker     unsigned frame_count; /* It's ok if we overflow */
156*61046927SAndroid Build Coastguard Worker 
157*61046927SAndroid Build Coastguard Worker     /* Ex */
158*61046927SAndroid Build Coastguard Worker     int gpu_priority;
159*61046927SAndroid Build Coastguard Worker     unsigned max_frame_latency;
160*61046927SAndroid Build Coastguard Worker };
161*61046927SAndroid Build Coastguard Worker static inline struct NineDevice9 *
NineDevice9(void * data)162*61046927SAndroid Build Coastguard Worker NineDevice9( void *data )
163*61046927SAndroid Build Coastguard Worker {
164*61046927SAndroid Build Coastguard Worker     return (struct NineDevice9 *)data;
165*61046927SAndroid Build Coastguard Worker }
166*61046927SAndroid Build Coastguard Worker 
167*61046927SAndroid Build Coastguard Worker HRESULT
168*61046927SAndroid Build Coastguard Worker NineDevice9_new( struct pipe_screen *pScreen,
169*61046927SAndroid Build Coastguard Worker                  D3DDEVICE_CREATION_PARAMETERS *pCreationParameters,
170*61046927SAndroid Build Coastguard Worker                  D3DCAPS9 *pCaps,
171*61046927SAndroid Build Coastguard Worker                  D3DPRESENT_PARAMETERS *pPresentationParameters,
172*61046927SAndroid Build Coastguard Worker                  IDirect3D9 *pD3D9,
173*61046927SAndroid Build Coastguard Worker                  ID3DPresentGroup *pPresentationGroup,
174*61046927SAndroid Build Coastguard Worker                  struct d3dadapter9_context *pCTX,
175*61046927SAndroid Build Coastguard Worker                  bool ex,
176*61046927SAndroid Build Coastguard Worker                  D3DDISPLAYMODEEX *pFullscreenDisplayMode,
177*61046927SAndroid Build Coastguard Worker                  struct NineDevice9 **ppOut,
178*61046927SAndroid Build Coastguard Worker                  int minorVersionNum );
179*61046927SAndroid Build Coastguard Worker 
180*61046927SAndroid Build Coastguard Worker HRESULT
181*61046927SAndroid Build Coastguard Worker NineDevice9_ctor( struct NineDevice9 *This,
182*61046927SAndroid Build Coastguard Worker                   struct NineUnknownParams *pParams,
183*61046927SAndroid Build Coastguard Worker                   struct pipe_screen *pScreen,
184*61046927SAndroid Build Coastguard Worker                   D3DDEVICE_CREATION_PARAMETERS *pCreationParameters,
185*61046927SAndroid Build Coastguard Worker                   D3DCAPS9 *pCaps,
186*61046927SAndroid Build Coastguard Worker                   D3DPRESENT_PARAMETERS *pPresentationParameters,
187*61046927SAndroid Build Coastguard Worker                   IDirect3D9 *pD3D9,
188*61046927SAndroid Build Coastguard Worker                   ID3DPresentGroup *pPresentationGroup,
189*61046927SAndroid Build Coastguard Worker                   struct d3dadapter9_context *pCTX,
190*61046927SAndroid Build Coastguard Worker                   bool ex,
191*61046927SAndroid Build Coastguard Worker                   D3DDISPLAYMODEEX *pFullscreenDisplayMode,
192*61046927SAndroid Build Coastguard Worker                   int minorVersionNum );
193*61046927SAndroid Build Coastguard Worker 
194*61046927SAndroid Build Coastguard Worker void
195*61046927SAndroid Build Coastguard Worker NineDevice9_dtor( struct NineDevice9 *This );
196*61046927SAndroid Build Coastguard Worker 
197*61046927SAndroid Build Coastguard Worker /*** Nine private ***/
198*61046927SAndroid Build Coastguard Worker struct pipe_resource *
199*61046927SAndroid Build Coastguard Worker nine_resource_create_with_retry( struct NineDevice9 *This,
200*61046927SAndroid Build Coastguard Worker                                  struct pipe_screen *screen,
201*61046927SAndroid Build Coastguard Worker                                  const struct pipe_resource *templat );
202*61046927SAndroid Build Coastguard Worker 
203*61046927SAndroid Build Coastguard Worker void
204*61046927SAndroid Build Coastguard Worker NineDevice9_SetDefaultState( struct NineDevice9 *This, bool is_reset );
205*61046927SAndroid Build Coastguard Worker 
206*61046927SAndroid Build Coastguard Worker struct pipe_screen *
207*61046927SAndroid Build Coastguard Worker NineDevice9_GetScreen( struct NineDevice9 *This );
208*61046927SAndroid Build Coastguard Worker 
209*61046927SAndroid Build Coastguard Worker struct pipe_context *
210*61046927SAndroid Build Coastguard Worker NineDevice9_GetPipe( struct NineDevice9 *This );
211*61046927SAndroid Build Coastguard Worker 
212*61046927SAndroid Build Coastguard Worker const D3DCAPS9 *
213*61046927SAndroid Build Coastguard Worker NineDevice9_GetCaps( struct NineDevice9 *This );
214*61046927SAndroid Build Coastguard Worker 
215*61046927SAndroid Build Coastguard Worker void
216*61046927SAndroid Build Coastguard Worker NineDevice9_EvictManagedResourcesInternal( struct NineDevice9 *This );
217*61046927SAndroid Build Coastguard Worker 
218*61046927SAndroid Build Coastguard Worker /*** Direct3D public ***/
219*61046927SAndroid Build Coastguard Worker 
220*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
221*61046927SAndroid Build Coastguard Worker NineDevice9_TestCooperativeLevel( struct NineDevice9 *This );
222*61046927SAndroid Build Coastguard Worker 
223*61046927SAndroid Build Coastguard Worker UINT NINE_WINAPI
224*61046927SAndroid Build Coastguard Worker NineDevice9_GetAvailableTextureMem( struct NineDevice9 *This );
225*61046927SAndroid Build Coastguard Worker 
226*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
227*61046927SAndroid Build Coastguard Worker NineDevice9_EvictManagedResources( struct NineDevice9 *This );
228*61046927SAndroid Build Coastguard Worker 
229*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
230*61046927SAndroid Build Coastguard Worker NineDevice9_GetDirect3D( struct NineDevice9 *This,
231*61046927SAndroid Build Coastguard Worker                          IDirect3D9 **ppD3D9 );
232*61046927SAndroid Build Coastguard Worker 
233*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
234*61046927SAndroid Build Coastguard Worker NineDevice9_GetDeviceCaps( struct NineDevice9 *This,
235*61046927SAndroid Build Coastguard Worker                            D3DCAPS9 *pCaps );
236*61046927SAndroid Build Coastguard Worker 
237*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
238*61046927SAndroid Build Coastguard Worker NineDevice9_GetDisplayMode( struct NineDevice9 *This,
239*61046927SAndroid Build Coastguard Worker                             UINT iSwapChain,
240*61046927SAndroid Build Coastguard Worker                             D3DDISPLAYMODE *pMode );
241*61046927SAndroid Build Coastguard Worker 
242*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
243*61046927SAndroid Build Coastguard Worker NineDevice9_GetCreationParameters( struct NineDevice9 *This,
244*61046927SAndroid Build Coastguard Worker                                    D3DDEVICE_CREATION_PARAMETERS *pParameters );
245*61046927SAndroid Build Coastguard Worker 
246*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
247*61046927SAndroid Build Coastguard Worker NineDevice9_SetCursorProperties( struct NineDevice9 *This,
248*61046927SAndroid Build Coastguard Worker                                  UINT XHotSpot,
249*61046927SAndroid Build Coastguard Worker                                  UINT YHotSpot,
250*61046927SAndroid Build Coastguard Worker                                  IDirect3DSurface9 *pCursorBitmap );
251*61046927SAndroid Build Coastguard Worker 
252*61046927SAndroid Build Coastguard Worker void NINE_WINAPI
253*61046927SAndroid Build Coastguard Worker NineDevice9_SetCursorPosition( struct NineDevice9 *This,
254*61046927SAndroid Build Coastguard Worker                                int X,
255*61046927SAndroid Build Coastguard Worker                                int Y,
256*61046927SAndroid Build Coastguard Worker                                DWORD Flags );
257*61046927SAndroid Build Coastguard Worker 
258*61046927SAndroid Build Coastguard Worker BOOL NINE_WINAPI
259*61046927SAndroid Build Coastguard Worker NineDevice9_ShowCursor( struct NineDevice9 *This,
260*61046927SAndroid Build Coastguard Worker                         BOOL bShow );
261*61046927SAndroid Build Coastguard Worker 
262*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
263*61046927SAndroid Build Coastguard Worker NineDevice9_CreateAdditionalSwapChain( struct NineDevice9 *This,
264*61046927SAndroid Build Coastguard Worker                                        D3DPRESENT_PARAMETERS *pPresentationParameters,
265*61046927SAndroid Build Coastguard Worker                                        IDirect3DSwapChain9 **pSwapChain );
266*61046927SAndroid Build Coastguard Worker 
267*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
268*61046927SAndroid Build Coastguard Worker NineDevice9_GetSwapChain( struct NineDevice9 *This,
269*61046927SAndroid Build Coastguard Worker                           UINT iSwapChain,
270*61046927SAndroid Build Coastguard Worker                           IDirect3DSwapChain9 **pSwapChain );
271*61046927SAndroid Build Coastguard Worker 
272*61046927SAndroid Build Coastguard Worker UINT NINE_WINAPI
273*61046927SAndroid Build Coastguard Worker NineDevice9_GetNumberOfSwapChains( struct NineDevice9 *This );
274*61046927SAndroid Build Coastguard Worker 
275*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
276*61046927SAndroid Build Coastguard Worker NineDevice9_Reset( struct NineDevice9 *This,
277*61046927SAndroid Build Coastguard Worker                    D3DPRESENT_PARAMETERS *pPresentationParameters );
278*61046927SAndroid Build Coastguard Worker 
279*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
280*61046927SAndroid Build Coastguard Worker NineDevice9_Present( struct NineDevice9 *This,
281*61046927SAndroid Build Coastguard Worker                      const RECT *pSourceRect,
282*61046927SAndroid Build Coastguard Worker                      const RECT *pDestRect,
283*61046927SAndroid Build Coastguard Worker                      HWND hDestWindowOverride,
284*61046927SAndroid Build Coastguard Worker                      const RGNDATA *pDirtyRegion );
285*61046927SAndroid Build Coastguard Worker 
286*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
287*61046927SAndroid Build Coastguard Worker NineDevice9_GetBackBuffer( struct NineDevice9 *This,
288*61046927SAndroid Build Coastguard Worker                            UINT iSwapChain,
289*61046927SAndroid Build Coastguard Worker                            UINT iBackBuffer,
290*61046927SAndroid Build Coastguard Worker                            D3DBACKBUFFER_TYPE Type,
291*61046927SAndroid Build Coastguard Worker                            IDirect3DSurface9 **ppBackBuffer );
292*61046927SAndroid Build Coastguard Worker 
293*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
294*61046927SAndroid Build Coastguard Worker NineDevice9_GetRasterStatus( struct NineDevice9 *This,
295*61046927SAndroid Build Coastguard Worker                              UINT iSwapChain,
296*61046927SAndroid Build Coastguard Worker                              D3DRASTER_STATUS *pRasterStatus );
297*61046927SAndroid Build Coastguard Worker 
298*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
299*61046927SAndroid Build Coastguard Worker NineDevice9_SetDialogBoxMode( struct NineDevice9 *This,
300*61046927SAndroid Build Coastguard Worker                               BOOL bEnableDialogs );
301*61046927SAndroid Build Coastguard Worker 
302*61046927SAndroid Build Coastguard Worker void NINE_WINAPI
303*61046927SAndroid Build Coastguard Worker NineDevice9_SetGammaRamp( struct NineDevice9 *This,
304*61046927SAndroid Build Coastguard Worker                           UINT iSwapChain,
305*61046927SAndroid Build Coastguard Worker                           DWORD Flags,
306*61046927SAndroid Build Coastguard Worker                           const D3DGAMMARAMP *pRamp );
307*61046927SAndroid Build Coastguard Worker 
308*61046927SAndroid Build Coastguard Worker void NINE_WINAPI
309*61046927SAndroid Build Coastguard Worker NineDevice9_GetGammaRamp( struct NineDevice9 *This,
310*61046927SAndroid Build Coastguard Worker                           UINT iSwapChain,
311*61046927SAndroid Build Coastguard Worker                           D3DGAMMARAMP *pRamp );
312*61046927SAndroid Build Coastguard Worker 
313*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
314*61046927SAndroid Build Coastguard Worker NineDevice9_CreateTexture( struct NineDevice9 *This,
315*61046927SAndroid Build Coastguard Worker                            UINT Width,
316*61046927SAndroid Build Coastguard Worker                            UINT Height,
317*61046927SAndroid Build Coastguard Worker                            UINT Levels,
318*61046927SAndroid Build Coastguard Worker                            DWORD Usage,
319*61046927SAndroid Build Coastguard Worker                            D3DFORMAT Format,
320*61046927SAndroid Build Coastguard Worker                            D3DPOOL Pool,
321*61046927SAndroid Build Coastguard Worker                            IDirect3DTexture9 **ppTexture,
322*61046927SAndroid Build Coastguard Worker                            HANDLE *pSharedHandle );
323*61046927SAndroid Build Coastguard Worker 
324*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
325*61046927SAndroid Build Coastguard Worker NineDevice9_CreateVolumeTexture( struct NineDevice9 *This,
326*61046927SAndroid Build Coastguard Worker                                  UINT Width,
327*61046927SAndroid Build Coastguard Worker                                  UINT Height,
328*61046927SAndroid Build Coastguard Worker                                  UINT Depth,
329*61046927SAndroid Build Coastguard Worker                                  UINT Levels,
330*61046927SAndroid Build Coastguard Worker                                  DWORD Usage,
331*61046927SAndroid Build Coastguard Worker                                  D3DFORMAT Format,
332*61046927SAndroid Build Coastguard Worker                                  D3DPOOL Pool,
333*61046927SAndroid Build Coastguard Worker                                  IDirect3DVolumeTexture9 **ppVolumeTexture,
334*61046927SAndroid Build Coastguard Worker                                  HANDLE *pSharedHandle );
335*61046927SAndroid Build Coastguard Worker 
336*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
337*61046927SAndroid Build Coastguard Worker NineDevice9_CreateCubeTexture( struct NineDevice9 *This,
338*61046927SAndroid Build Coastguard Worker                                UINT EdgeLength,
339*61046927SAndroid Build Coastguard Worker                                UINT Levels,
340*61046927SAndroid Build Coastguard Worker                                DWORD Usage,
341*61046927SAndroid Build Coastguard Worker                                D3DFORMAT Format,
342*61046927SAndroid Build Coastguard Worker                                D3DPOOL Pool,
343*61046927SAndroid Build Coastguard Worker                                IDirect3DCubeTexture9 **ppCubeTexture,
344*61046927SAndroid Build Coastguard Worker                                HANDLE *pSharedHandle );
345*61046927SAndroid Build Coastguard Worker 
346*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
347*61046927SAndroid Build Coastguard Worker NineDevice9_CreateVertexBuffer( struct NineDevice9 *This,
348*61046927SAndroid Build Coastguard Worker                                 UINT Length,
349*61046927SAndroid Build Coastguard Worker                                 DWORD Usage,
350*61046927SAndroid Build Coastguard Worker                                 DWORD FVF,
351*61046927SAndroid Build Coastguard Worker                                 D3DPOOL Pool,
352*61046927SAndroid Build Coastguard Worker                                 IDirect3DVertexBuffer9 **ppVertexBuffer,
353*61046927SAndroid Build Coastguard Worker                                 HANDLE *pSharedHandle );
354*61046927SAndroid Build Coastguard Worker 
355*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
356*61046927SAndroid Build Coastguard Worker NineDevice9_CreateIndexBuffer( struct NineDevice9 *This,
357*61046927SAndroid Build Coastguard Worker                                UINT Length,
358*61046927SAndroid Build Coastguard Worker                                DWORD Usage,
359*61046927SAndroid Build Coastguard Worker                                D3DFORMAT Format,
360*61046927SAndroid Build Coastguard Worker                                D3DPOOL Pool,
361*61046927SAndroid Build Coastguard Worker                                IDirect3DIndexBuffer9 **ppIndexBuffer,
362*61046927SAndroid Build Coastguard Worker                                HANDLE *pSharedHandle );
363*61046927SAndroid Build Coastguard Worker 
364*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
365*61046927SAndroid Build Coastguard Worker NineDevice9_CreateRenderTarget( struct NineDevice9 *This,
366*61046927SAndroid Build Coastguard Worker                                 UINT Width,
367*61046927SAndroid Build Coastguard Worker                                 UINT Height,
368*61046927SAndroid Build Coastguard Worker                                 D3DFORMAT Format,
369*61046927SAndroid Build Coastguard Worker                                 D3DMULTISAMPLE_TYPE MultiSample,
370*61046927SAndroid Build Coastguard Worker                                 DWORD MultisampleQuality,
371*61046927SAndroid Build Coastguard Worker                                 BOOL Lockable,
372*61046927SAndroid Build Coastguard Worker                                 IDirect3DSurface9 **ppSurface,
373*61046927SAndroid Build Coastguard Worker                                 HANDLE *pSharedHandle );
374*61046927SAndroid Build Coastguard Worker 
375*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
376*61046927SAndroid Build Coastguard Worker NineDevice9_CreateDepthStencilSurface( struct NineDevice9 *This,
377*61046927SAndroid Build Coastguard Worker                                        UINT Width,
378*61046927SAndroid Build Coastguard Worker                                        UINT Height,
379*61046927SAndroid Build Coastguard Worker                                        D3DFORMAT Format,
380*61046927SAndroid Build Coastguard Worker                                        D3DMULTISAMPLE_TYPE MultiSample,
381*61046927SAndroid Build Coastguard Worker                                        DWORD MultisampleQuality,
382*61046927SAndroid Build Coastguard Worker                                        BOOL Discard,
383*61046927SAndroid Build Coastguard Worker                                        IDirect3DSurface9 **ppSurface,
384*61046927SAndroid Build Coastguard Worker                                        HANDLE *pSharedHandle );
385*61046927SAndroid Build Coastguard Worker 
386*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
387*61046927SAndroid Build Coastguard Worker NineDevice9_UpdateSurface( struct NineDevice9 *This,
388*61046927SAndroid Build Coastguard Worker                            IDirect3DSurface9 *pSourceSurface,
389*61046927SAndroid Build Coastguard Worker                            const RECT *pSourceRect,
390*61046927SAndroid Build Coastguard Worker                            IDirect3DSurface9 *pDestinationSurface,
391*61046927SAndroid Build Coastguard Worker                            const POINT *pDestPoint );
392*61046927SAndroid Build Coastguard Worker 
393*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
394*61046927SAndroid Build Coastguard Worker NineDevice9_UpdateTexture( struct NineDevice9 *This,
395*61046927SAndroid Build Coastguard Worker                            IDirect3DBaseTexture9 *pSourceTexture,
396*61046927SAndroid Build Coastguard Worker                            IDirect3DBaseTexture9 *pDestinationTexture );
397*61046927SAndroid Build Coastguard Worker 
398*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
399*61046927SAndroid Build Coastguard Worker NineDevice9_GetRenderTargetData( struct NineDevice9 *This,
400*61046927SAndroid Build Coastguard Worker                                  IDirect3DSurface9 *pRenderTarget,
401*61046927SAndroid Build Coastguard Worker                                  IDirect3DSurface9 *pDestSurface );
402*61046927SAndroid Build Coastguard Worker 
403*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
404*61046927SAndroid Build Coastguard Worker NineDevice9_GetFrontBufferData( struct NineDevice9 *This,
405*61046927SAndroid Build Coastguard Worker                                 UINT iSwapChain,
406*61046927SAndroid Build Coastguard Worker                                 IDirect3DSurface9 *pDestSurface );
407*61046927SAndroid Build Coastguard Worker 
408*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
409*61046927SAndroid Build Coastguard Worker NineDevice9_StretchRect( struct NineDevice9 *This,
410*61046927SAndroid Build Coastguard Worker                          IDirect3DSurface9 *pSourceSurface,
411*61046927SAndroid Build Coastguard Worker                          const RECT *pSourceRect,
412*61046927SAndroid Build Coastguard Worker                          IDirect3DSurface9 *pDestSurface,
413*61046927SAndroid Build Coastguard Worker                          const RECT *pDestRect,
414*61046927SAndroid Build Coastguard Worker                          D3DTEXTUREFILTERTYPE Filter );
415*61046927SAndroid Build Coastguard Worker 
416*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
417*61046927SAndroid Build Coastguard Worker NineDevice9_ColorFill( struct NineDevice9 *This,
418*61046927SAndroid Build Coastguard Worker                        IDirect3DSurface9 *pSurface,
419*61046927SAndroid Build Coastguard Worker                        const RECT *pRect,
420*61046927SAndroid Build Coastguard Worker                        D3DCOLOR color );
421*61046927SAndroid Build Coastguard Worker 
422*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
423*61046927SAndroid Build Coastguard Worker NineDevice9_CreateOffscreenPlainSurface( struct NineDevice9 *This,
424*61046927SAndroid Build Coastguard Worker                                          UINT Width,
425*61046927SAndroid Build Coastguard Worker                                          UINT Height,
426*61046927SAndroid Build Coastguard Worker                                          D3DFORMAT Format,
427*61046927SAndroid Build Coastguard Worker                                          D3DPOOL Pool,
428*61046927SAndroid Build Coastguard Worker                                          IDirect3DSurface9 **ppSurface,
429*61046927SAndroid Build Coastguard Worker                                          HANDLE *pSharedHandle );
430*61046927SAndroid Build Coastguard Worker 
431*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
432*61046927SAndroid Build Coastguard Worker NineDevice9_SetRenderTarget( struct NineDevice9 *This,
433*61046927SAndroid Build Coastguard Worker                              DWORD RenderTargetIndex,
434*61046927SAndroid Build Coastguard Worker                              IDirect3DSurface9 *pRenderTarget );
435*61046927SAndroid Build Coastguard Worker 
436*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
437*61046927SAndroid Build Coastguard Worker NineDevice9_GetRenderTarget( struct NineDevice9 *This,
438*61046927SAndroid Build Coastguard Worker                              DWORD RenderTargetIndex,
439*61046927SAndroid Build Coastguard Worker                              IDirect3DSurface9 **ppRenderTarget );
440*61046927SAndroid Build Coastguard Worker 
441*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
442*61046927SAndroid Build Coastguard Worker NineDevice9_SetDepthStencilSurface( struct NineDevice9 *This,
443*61046927SAndroid Build Coastguard Worker                                     IDirect3DSurface9 *pNewZStencil );
444*61046927SAndroid Build Coastguard Worker 
445*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
446*61046927SAndroid Build Coastguard Worker NineDevice9_GetDepthStencilSurface( struct NineDevice9 *This,
447*61046927SAndroid Build Coastguard Worker                                     IDirect3DSurface9 **ppZStencilSurface );
448*61046927SAndroid Build Coastguard Worker 
449*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
450*61046927SAndroid Build Coastguard Worker NineDevice9_BeginScene( struct NineDevice9 *This );
451*61046927SAndroid Build Coastguard Worker 
452*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
453*61046927SAndroid Build Coastguard Worker NineDevice9_EndScene( struct NineDevice9 *This );
454*61046927SAndroid Build Coastguard Worker 
455*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
456*61046927SAndroid Build Coastguard Worker NineDevice9_Clear( struct NineDevice9 *This,
457*61046927SAndroid Build Coastguard Worker                    DWORD Count,
458*61046927SAndroid Build Coastguard Worker                    const D3DRECT *pRects,
459*61046927SAndroid Build Coastguard Worker                    DWORD Flags,
460*61046927SAndroid Build Coastguard Worker                    D3DCOLOR Color,
461*61046927SAndroid Build Coastguard Worker                    float Z,
462*61046927SAndroid Build Coastguard Worker                    DWORD Stencil );
463*61046927SAndroid Build Coastguard Worker 
464*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
465*61046927SAndroid Build Coastguard Worker NineDevice9_SetTransform( struct NineDevice9 *This,
466*61046927SAndroid Build Coastguard Worker                           D3DTRANSFORMSTATETYPE State,
467*61046927SAndroid Build Coastguard Worker                           const D3DMATRIX *pMatrix );
468*61046927SAndroid Build Coastguard Worker 
469*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
470*61046927SAndroid Build Coastguard Worker NineDevice9_GetTransform( struct NineDevice9 *This,
471*61046927SAndroid Build Coastguard Worker                           D3DTRANSFORMSTATETYPE State,
472*61046927SAndroid Build Coastguard Worker                           D3DMATRIX *pMatrix );
473*61046927SAndroid Build Coastguard Worker 
474*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
475*61046927SAndroid Build Coastguard Worker NineDevice9_MultiplyTransform( struct NineDevice9 *This,
476*61046927SAndroid Build Coastguard Worker                                D3DTRANSFORMSTATETYPE State,
477*61046927SAndroid Build Coastguard Worker                                const D3DMATRIX *pMatrix );
478*61046927SAndroid Build Coastguard Worker 
479*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
480*61046927SAndroid Build Coastguard Worker NineDevice9_SetViewport( struct NineDevice9 *This,
481*61046927SAndroid Build Coastguard Worker                          const D3DVIEWPORT9 *pViewport );
482*61046927SAndroid Build Coastguard Worker 
483*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
484*61046927SAndroid Build Coastguard Worker NineDevice9_GetViewport( struct NineDevice9 *This,
485*61046927SAndroid Build Coastguard Worker                          D3DVIEWPORT9 *pViewport );
486*61046927SAndroid Build Coastguard Worker 
487*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
488*61046927SAndroid Build Coastguard Worker NineDevice9_SetMaterial( struct NineDevice9 *This,
489*61046927SAndroid Build Coastguard Worker                          const D3DMATERIAL9 *pMaterial );
490*61046927SAndroid Build Coastguard Worker 
491*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
492*61046927SAndroid Build Coastguard Worker NineDevice9_GetMaterial( struct NineDevice9 *This,
493*61046927SAndroid Build Coastguard Worker                          D3DMATERIAL9 *pMaterial );
494*61046927SAndroid Build Coastguard Worker 
495*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
496*61046927SAndroid Build Coastguard Worker NineDevice9_SetLight( struct NineDevice9 *This,
497*61046927SAndroid Build Coastguard Worker                       DWORD Index,
498*61046927SAndroid Build Coastguard Worker                       const D3DLIGHT9 *pLight );
499*61046927SAndroid Build Coastguard Worker 
500*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
501*61046927SAndroid Build Coastguard Worker NineDevice9_GetLight( struct NineDevice9 *This,
502*61046927SAndroid Build Coastguard Worker                       DWORD Index,
503*61046927SAndroid Build Coastguard Worker                       D3DLIGHT9 *pLight );
504*61046927SAndroid Build Coastguard Worker 
505*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
506*61046927SAndroid Build Coastguard Worker NineDevice9_LightEnable( struct NineDevice9 *This,
507*61046927SAndroid Build Coastguard Worker                          DWORD Index,
508*61046927SAndroid Build Coastguard Worker                          BOOL Enable );
509*61046927SAndroid Build Coastguard Worker 
510*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
511*61046927SAndroid Build Coastguard Worker NineDevice9_GetLightEnable( struct NineDevice9 *This,
512*61046927SAndroid Build Coastguard Worker                             DWORD Index,
513*61046927SAndroid Build Coastguard Worker                             BOOL *pEnable );
514*61046927SAndroid Build Coastguard Worker 
515*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
516*61046927SAndroid Build Coastguard Worker NineDevice9_SetClipPlane( struct NineDevice9 *This,
517*61046927SAndroid Build Coastguard Worker                           DWORD Index,
518*61046927SAndroid Build Coastguard Worker                           const float *pPlane );
519*61046927SAndroid Build Coastguard Worker 
520*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
521*61046927SAndroid Build Coastguard Worker NineDevice9_GetClipPlane( struct NineDevice9 *This,
522*61046927SAndroid Build Coastguard Worker                           DWORD Index,
523*61046927SAndroid Build Coastguard Worker                           float *pPlane );
524*61046927SAndroid Build Coastguard Worker 
525*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
526*61046927SAndroid Build Coastguard Worker NineDevice9_SetRenderState( struct NineDevice9 *This,
527*61046927SAndroid Build Coastguard Worker                             D3DRENDERSTATETYPE State,
528*61046927SAndroid Build Coastguard Worker                             DWORD Value );
529*61046927SAndroid Build Coastguard Worker 
530*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
531*61046927SAndroid Build Coastguard Worker NineDevice9_GetRenderState( struct NineDevice9 *This,
532*61046927SAndroid Build Coastguard Worker                             D3DRENDERSTATETYPE State,
533*61046927SAndroid Build Coastguard Worker                             DWORD *pValue );
534*61046927SAndroid Build Coastguard Worker 
535*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
536*61046927SAndroid Build Coastguard Worker NineDevice9_CreateStateBlock( struct NineDevice9 *This,
537*61046927SAndroid Build Coastguard Worker                               D3DSTATEBLOCKTYPE Type,
538*61046927SAndroid Build Coastguard Worker                               IDirect3DStateBlock9 **ppSB );
539*61046927SAndroid Build Coastguard Worker 
540*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
541*61046927SAndroid Build Coastguard Worker NineDevice9_BeginStateBlock( struct NineDevice9 *This );
542*61046927SAndroid Build Coastguard Worker 
543*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
544*61046927SAndroid Build Coastguard Worker NineDevice9_EndStateBlock( struct NineDevice9 *This,
545*61046927SAndroid Build Coastguard Worker                            IDirect3DStateBlock9 **ppSB );
546*61046927SAndroid Build Coastguard Worker 
547*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
548*61046927SAndroid Build Coastguard Worker NineDevice9_SetClipStatus( struct NineDevice9 *This,
549*61046927SAndroid Build Coastguard Worker                            const D3DCLIPSTATUS9 *pClipStatus );
550*61046927SAndroid Build Coastguard Worker 
551*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
552*61046927SAndroid Build Coastguard Worker NineDevice9_GetClipStatus( struct NineDevice9 *This,
553*61046927SAndroid Build Coastguard Worker                            D3DCLIPSTATUS9 *pClipStatus );
554*61046927SAndroid Build Coastguard Worker 
555*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
556*61046927SAndroid Build Coastguard Worker NineDevice9_GetTexture( struct NineDevice9 *This,
557*61046927SAndroid Build Coastguard Worker                         DWORD Stage,
558*61046927SAndroid Build Coastguard Worker                         IDirect3DBaseTexture9 **ppTexture );
559*61046927SAndroid Build Coastguard Worker 
560*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
561*61046927SAndroid Build Coastguard Worker NineDevice9_SetTexture( struct NineDevice9 *This,
562*61046927SAndroid Build Coastguard Worker                         DWORD Stage,
563*61046927SAndroid Build Coastguard Worker                         IDirect3DBaseTexture9 *pTexture );
564*61046927SAndroid Build Coastguard Worker 
565*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
566*61046927SAndroid Build Coastguard Worker NineDevice9_GetTextureStageState( struct NineDevice9 *This,
567*61046927SAndroid Build Coastguard Worker                                   DWORD Stage,
568*61046927SAndroid Build Coastguard Worker                                   D3DTEXTURESTAGESTATETYPE Type,
569*61046927SAndroid Build Coastguard Worker                                   DWORD *pValue );
570*61046927SAndroid Build Coastguard Worker 
571*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
572*61046927SAndroid Build Coastguard Worker NineDevice9_SetTextureStageState( struct NineDevice9 *This,
573*61046927SAndroid Build Coastguard Worker                                   DWORD Stage,
574*61046927SAndroid Build Coastguard Worker                                   D3DTEXTURESTAGESTATETYPE Type,
575*61046927SAndroid Build Coastguard Worker                                   DWORD Value );
576*61046927SAndroid Build Coastguard Worker 
577*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
578*61046927SAndroid Build Coastguard Worker NineDevice9_GetSamplerState( struct NineDevice9 *This,
579*61046927SAndroid Build Coastguard Worker                              DWORD Sampler,
580*61046927SAndroid Build Coastguard Worker                              D3DSAMPLERSTATETYPE Type,
581*61046927SAndroid Build Coastguard Worker                              DWORD *pValue );
582*61046927SAndroid Build Coastguard Worker 
583*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
584*61046927SAndroid Build Coastguard Worker NineDevice9_SetSamplerState( struct NineDevice9 *This,
585*61046927SAndroid Build Coastguard Worker                              DWORD Sampler,
586*61046927SAndroid Build Coastguard Worker                              D3DSAMPLERSTATETYPE Type,
587*61046927SAndroid Build Coastguard Worker                              DWORD Value );
588*61046927SAndroid Build Coastguard Worker 
589*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
590*61046927SAndroid Build Coastguard Worker NineDevice9_ValidateDevice( struct NineDevice9 *This,
591*61046927SAndroid Build Coastguard Worker                             DWORD *pNumPasses );
592*61046927SAndroid Build Coastguard Worker 
593*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
594*61046927SAndroid Build Coastguard Worker NineDevice9_SetPaletteEntries( struct NineDevice9 *This,
595*61046927SAndroid Build Coastguard Worker                                UINT PaletteNumber,
596*61046927SAndroid Build Coastguard Worker                                const PALETTEENTRY *pEntries );
597*61046927SAndroid Build Coastguard Worker 
598*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
599*61046927SAndroid Build Coastguard Worker NineDevice9_GetPaletteEntries( struct NineDevice9 *This,
600*61046927SAndroid Build Coastguard Worker                                UINT PaletteNumber,
601*61046927SAndroid Build Coastguard Worker                                PALETTEENTRY *pEntries );
602*61046927SAndroid Build Coastguard Worker 
603*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
604*61046927SAndroid Build Coastguard Worker NineDevice9_SetCurrentTexturePalette( struct NineDevice9 *This,
605*61046927SAndroid Build Coastguard Worker                                       UINT PaletteNumber );
606*61046927SAndroid Build Coastguard Worker 
607*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
608*61046927SAndroid Build Coastguard Worker NineDevice9_GetCurrentTexturePalette( struct NineDevice9 *This,
609*61046927SAndroid Build Coastguard Worker                                       UINT *PaletteNumber );
610*61046927SAndroid Build Coastguard Worker 
611*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
612*61046927SAndroid Build Coastguard Worker NineDevice9_SetScissorRect( struct NineDevice9 *This,
613*61046927SAndroid Build Coastguard Worker                             const RECT *pRect );
614*61046927SAndroid Build Coastguard Worker 
615*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
616*61046927SAndroid Build Coastguard Worker NineDevice9_GetScissorRect( struct NineDevice9 *This,
617*61046927SAndroid Build Coastguard Worker                             RECT *pRect );
618*61046927SAndroid Build Coastguard Worker 
619*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
620*61046927SAndroid Build Coastguard Worker NineDevice9_SetSoftwareVertexProcessing( struct NineDevice9 *This,
621*61046927SAndroid Build Coastguard Worker                                          BOOL bSoftware );
622*61046927SAndroid Build Coastguard Worker 
623*61046927SAndroid Build Coastguard Worker BOOL NINE_WINAPI
624*61046927SAndroid Build Coastguard Worker NineDevice9_GetSoftwareVertexProcessing( struct NineDevice9 *This );
625*61046927SAndroid Build Coastguard Worker 
626*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
627*61046927SAndroid Build Coastguard Worker NineDevice9_SetNPatchMode( struct NineDevice9 *This,
628*61046927SAndroid Build Coastguard Worker                            float nSegments );
629*61046927SAndroid Build Coastguard Worker 
630*61046927SAndroid Build Coastguard Worker float NINE_WINAPI
631*61046927SAndroid Build Coastguard Worker NineDevice9_GetNPatchMode( struct NineDevice9 *This );
632*61046927SAndroid Build Coastguard Worker 
633*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
634*61046927SAndroid Build Coastguard Worker NineDevice9_DrawPrimitive( struct NineDevice9 *This,
635*61046927SAndroid Build Coastguard Worker                            D3DPRIMITIVETYPE PrimitiveType,
636*61046927SAndroid Build Coastguard Worker                            UINT StartVertex,
637*61046927SAndroid Build Coastguard Worker                            UINT PrimitiveCount );
638*61046927SAndroid Build Coastguard Worker 
639*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
640*61046927SAndroid Build Coastguard Worker NineDevice9_DrawIndexedPrimitive( struct NineDevice9 *This,
641*61046927SAndroid Build Coastguard Worker                                   D3DPRIMITIVETYPE PrimitiveType,
642*61046927SAndroid Build Coastguard Worker                                   INT BaseVertexIndex,
643*61046927SAndroid Build Coastguard Worker                                   UINT MinVertexIndex,
644*61046927SAndroid Build Coastguard Worker                                   UINT NumVertices,
645*61046927SAndroid Build Coastguard Worker                                   UINT startIndex,
646*61046927SAndroid Build Coastguard Worker                                   UINT primCount );
647*61046927SAndroid Build Coastguard Worker 
648*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
649*61046927SAndroid Build Coastguard Worker NineDevice9_DrawPrimitiveUP( struct NineDevice9 *This,
650*61046927SAndroid Build Coastguard Worker                              D3DPRIMITIVETYPE PrimitiveType,
651*61046927SAndroid Build Coastguard Worker                              UINT PrimitiveCount,
652*61046927SAndroid Build Coastguard Worker                              const void *pVertexStreamZeroData,
653*61046927SAndroid Build Coastguard Worker                              UINT VertexStreamZeroStride );
654*61046927SAndroid Build Coastguard Worker 
655*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
656*61046927SAndroid Build Coastguard Worker NineDevice9_DrawIndexedPrimitiveUP( struct NineDevice9 *This,
657*61046927SAndroid Build Coastguard Worker                                     D3DPRIMITIVETYPE PrimitiveType,
658*61046927SAndroid Build Coastguard Worker                                     UINT MinVertexIndex,
659*61046927SAndroid Build Coastguard Worker                                     UINT NumVertices,
660*61046927SAndroid Build Coastguard Worker                                     UINT PrimitiveCount,
661*61046927SAndroid Build Coastguard Worker                                     const void *pIndexData,
662*61046927SAndroid Build Coastguard Worker                                     D3DFORMAT IndexDataFormat,
663*61046927SAndroid Build Coastguard Worker                                     const void *pVertexStreamZeroData,
664*61046927SAndroid Build Coastguard Worker                                     UINT VertexStreamZeroStride );
665*61046927SAndroid Build Coastguard Worker 
666*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
667*61046927SAndroid Build Coastguard Worker NineDevice9_ProcessVertices( struct NineDevice9 *This,
668*61046927SAndroid Build Coastguard Worker                              UINT SrcStartIndex,
669*61046927SAndroid Build Coastguard Worker                              UINT DestIndex,
670*61046927SAndroid Build Coastguard Worker                              UINT VertexCount,
671*61046927SAndroid Build Coastguard Worker                              IDirect3DVertexBuffer9 *pDestBuffer,
672*61046927SAndroid Build Coastguard Worker                              IDirect3DVertexDeclaration9 *pVertexDecl,
673*61046927SAndroid Build Coastguard Worker                              DWORD Flags );
674*61046927SAndroid Build Coastguard Worker 
675*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
676*61046927SAndroid Build Coastguard Worker NineDevice9_CreateVertexDeclaration( struct NineDevice9 *This,
677*61046927SAndroid Build Coastguard Worker                                      const D3DVERTEXELEMENT9 *pVertexElements,
678*61046927SAndroid Build Coastguard Worker                                      IDirect3DVertexDeclaration9 **ppDecl );
679*61046927SAndroid Build Coastguard Worker 
680*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
681*61046927SAndroid Build Coastguard Worker NineDevice9_SetVertexDeclaration( struct NineDevice9 *This,
682*61046927SAndroid Build Coastguard Worker                                   IDirect3DVertexDeclaration9 *pDecl );
683*61046927SAndroid Build Coastguard Worker 
684*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
685*61046927SAndroid Build Coastguard Worker NineDevice9_GetVertexDeclaration( struct NineDevice9 *This,
686*61046927SAndroid Build Coastguard Worker                                   IDirect3DVertexDeclaration9 **ppDecl );
687*61046927SAndroid Build Coastguard Worker 
688*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
689*61046927SAndroid Build Coastguard Worker NineDevice9_SetFVF( struct NineDevice9 *This,
690*61046927SAndroid Build Coastguard Worker                     DWORD FVF );
691*61046927SAndroid Build Coastguard Worker 
692*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
693*61046927SAndroid Build Coastguard Worker NineDevice9_GetFVF( struct NineDevice9 *This,
694*61046927SAndroid Build Coastguard Worker                     DWORD *pFVF );
695*61046927SAndroid Build Coastguard Worker 
696*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
697*61046927SAndroid Build Coastguard Worker NineDevice9_CreateVertexShader( struct NineDevice9 *This,
698*61046927SAndroid Build Coastguard Worker                                 const DWORD *pFunction,
699*61046927SAndroid Build Coastguard Worker                                 IDirect3DVertexShader9 **ppShader );
700*61046927SAndroid Build Coastguard Worker 
701*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
702*61046927SAndroid Build Coastguard Worker NineDevice9_SetVertexShader( struct NineDevice9 *This,
703*61046927SAndroid Build Coastguard Worker                              IDirect3DVertexShader9 *pShader );
704*61046927SAndroid Build Coastguard Worker 
705*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
706*61046927SAndroid Build Coastguard Worker NineDevice9_GetVertexShader( struct NineDevice9 *This,
707*61046927SAndroid Build Coastguard Worker                              IDirect3DVertexShader9 **ppShader );
708*61046927SAndroid Build Coastguard Worker 
709*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
710*61046927SAndroid Build Coastguard Worker NineDevice9_SetVertexShaderConstantF( struct NineDevice9 *This,
711*61046927SAndroid Build Coastguard Worker                                       UINT StartRegister,
712*61046927SAndroid Build Coastguard Worker                                       const float *pConstantData,
713*61046927SAndroid Build Coastguard Worker                                       UINT Vector4fCount );
714*61046927SAndroid Build Coastguard Worker 
715*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
716*61046927SAndroid Build Coastguard Worker NineDevice9_GetVertexShaderConstantF( struct NineDevice9 *This,
717*61046927SAndroid Build Coastguard Worker                                       UINT StartRegister,
718*61046927SAndroid Build Coastguard Worker                                       float *pConstantData,
719*61046927SAndroid Build Coastguard Worker                                       UINT Vector4fCount );
720*61046927SAndroid Build Coastguard Worker 
721*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
722*61046927SAndroid Build Coastguard Worker NineDevice9_SetVertexShaderConstantI( struct NineDevice9 *This,
723*61046927SAndroid Build Coastguard Worker                                       UINT StartRegister,
724*61046927SAndroid Build Coastguard Worker                                       const int *pConstantData,
725*61046927SAndroid Build Coastguard Worker                                       UINT Vector4iCount );
726*61046927SAndroid Build Coastguard Worker 
727*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
728*61046927SAndroid Build Coastguard Worker NineDevice9_GetVertexShaderConstantI( struct NineDevice9 *This,
729*61046927SAndroid Build Coastguard Worker                                       UINT StartRegister,
730*61046927SAndroid Build Coastguard Worker                                       int *pConstantData,
731*61046927SAndroid Build Coastguard Worker                                       UINT Vector4iCount );
732*61046927SAndroid Build Coastguard Worker 
733*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
734*61046927SAndroid Build Coastguard Worker NineDevice9_SetVertexShaderConstantB( struct NineDevice9 *This,
735*61046927SAndroid Build Coastguard Worker                                       UINT StartRegister,
736*61046927SAndroid Build Coastguard Worker                                       const BOOL *pConstantData,
737*61046927SAndroid Build Coastguard Worker                                       UINT BoolCount );
738*61046927SAndroid Build Coastguard Worker 
739*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
740*61046927SAndroid Build Coastguard Worker NineDevice9_GetVertexShaderConstantB( struct NineDevice9 *This,
741*61046927SAndroid Build Coastguard Worker                                       UINT StartRegister,
742*61046927SAndroid Build Coastguard Worker                                       BOOL *pConstantData,
743*61046927SAndroid Build Coastguard Worker                                       UINT BoolCount );
744*61046927SAndroid Build Coastguard Worker 
745*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
746*61046927SAndroid Build Coastguard Worker NineDevice9_SetStreamSource( struct NineDevice9 *This,
747*61046927SAndroid Build Coastguard Worker                              UINT StreamNumber,
748*61046927SAndroid Build Coastguard Worker                              IDirect3DVertexBuffer9 *pStreamData,
749*61046927SAndroid Build Coastguard Worker                              UINT OffsetInBytes,
750*61046927SAndroid Build Coastguard Worker                              UINT Stride );
751*61046927SAndroid Build Coastguard Worker 
752*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
753*61046927SAndroid Build Coastguard Worker NineDevice9_GetStreamSource( struct NineDevice9 *This,
754*61046927SAndroid Build Coastguard Worker                              UINT StreamNumber,
755*61046927SAndroid Build Coastguard Worker                              IDirect3DVertexBuffer9 **ppStreamData,
756*61046927SAndroid Build Coastguard Worker                              UINT *pOffsetInBytes,
757*61046927SAndroid Build Coastguard Worker                              UINT *pStride );
758*61046927SAndroid Build Coastguard Worker 
759*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
760*61046927SAndroid Build Coastguard Worker NineDevice9_SetStreamSourceFreq( struct NineDevice9 *This,
761*61046927SAndroid Build Coastguard Worker                                  UINT StreamNumber,
762*61046927SAndroid Build Coastguard Worker                                  UINT Setting );
763*61046927SAndroid Build Coastguard Worker 
764*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
765*61046927SAndroid Build Coastguard Worker NineDevice9_GetStreamSourceFreq( struct NineDevice9 *This,
766*61046927SAndroid Build Coastguard Worker                                  UINT StreamNumber,
767*61046927SAndroid Build Coastguard Worker                                  UINT *pSetting );
768*61046927SAndroid Build Coastguard Worker 
769*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
770*61046927SAndroid Build Coastguard Worker NineDevice9_SetIndices( struct NineDevice9 *This,
771*61046927SAndroid Build Coastguard Worker                         IDirect3DIndexBuffer9 *pIndexData );
772*61046927SAndroid Build Coastguard Worker 
773*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
774*61046927SAndroid Build Coastguard Worker NineDevice9_GetIndices( struct NineDevice9 *This,
775*61046927SAndroid Build Coastguard Worker                         IDirect3DIndexBuffer9 **ppIndexData /*,
776*61046927SAndroid Build Coastguard Worker                         UINT *pBaseVertexIndex */ );
777*61046927SAndroid Build Coastguard Worker 
778*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
779*61046927SAndroid Build Coastguard Worker NineDevice9_CreatePixelShader( struct NineDevice9 *This,
780*61046927SAndroid Build Coastguard Worker                                const DWORD *pFunction,
781*61046927SAndroid Build Coastguard Worker                                IDirect3DPixelShader9 **ppShader );
782*61046927SAndroid Build Coastguard Worker 
783*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
784*61046927SAndroid Build Coastguard Worker NineDevice9_SetPixelShader( struct NineDevice9 *This,
785*61046927SAndroid Build Coastguard Worker                             IDirect3DPixelShader9 *pShader );
786*61046927SAndroid Build Coastguard Worker 
787*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
788*61046927SAndroid Build Coastguard Worker NineDevice9_GetPixelShader( struct NineDevice9 *This,
789*61046927SAndroid Build Coastguard Worker                             IDirect3DPixelShader9 **ppShader );
790*61046927SAndroid Build Coastguard Worker 
791*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
792*61046927SAndroid Build Coastguard Worker NineDevice9_SetPixelShaderConstantF( struct NineDevice9 *This,
793*61046927SAndroid Build Coastguard Worker                                      UINT StartRegister,
794*61046927SAndroid Build Coastguard Worker                                      const float *pConstantData,
795*61046927SAndroid Build Coastguard Worker                                      UINT Vector4fCount );
796*61046927SAndroid Build Coastguard Worker 
797*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
798*61046927SAndroid Build Coastguard Worker NineDevice9_GetPixelShaderConstantF( struct NineDevice9 *This,
799*61046927SAndroid Build Coastguard Worker                                      UINT StartRegister,
800*61046927SAndroid Build Coastguard Worker                                      float *pConstantData,
801*61046927SAndroid Build Coastguard Worker                                      UINT Vector4fCount );
802*61046927SAndroid Build Coastguard Worker 
803*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
804*61046927SAndroid Build Coastguard Worker NineDevice9_SetPixelShaderConstantI( struct NineDevice9 *This,
805*61046927SAndroid Build Coastguard Worker                                      UINT StartRegister,
806*61046927SAndroid Build Coastguard Worker                                      const int *pConstantData,
807*61046927SAndroid Build Coastguard Worker                                      UINT Vector4iCount );
808*61046927SAndroid Build Coastguard Worker 
809*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
810*61046927SAndroid Build Coastguard Worker NineDevice9_GetPixelShaderConstantI( struct NineDevice9 *This,
811*61046927SAndroid Build Coastguard Worker                                      UINT StartRegister,
812*61046927SAndroid Build Coastguard Worker                                      int *pConstantData,
813*61046927SAndroid Build Coastguard Worker                                      UINT Vector4iCount );
814*61046927SAndroid Build Coastguard Worker 
815*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
816*61046927SAndroid Build Coastguard Worker NineDevice9_SetPixelShaderConstantB( struct NineDevice9 *This,
817*61046927SAndroid Build Coastguard Worker                                      UINT StartRegister,
818*61046927SAndroid Build Coastguard Worker                                      const BOOL *pConstantData,
819*61046927SAndroid Build Coastguard Worker                                      UINT BoolCount );
820*61046927SAndroid Build Coastguard Worker 
821*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
822*61046927SAndroid Build Coastguard Worker NineDevice9_GetPixelShaderConstantB( struct NineDevice9 *This,
823*61046927SAndroid Build Coastguard Worker                                      UINT StartRegister,
824*61046927SAndroid Build Coastguard Worker                                      BOOL *pConstantData,
825*61046927SAndroid Build Coastguard Worker                                      UINT BoolCount );
826*61046927SAndroid Build Coastguard Worker 
827*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
828*61046927SAndroid Build Coastguard Worker NineDevice9_DrawRectPatch( struct NineDevice9 *This,
829*61046927SAndroid Build Coastguard Worker                            UINT Handle,
830*61046927SAndroid Build Coastguard Worker                            const float *pNumSegs,
831*61046927SAndroid Build Coastguard Worker                            const D3DRECTPATCH_INFO *pRectPatchInfo );
832*61046927SAndroid Build Coastguard Worker 
833*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
834*61046927SAndroid Build Coastguard Worker NineDevice9_DrawTriPatch( struct NineDevice9 *This,
835*61046927SAndroid Build Coastguard Worker                           UINT Handle,
836*61046927SAndroid Build Coastguard Worker                           const float *pNumSegs,
837*61046927SAndroid Build Coastguard Worker                           const D3DTRIPATCH_INFO *pTriPatchInfo );
838*61046927SAndroid Build Coastguard Worker 
839*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
840*61046927SAndroid Build Coastguard Worker NineDevice9_DeletePatch( struct NineDevice9 *This,
841*61046927SAndroid Build Coastguard Worker                          UINT Handle );
842*61046927SAndroid Build Coastguard Worker 
843*61046927SAndroid Build Coastguard Worker HRESULT NINE_WINAPI
844*61046927SAndroid Build Coastguard Worker NineDevice9_CreateQuery( struct NineDevice9 *This,
845*61046927SAndroid Build Coastguard Worker                          D3DQUERYTYPE Type,
846*61046927SAndroid Build Coastguard Worker                          IDirect3DQuery9 **ppQuery );
847*61046927SAndroid Build Coastguard Worker 
848*61046927SAndroid Build Coastguard Worker #endif /* _NINE_DEVICE9_H_ */
849