Path: blob/21.2-virgl/src/gallium/winsys/i915/drm/i915_drm_winsys.h
4566 views
1#ifndef INTEL_DRM_WINSYS_H2#define INTEL_DRM_WINSYS_H34#include "i915/i915_batchbuffer.h"56#include "drm-uapi/drm.h"7#include "intel_bufmgr.h"8910/*11* Winsys12*/131415struct i915_drm_winsys16{17struct i915_winsys base;1819bool dump_cmd;20const char *dump_raw_file;21bool send_cmd;2223int fd; /**< Drm file discriptor */2425size_t max_batch_size;2627drm_intel_bufmgr *gem_manager;28};2930static inline struct i915_drm_winsys *31i915_drm_winsys(struct i915_winsys *iws)32{33return (struct i915_drm_winsys *)iws;34}3536struct pipe_fence_handle * i915_drm_fence_create(drm_intel_bo *bo);3738void i915_drm_winsys_init_batchbuffer_functions(struct i915_drm_winsys *idws);39void i915_drm_winsys_init_buffer_functions(struct i915_drm_winsys *idws);40void i915_drm_winsys_init_fence_functions(struct i915_drm_winsys *idws);414243/*44* Buffer45*/464748struct i915_drm_buffer {49unsigned magic;5051drm_intel_bo *bo;5253void *ptr;54unsigned map_count;5556bool flinked;57unsigned flink;58};5960static inline struct i915_drm_buffer *61i915_drm_buffer(struct i915_winsys_buffer *buffer)62{63return (struct i915_drm_buffer *)buffer;64}6566static inline drm_intel_bo *67intel_bo(struct i915_winsys_buffer *buffer)68{69return i915_drm_buffer(buffer)->bo;70}7172#endif737475