1 /* 2 * Copyright (C) 2009 Francisco Jerez. 3 * All Rights Reserved. 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining 6 * a copy of this software and associated documentation files (the 7 * "Software"), to deal in the Software without restriction, including 8 * without limitation the rights to use, copy, modify, merge, publish, 9 * distribute, sublicense, and/or sell copies of the Software, and to 10 * permit persons to whom the Software is furnished to do so, subject to 11 * the following conditions: 12 * 13 * The above copyright notice and this permission notice (including the 14 * next paragraph) shall be included in all copies or substantial 15 * portions of the Software. 16 * 17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 18 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 21 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 22 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 23 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 * 25 */ 26 27 #ifndef __NV04_DRIVER_H__ 28 #define __NV04_DRIVER_H__ 29 30 #include "nv04_context.h" 31 32 enum { 33 NOUVEAU_STATE_BLEND = NUM_NOUVEAU_STATE, 34 NOUVEAU_STATE_CONTROL, 35 NUM_NV04_STATE 36 }; 37 38 #define NV04_TEXTURE_UNITS 2 39 40 /* nv04_render.c */ 41 void 42 nv04_render_init(struct gl_context *ctx); 43 44 void 45 nv04_render_destroy(struct gl_context *ctx); 46 47 /* nv04_surface.c */ 48 GLboolean 49 nv04_surface_init(struct gl_context *ctx); 50 51 void 52 nv04_surface_takedown(struct gl_context *ctx); 53 54 void 55 nv04_surface_copy(struct gl_context *ctx, 56 struct nouveau_surface *dst, struct nouveau_surface *src, 57 int dx, int dy, int sx, int sy, int w, int h); 58 59 void 60 nv04_surface_fill(struct gl_context *ctx, 61 struct nouveau_surface *dst, 62 unsigned mask, unsigned value, 63 int dx, int dy, int w, int h); 64 65 /* nv04_state_fb.c */ 66 void 67 nv04_emit_framebuffer(struct gl_context *ctx, int emit); 68 69 void 70 nv04_emit_scissor(struct gl_context *ctx, int emit); 71 72 /* nv04_state_raster.c */ 73 void 74 nv04_defer_control(struct gl_context *ctx, int emit); 75 76 void 77 nv04_emit_control(struct gl_context *ctx, int emit); 78 79 void 80 nv04_defer_blend(struct gl_context *ctx, int emit); 81 82 void 83 nv04_emit_blend(struct gl_context *ctx, int emit); 84 85 /* nv04_state_frag.c */ 86 void 87 nv04_emit_tex_env(struct gl_context *ctx, int emit); 88 89 /* nv04_state_tex.c */ 90 void 91 nv04_emit_tex_obj(struct gl_context *ctx, int emit); 92 93 #endif 94