intel_buffers.h revision 17fa6772d7e223f940dd8ec4e4f6cf8cab9a03c7
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**************************************************************************
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright 2006 Tungsten Graphics, Inc., Cedar Park, Texas.
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * All Rights Reserved.
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Permission is hereby granted, free of charge, to any person obtaining a
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * copy of this software and associated documentation files (the
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * "Software"), to deal in the Software without restriction, including
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * without limitation the rights to use, copy, modify, merge, publish,
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distribute, sub license, and/or sell copies of the Software, and to
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * permit persons to whom the Software is furnished to do so, subject to
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the following conditions:
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The above copyright notice and this permission notice (including the
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * next paragraph) shall be included in all copies or substantial portions
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of the Software.
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
22043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFadden * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project **************************************************************************/
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFadden#ifndef INTEL_BUFFERS_H
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define INTEL_BUFFERS_H
31043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFadden
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "dri_util.h"
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "drm.h"
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "intel_context.h"
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFaddenstruct intel_context;
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstruct intel_framebuffer;
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39cc5471c35327c1511075f5df0d45a2d57610fecbJack Palevichextern struct intel_region *intel_readbuf_region(struct intel_context *intel);
40cc5471c35327c1511075f5df0d45a2d57610fecbJack Palevich
41cc5471c35327c1511075f5df0d45a2d57610fecbJack Palevichextern struct intel_region *intel_drawbuf_region(struct intel_context *intel);
42cc5471c35327c1511075f5df0d45a2d57610fecbJack Palevich
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern void intel_check_front_buffer_rendering(struct intel_context *intel);
44043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFadden
45043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFaddenstatic inline void
46043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFaddenintel_draw_buffer(struct gl_context * ctx)
47043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFadden{
48043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFadden   struct intel_context *intel = intel_context(ctx);
49043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFadden
50043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFadden   intel->vtbl.update_draw_buffer(intel);
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern void intelInitBufferFuncs(struct dd_function_table *functions);
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55043d13ad4b67b57fa8ba1fa35f48ff5bcc0f0141Andy McFaddenvoid intel_get_cliprects(struct intel_context *intel,
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project			 struct drm_clip_rect **cliprects,
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project			 unsigned int *num_cliprects,
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project			 int *x_off, int *y_off);
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifdef I915
609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectvoid intelCalcViewport(struct gl_context * ctx);
619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif /* INTEL_BUFFERS_H */
649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project