16bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora/*
26bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * Copyright 2009 Maciej Cencora <m.cencora@gmail.com>
36bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora *
46bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * All Rights Reserved.
56bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora *
66bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * Permission is hereby granted, free of charge, to any person obtaining
76bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * a copy of this software and associated documentation files (the
86bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * "Software"), to deal in the Software without restriction, including
96bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * without limitation the rights to use, copy, modify, merge, publish,
106bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * distribute, sublicense, and/or sell copies of the Software, and to
116bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * permit persons to whom the Software is furnished to do so, subject to
126bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * the following conditions:
136bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora *
146bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * The above copyright notice and this permission notice (including the
156bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * next paragraph) shall be included in all copies or substantial
166bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * portions of the Software.
176bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora *
186bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
196bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
206bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
216bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
226bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
236bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
246bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
256bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora *
266bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora */
276bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora
286bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora#ifndef RADEON_BUFFER_OBJECTS_H
296bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora#define RADEON_BUFFER_OBJECTS_H
306bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora
316bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora#include "main/mtypes.h"
326bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora
336bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencorastruct radeon_bo;
346bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora
356bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora/**
366bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * Radeon vertex/pixel buffer object, derived from Mesa's gl_buffer_object.
376bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora */
386bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencorastruct radeon_buffer_object
396bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora{
406bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora   struct gl_buffer_object Base;
416bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora   struct radeon_bo *bo;
426bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora};
436bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora
446bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencorastruct radeon_buffer_object *
456bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencoraget_radeon_buffer_object(struct gl_buffer_object *obj);
466bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora
476bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora/**
486bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora * Hook the bufferobject implementation into mesa:
496bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora */
506bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencoravoid radeonInitBufferObjectFuncs(struct dd_function_table *functions);
516bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora
526bcbeb02d61442919a2ae4dfd642547e5f7b1439Maciej Cencora#endif
53