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