12228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#ifndef __NV30_CONTEXT_H__
22228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define __NV30_CONTEXT_H__
32228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
42228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#include "pipe/p_format.h"
54f0d97057c5c640b25518358886f8c47da9fc052Jean-Michel Trivi
62228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#include "nv30_screen.h"
72228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#include "nv30_state.h"
82228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
92228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#include "nouveau/nouveau_context.h"
102228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
112228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define BUFCTX_FB          0
122228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define BUFCTX_VTXTMP      1
132228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define BUFCTX_VTXBUF      2
142228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define BUFCTX_IDXBUF      3
152228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define BUFCTX_VERTTEX(n) (4 + (n))
162228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define BUFCTX_FRAGPROG    8
172228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define BUFCTX_FRAGTEX(n) (9 + (n))
182228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
192228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_BLEND        (1 << 0)
202228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_RASTERIZER   (1 << 1)
212228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_ZSA          (1 << 2)
222228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_VERTPROG     (1 << 3)
232228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_VERTCONST    (1 << 4)
242228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_FRAGPROG     (1 << 5)
252228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_FRAGCONST    (1 << 6)
262228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_BLEND_COLOUR (1 << 7)
272228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_STENCIL_REF  (1 << 8)
282228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_CLIP         (1 << 9)
292228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_SAMPLE_MASK  (1 << 10)
302228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_FRAMEBUFFER  (1 << 11)
312228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_STIPPLE      (1 << 12)
322228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_SCISSOR      (1 << 13)
332228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_VIEWPORT     (1 << 14)
342228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_ARRAYS       (1 << 15)
352228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_VERTEX       (1 << 16)
362228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_CONSTBUF     (1 << 17)
372228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_FRAGTEX      (1 << 18)
382228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_VERTTEX      (1 << 19)
392228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_SWTNL        (1 << 31)
402228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_NEW_ALL          0x000fffff
412228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
422228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectstruct nv30_context {
432228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct nouveau_context base;
442228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct nv30_screen *screen;
452228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
462228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct nouveau_bufctx *bufctx;
472228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
482228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct {
492228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned rt_enable;
502228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned scissor_off;
512228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned num_vtxelts;
522228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      boolean  prim_restart;
532228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      struct nv30_fragprog *fragprog;
542228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   } state;
552228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
562228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   uint32_t dirty;
572228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
582228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct draw_context *draw;
592228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   uint32_t draw_flags;
602228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   uint32_t draw_dirty;
612228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
622228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct nv30_blend_stateobj *blend;
632228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct nv30_rasterizer_stateobj *rast;
642228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct nv30_zsa_stateobj *zsa;
652228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct nv30_vertex_stateobj *vertex;
662228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
672228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct {
682228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned filter;
692228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned aniso;
702228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   } config;
712228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
722228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct {
732228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      struct nv30_vertprog *program;
742228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
752228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      struct pipe_resource *constbuf;
762228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned constbuf_nr;
772228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
782228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      struct pipe_sampler_view *textures[PIPE_MAX_SAMPLERS];
792228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned num_textures;
802228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      struct nv30_sampler_state *samplers[PIPE_MAX_SAMPLERS];
812228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned num_samplers;
822228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned dirty_samplers;
832228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   } vertprog;
842228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
852228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct {
862228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      struct nv30_fragprog *program;
872228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
882228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      struct pipe_resource *constbuf;
892228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned constbuf_nr;
902228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
912228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      struct pipe_sampler_view *textures[PIPE_MAX_SAMPLERS];
922228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned num_textures;
932228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      struct nv30_sampler_state *samplers[PIPE_MAX_SAMPLERS];
942228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned num_samplers;
952228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      unsigned dirty_samplers;
962228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   } fragprog;
972228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
982228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct pipe_framebuffer_state framebuffer;
992228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct pipe_blend_color blend_colour;
1002228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct pipe_stencil_ref stencil_ref;
1014f0d97057c5c640b25518358886f8c47da9fc052Jean-Michel Trivi   struct pipe_poly_stipple stipple;
1026792cf6361ff339e336287affb0bfe54bf6957a9Jean-Michel Trivi   struct pipe_scissor_state scissor;
1032228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct pipe_viewport_state viewport;
1042228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct pipe_clip_state clip;
1052228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1062228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   unsigned sample_mask;
1072228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1082228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct pipe_vertex_buffer vtxbuf[PIPE_MAX_ATTRIBS];
1092228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   unsigned num_vtxbufs;
1102228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct pipe_index_buffer idxbuf;
1112228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   uint32_t vbo_fifo;
1122228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   uint32_t vbo_user;
1132228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   unsigned vbo_min_index;
1142228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   unsigned vbo_max_index;
1152228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   boolean  vbo_push_hint;
1162228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1172228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct nouveau_heap  *blit_vp;
1182228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   struct pipe_resource *blit_fp;
1192228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1202228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   /*XXX: nvfx state, DO NOT USE EVER OUTSIDE "STOLEN" NVFX code */
1212228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   unsigned is_nv4x;
1222228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   unsigned use_nv4x;
1232228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   bool hw_pointsprite_control;
1242228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   enum {
1252228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      HW,
1262228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   } render_mode;
1272228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project};
1282228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1292228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectstatic INLINE struct nv30_context *
1302228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_context(struct pipe_context *pipe)
1312228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project{
1322228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   return (struct nv30_context *)pipe;
1332228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project}
1342228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1352228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectstruct pipe_context *
1362228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_context_create(struct pipe_screen *pscreen, void *priv);
1372228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1382228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1392228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_vbo_init(struct pipe_context *pipe);
1402228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1412228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1422228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_vbo_validate(struct nv30_context *nv30);
1432228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1442228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1452228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_query_init(struct pipe_context *pipe);
1462228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1472228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1482228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_state_init(struct pipe_context *pipe);
1492228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1502228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1512228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_clear_init(struct pipe_context *pipe);
1522228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1532228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1542228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_vertprog_init(struct pipe_context *pipe);
1552228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1562228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1572228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_vertprog_validate(struct nv30_context *nv30);
1582228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1592228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1602228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_fragprog_init(struct pipe_context *pipe);
1612228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1622228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1632228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_fragprog_validate(struct nv30_context *nv30);
1642228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1652228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1662228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_texture_init(struct pipe_context *pipe);
1672228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1682228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1692228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_texture_validate(struct nv30_context *nv30);
1702228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1712228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1722228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_fragtex_init(struct pipe_context *pipe);
1732228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1742228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1752228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_fragtex_validate(struct nv30_context *nv30);
1762228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1772228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1782228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv40_verttex_init(struct pipe_context *pipe);
1792228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1802228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1812228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv40_verttex_validate(struct nv30_context *nv30);
1822228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1832228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1842228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_push_vbo(struct nv30_context *nv30, const struct pipe_draw_info *info);
1852228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1862228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1872228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_draw_init(struct pipe_context *pipe);
1882228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1892228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1902228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_render_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info);
1912228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1922228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectboolean
1932228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_state_validate(struct nv30_context *nv30, boolean hwtnl);
1942228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1952228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
1962228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_state_release(struct nv30_context *nv30);
1972228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
1982228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project//XXX: needed to make it build, clean this up!
1992228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectvoid
2002228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project_nvfx_fragprog_translate(struct nv30_context *nvfx, struct nv30_fragprog *fp,
2012228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project         boolean emulate_sprite_flipping);
2022228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
2032228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectboolean
2042228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project_nvfx_vertprog_translate(struct nv30_context *nv30, struct nv30_vertprog *vp);
2052228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
2062228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#ifdef NV30_3D_VERTEX_BEGIN_END
2072228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#define NV30_PRIM_GL_CASE(n) \
2082228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   case PIPE_PRIM_##n: return NV30_3D_VERTEX_BEGIN_END_##n
2092228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
2102228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectstatic INLINE unsigned
2112228e360595641dd906bf1773307f43d304f5b2The Android Open Source Projectnv30_prim_gl(unsigned prim)
2122228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project{
2132228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   switch (prim) {
2142228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   NV30_PRIM_GL_CASE(POINTS);
2152228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   NV30_PRIM_GL_CASE(LINES);
2162228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   NV30_PRIM_GL_CASE(LINE_LOOP);
2172228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   NV30_PRIM_GL_CASE(LINE_STRIP);
2182228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   NV30_PRIM_GL_CASE(TRIANGLES);
2192228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   NV30_PRIM_GL_CASE(TRIANGLE_STRIP);
2202228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   NV30_PRIM_GL_CASE(TRIANGLE_FAN);
2212228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   NV30_PRIM_GL_CASE(QUADS);
2222228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   NV30_PRIM_GL_CASE(QUAD_STRIP);
2232228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   NV30_PRIM_GL_CASE(POLYGON);
2242228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   default:
2252228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      return NV30_3D_VERTEX_BEGIN_END_POINTS;
2262228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project      break;
2272228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project   }
2282228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project}
2292228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#endif
2302228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project
2312228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project#endif
2322228e360595641dd906bf1773307f43d304f5b2The Android Open Source Project