i915_drm_winsys.h revision e18261885334522bcb2cce6e4a2ac7c509a7e3c0
1 2#ifndef INTEL_DRM_WINSYS_H 3#define INTEL_DRM_WINSYS_H 4 5#include "i915/i915_batchbuffer.h" 6 7#include "drm.h" 8#include "intel_bufmgr.h" 9 10 11/* 12 * Winsys 13 */ 14 15 16struct i915_drm_winsys 17{ 18 struct i915_winsys base; 19 20 boolean dump_cmd; 21 boolean send_cmd; 22 23 int fd; /**< Drm file discriptor */ 24 25 size_t max_batch_size; 26 27 struct { 28 drm_intel_bufmgr *gem; 29 } pools; 30}; 31 32static INLINE struct i915_drm_winsys * 33i915_drm_winsys(struct i915_winsys *iws) 34{ 35 return (struct i915_drm_winsys *)iws; 36} 37 38struct pipe_fence_handle * i915_drm_fence_create(drm_intel_bo *bo); 39 40void i915_drm_winsys_init_batchbuffer_functions(struct i915_drm_winsys *idws); 41void i915_drm_winsys_init_buffer_functions(struct i915_drm_winsys *idws); 42void i915_drm_winsys_init_fence_functions(struct i915_drm_winsys *idws); 43 44 45/* 46 * Buffer 47 */ 48 49 50struct i915_drm_buffer { 51 unsigned magic; 52 53 drm_intel_bo *bo; 54 55 void *ptr; 56 unsigned map_count; 57 58 boolean flinked; 59 unsigned flink; 60}; 61 62static INLINE struct i915_drm_buffer * 63i915_drm_buffer(struct i915_winsys_buffer *buffer) 64{ 65 return (struct i915_drm_buffer *)buffer; 66} 67 68static INLINE drm_intel_bo * 69intel_bo(struct i915_winsys_buffer *buffer) 70{ 71 return i915_drm_buffer(buffer)->bo; 72} 73 74#endif 75