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