@@ -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) | |||
{ |