144bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 244bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz#ifndef I915_SW_WINSYS_H 344bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz#define I915_SW_WINSYS_H 444bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 544bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz#include "i915/i915_winsys.h" 644bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 744bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 844bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz/* 944bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz * Winsys 1044bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz */ 1144bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 1244bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 1344bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantzstruct i915_sw_winsys 1444bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz{ 1544bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz struct i915_winsys base; 1644bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 1744bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz boolean dump_cmd; 1844bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 1944bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz size_t max_batch_size; 2044bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz}; 2144bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 2244bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantzstatic INLINE struct i915_sw_winsys * 2344bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantzi915_sw_winsys(struct i915_winsys *iws) 2444bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz{ 2544bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz return (struct i915_sw_winsys *)iws; 2644bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz} 2744bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 2844bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantzstruct pipe_fence_handle * i915_sw_fence_create(void); 2944bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 3044bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantzvoid i915_sw_winsys_init_batchbuffer_functions(struct i915_sw_winsys *idws); 3144bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantzvoid i915_sw_winsys_init_buffer_functions(struct i915_sw_winsys *idws); 3244bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantzvoid i915_sw_winsys_init_fence_functions(struct i915_sw_winsys *idws); 3344bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 3444bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 3544bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz/* 3644bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz * Buffer 3744bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz */ 3844bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 3944bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 4044bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantzstruct i915_sw_buffer { 4144bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz unsigned magic; 4244bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 4344bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz void *ptr; 4444bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz unsigned map_count; 4544bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz enum i915_winsys_buffer_type type; 464a666488c4e3067eed984e272149411cc2198c77Daniel Vetter enum i915_winsys_buffer_tile tiling; 474a666488c4e3067eed984e272149411cc2198c77Daniel Vetter unsigned stride; 4844bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz}; 4944bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 5044bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantzstatic INLINE struct i915_sw_buffer * 5144bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantzi915_sw_buffer(struct i915_winsys_buffer *buffer) 5244bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz{ 5344bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz return (struct i915_sw_buffer *)buffer; 5444bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz} 5544bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz 5644bafca1a0b1e9bf06e05a3ec982e0feab5ada47Jakob Bornecrantz#endif 57