| @@ -259,4 +259,35 @@ nv50_upload_sifc(struct nv50_context *nv50, | |||
| struct pipe_context * | |||
| nv50_create(struct pipe_screen *pscreen, void *priv); | |||
| static INLINE unsigned | |||
| nv50_prim(unsigned mode) | |||
| { | |||
| switch (mode) { | |||
| case PIPE_PRIM_POINTS: return NV50TCL_VERTEX_BEGIN_POINTS; | |||
| case PIPE_PRIM_LINES: return NV50TCL_VERTEX_BEGIN_LINES; | |||
| case PIPE_PRIM_LINE_LOOP: return NV50TCL_VERTEX_BEGIN_LINE_LOOP; | |||
| case PIPE_PRIM_LINE_STRIP: return NV50TCL_VERTEX_BEGIN_LINE_STRIP; | |||
| case PIPE_PRIM_TRIANGLES: return NV50TCL_VERTEX_BEGIN_TRIANGLES; | |||
| case PIPE_PRIM_TRIANGLE_STRIP: | |||
| return NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP; | |||
| case PIPE_PRIM_TRIANGLE_FAN: return NV50TCL_VERTEX_BEGIN_TRIANGLE_FAN; | |||
| case PIPE_PRIM_QUADS: return NV50TCL_VERTEX_BEGIN_QUADS; | |||
| case PIPE_PRIM_QUAD_STRIP: return NV50TCL_VERTEX_BEGIN_QUAD_STRIP; | |||
| case PIPE_PRIM_POLYGON: return NV50TCL_VERTEX_BEGIN_POLYGON; | |||
| case PIPE_PRIM_LINES_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_LINES_ADJACENCY; | |||
| case PIPE_PRIM_LINE_STRIP_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_LINE_STRIP_ADJACENCY; | |||
| case PIPE_PRIM_TRIANGLES_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_TRIANGLES_ADJACENCY; | |||
| case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP_ADJACENCY; | |||
| default: | |||
| break; | |||
| } | |||
| NOUVEAU_ERR("invalid primitive type %d\n", mode); | |||
| return NV50TCL_VERTEX_BEGIN_POINTS; | |||
| } | |||
| #endif | |||
| @@ -6,37 +6,6 @@ | |||
| #include "nouveau/nouveau_util.h" | |||
| #include "nv50_context.h" | |||
| static INLINE unsigned | |||
| nv50_prim(unsigned mode) | |||
| { | |||
| switch (mode) { | |||
| case PIPE_PRIM_POINTS: return NV50TCL_VERTEX_BEGIN_POINTS; | |||
| case PIPE_PRIM_LINES: return NV50TCL_VERTEX_BEGIN_LINES; | |||
| case PIPE_PRIM_LINE_LOOP: return NV50TCL_VERTEX_BEGIN_LINE_LOOP; | |||
| case PIPE_PRIM_LINE_STRIP: return NV50TCL_VERTEX_BEGIN_LINE_STRIP; | |||
| case PIPE_PRIM_TRIANGLES: return NV50TCL_VERTEX_BEGIN_TRIANGLES; | |||
| case PIPE_PRIM_TRIANGLE_STRIP: | |||
| return NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP; | |||
| case PIPE_PRIM_TRIANGLE_FAN: return NV50TCL_VERTEX_BEGIN_TRIANGLE_FAN; | |||
| case PIPE_PRIM_QUADS: return NV50TCL_VERTEX_BEGIN_QUADS; | |||
| case PIPE_PRIM_QUAD_STRIP: return NV50TCL_VERTEX_BEGIN_QUAD_STRIP; | |||
| case PIPE_PRIM_POLYGON: return NV50TCL_VERTEX_BEGIN_POLYGON; | |||
| case PIPE_PRIM_LINES_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_LINES_ADJACENCY; | |||
| case PIPE_PRIM_LINE_STRIP_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_LINE_STRIP_ADJACENCY; | |||
| case PIPE_PRIM_TRIANGLES_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_TRIANGLES_ADJACENCY; | |||
| case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP_ADJACENCY; | |||
| default: | |||
| break; | |||
| } | |||
| NOUVEAU_ERR("invalid primitive type %d\n", mode); | |||
| return NV50TCL_VERTEX_BEGIN_POINTS; | |||
| } | |||
| struct push_context { | |||
| struct nv50_context *nv50; | |||
| @@ -30,37 +30,6 @@ | |||
| #define NV50_USING_LOATHED_EDGEFLAG(ctx) ((ctx)->vertprog->cfg.edgeflag_in < 16) | |||
| static INLINE unsigned | |||
| nv50_prim(unsigned mode) | |||
| { | |||
| switch (mode) { | |||
| case PIPE_PRIM_POINTS: return NV50TCL_VERTEX_BEGIN_POINTS; | |||
| case PIPE_PRIM_LINES: return NV50TCL_VERTEX_BEGIN_LINES; | |||
| case PIPE_PRIM_LINE_LOOP: return NV50TCL_VERTEX_BEGIN_LINE_LOOP; | |||
| case PIPE_PRIM_LINE_STRIP: return NV50TCL_VERTEX_BEGIN_LINE_STRIP; | |||
| case PIPE_PRIM_TRIANGLES: return NV50TCL_VERTEX_BEGIN_TRIANGLES; | |||
| case PIPE_PRIM_TRIANGLE_STRIP: | |||
| return NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP; | |||
| case PIPE_PRIM_TRIANGLE_FAN: return NV50TCL_VERTEX_BEGIN_TRIANGLE_FAN; | |||
| case PIPE_PRIM_QUADS: return NV50TCL_VERTEX_BEGIN_QUADS; | |||
| case PIPE_PRIM_QUAD_STRIP: return NV50TCL_VERTEX_BEGIN_QUAD_STRIP; | |||
| case PIPE_PRIM_POLYGON: return NV50TCL_VERTEX_BEGIN_POLYGON; | |||
| case PIPE_PRIM_LINES_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_LINES_ADJACENCY; | |||
| case PIPE_PRIM_LINE_STRIP_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_LINE_STRIP_ADJACENCY; | |||
| case PIPE_PRIM_TRIANGLES_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_TRIANGLES_ADJACENCY; | |||
| case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY: | |||
| return NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP_ADJACENCY; | |||
| default: | |||
| break; | |||
| } | |||
| NOUVEAU_ERR("invalid primitive type %d\n", mode); | |||
| return NV50TCL_VERTEX_BEGIN_POINTS; | |||
| } | |||
| static INLINE uint32_t | |||
| nv50_vbo_type_to_hw(enum pipe_format format) | |||
| { | |||