1ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul/* 2ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * Mesa 3-D graphics library 3ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * Version: 6.5 4ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * 5ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. 6ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * 7ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * Permission is hereby granted, free of charge, to any person obtaining a 8ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * copy of this software and associated documentation files (the "Software"), 9ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * to deal in the Software without restriction, including without limitation 10ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * and/or sell copies of the Software, and to permit persons to whom the 12ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * Software is furnished to do so, subject to the following conditions: 13ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * 14ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * The above copyright notice and this permission notice shall be included 15ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * in all copies or substantial portions of the Software. 16ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * 17ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 20ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 21ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul */ 24ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 25ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 26379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul#ifndef S_RENDERBUFFER_H 27379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul#define S_RENDERBUFFER_H 28379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul 29379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul#include "main/glheader.h" 30ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 31ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 32ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paulstruct gl_context; 33ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paulstruct gl_framebuffer; 34ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paulstruct gl_renderbuffer; 35ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 36ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 37ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paulextern struct gl_renderbuffer * 38379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul_swrast_new_soft_renderbuffer(struct gl_context *ctx, GLuint name); 39ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 40ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paulextern void 41379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul_swrast_map_soft_renderbuffer(struct gl_context *ctx, 42379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul struct gl_renderbuffer *rb, 43379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul GLuint x, GLuint y, GLuint w, GLuint h, 44379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul GLbitfield mode, 45379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul GLubyte **out_map, 46379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul GLint *out_stride); 47ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 48ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paulextern void 49379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul_swrast_unmap_soft_renderbuffer(struct gl_context *ctx, 50379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul struct gl_renderbuffer *rb); 51ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 52ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paulextern void 53379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul_swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb); 54ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 55ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 56ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paulextern void 57379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul_swrast_add_soft_renderbuffers(struct gl_framebuffer *fb, 58379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul GLboolean color, 59379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul GLboolean depth, 60379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul GLboolean stencil, 61379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul GLboolean accum, 62379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul GLboolean alpha, 63379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul GLboolean aux); 64ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 65ff8e6420fbbbd80c8fd7327f2f2b68e016b7f5c0Brian Paul 66379e0a3ada995b4cf57d142e0dd4618022e0aadcBrian Paul#endif /* S_RENDERBUFFER_H */ 67