diff options
Diffstat (limited to 'src/mesa/drivers/dri/i915-tex/intel_bufmgr.h')
-rw-r--r-- | src/mesa/drivers/dri/i915-tex/intel_bufmgr.h | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/src/mesa/drivers/dri/i915-tex/intel_bufmgr.h b/src/mesa/drivers/dri/i915-tex/intel_bufmgr.h deleted file mode 100644 index f323611c48c..00000000000 --- a/src/mesa/drivers/dri/i915-tex/intel_bufmgr.h +++ /dev/null @@ -1,132 +0,0 @@ -/************************************************************************** - * - * Copyright 2006 Tungsten Graphics, Inc., Steamboat Springs, CO. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - * USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * - **************************************************************************/ - -#ifndef BUFMGR_H -#define BUFMGR_H - -#include "intel_context.h" - -/* Note that this is destined to be external to Mesa, so don't use GL - * types like GLuint, etc. - */ - -/* The buffer manager context. Opaque. - */ -struct bufmgr; - -struct bufmgr *bm_intel_Attach(struct intel_context *intel); - -#define BM_BATCHBUFFER 0x10000000 /* for map - pointer will be accessed - * without dri lock */ - -/* Stick closely to ARB_vbo semantics - they're well defined and - * understood, and drivers can just pass the calls through without too - * much thunking. - */ -void bmGenBuffers(struct bufmgr *, unsigned n, unsigned *buffers, - unsigned flags); - -void bmDeleteBuffers(struct bufmgr *, unsigned n, unsigned *buffers); - -/* The driver has more intimate knowledge of the hardare than a GL - * client would, so flags here is more proscriptive than the usage - * values in the ARB_vbo interface: - */ -void bmBufferData(struct bufmgr *, - unsigned buffer, - unsigned size, const void *data, unsigned flags); - -void bmBufferSubData(struct bufmgr *, - unsigned buffer, - unsigned offset, unsigned size, const void *data); - -void bmBufferGetSubData(struct bufmgr *, - unsigned buffer, - unsigned offset, unsigned size, void *data); - -void *bmMapBuffer(struct bufmgr *, unsigned buffer, unsigned access); - -void bmUnmapBuffer(struct bufmgr *, unsigned buffer); - -/* To be called prior to emitting commands to hardware which reference - * these buffers. - * - * NewBufferList() and AddBuffer() build up a list of buffers to be - * validated. The buffer list provides information on where the - * buffers should be placed and whether their contents need to be - * preserved on copying. The offset data elements are return values - * from this function telling the driver exactly where the buffers are - * currently located. - * - * ValidateBufferList() performs the actual validation and returns the - * buffer pools and offsets within the pools. - * - * FenceBufferList() must be called to set fences and other - * housekeeping before unlocking after a successful call to - * ValidateBufferList(). The buffer manager knows how to emit and test - * fences directly through the drm and without callbacks to the - * driver. - */ -struct _drmMMBufList *bmNewBufferList(void); - -int bmAddBuffer(struct bufmgr *bm, - struct _drmMMBufList *list, - unsigned buffer, - unsigned flags, - unsigned *pool_return, unsigned long *offset_return); - -int bmValidateBufferList(struct bufmgr *, - struct _drmMMBufList *, unsigned flags); - -unsigned bmFenceBufferList(struct bufmgr *, struct _drmMMBufList *); - -void bmFreeBufferList(struct _drmMMBufList *); - -int bmScanBufferList(struct bufmgr *bm, - struct _drmMMBufList *list, unsigned buffer); - -/* This functionality is used by the buffer manager, not really sure - * if we need to be exposing it in this way, probably libdrm will - * offer equivalent calls. - * - * For now they can stay, but will likely change/move before final: - */ -unsigned bmSetFence(struct bufmgr *); -int bmTestFence(struct bufmgr *, unsigned fence); -void bmFinishFence(struct bufmgr *, unsigned fence); - -void bmSetShared(struct bufmgr *bm, unsigned buffer, - unsigned flags, unsigned long offset, void *virtual); - -extern int INTEL_DEBUG; - -#define DEBUG_BUFMGR 0x2000 - -#define DBG(...) do { if (INTEL_DEBUG & DEBUG_BUFMGR) _mesa_printf(__VA_ARGS__); } while(0) - -#endif |