1
2#ifndef I915_SW_WINSYS_H
3#define I915_SW_WINSYS_H
4
5#include "i915/i915_winsys.h"
6
7
8/*
9 * Winsys
10 */
11
12
13struct i915_sw_winsys
14{
15   struct i915_winsys base;
16
17   boolean dump_cmd;
18
19   size_t max_batch_size;
20};
21
22static INLINE struct i915_sw_winsys *
23i915_sw_winsys(struct i915_winsys *iws)
24{
25   return (struct i915_sw_winsys *)iws;
26}
27
28struct pipe_fence_handle * i915_sw_fence_create(void);
29
30void i915_sw_winsys_init_batchbuffer_functions(struct i915_sw_winsys *idws);
31void i915_sw_winsys_init_buffer_functions(struct i915_sw_winsys *idws);
32void i915_sw_winsys_init_fence_functions(struct i915_sw_winsys *idws);
33
34
35/*
36 * Buffer
37 */
38
39
40struct i915_sw_buffer {
41   unsigned magic;
42
43   void *ptr;
44   unsigned map_count;
45   enum i915_winsys_buffer_type type;
46   enum i915_winsys_buffer_tile tiling;
47   unsigned stride;
48};
49
50static INLINE struct i915_sw_buffer *
51i915_sw_buffer(struct i915_winsys_buffer *buffer)
52{
53   return (struct i915_sw_buffer *)buffer;
54}
55
56#endif
57