| @@ -189,7 +189,7 @@ nvgl_primitive(unsigned prim) { | |||
| case PIPE_PRIM_POLYGON: | |||
| return 0x000a; | |||
| default: | |||
| assert(0); | |||
| return 0x0001; | |||
| } | |||
| } | |||
| @@ -71,6 +71,8 @@ nv40_get_paramf(struct pipe_context *pipe, int param) | |||
| return 16.0; | |||
| case PIPE_CAP_MAX_TEXTURE_LOD_BIAS: | |||
| return 4.0; | |||
| case PIPE_CAP_BITMAP_TEXCOORD_BIAS: | |||
| return 0.0; | |||
| default: | |||
| NOUVEAU_ERR("Unknown PIPE_CAP %d\n", param); | |||
| return 0.0; | |||
| @@ -826,6 +826,7 @@ nv40_fragprog_bind(struct nv40_context *nv40, struct nv40_fragment_program *fp) | |||
| so_emit(nv40->nvws, so); | |||
| so_ref(so, &fp->so); | |||
| so_ref(NULL, &so); | |||
| nv40->fragprog.active = fp; | |||
| } | |||
| @@ -121,6 +121,7 @@ nv40_fragtex_build(struct nv40_context *nv40, int unit) | |||
| so_emit(nv40->nvws, so); | |||
| so_ref (so, &nv40->so_fragtex[unit]); | |||
| so_ref (NULL, &so); | |||
| } | |||
| void | |||
| @@ -53,27 +53,26 @@ nv40_miptree_layout(struct nv40_miptree *nv40mt) | |||
| nv40mt->total_size = offset; | |||
| } | |||
| static void | |||
| nv40_miptree_create(struct pipe_context *pipe, struct pipe_texture **pt) | |||
| static struct pipe_texture * | |||
| nv40_miptree_create(struct pipe_context *pipe, const struct pipe_texture *pt) | |||
| { | |||
| struct pipe_winsys *ws = pipe->winsys; | |||
| struct nv40_miptree *nv40mt; | |||
| nv40mt = realloc(*pt, sizeof(struct nv40_miptree)); | |||
| if (!nv40mt) | |||
| return; | |||
| *pt = NULL; | |||
| nv40_miptree_layout(nv40mt); | |||
| nv40mt->buffer = ws->buffer_create(ws, 256, PIPE_BUFFER_USAGE_PIXEL, | |||
| nv40mt->total_size); | |||
| if (!nv40mt->buffer) { | |||
| free(nv40mt); | |||
| return; | |||
| struct nv40_miptree *mt; | |||
| mt = malloc(sizeof(struct nv40_miptree)); | |||
| if (!mt) | |||
| return NULL; | |||
| mt->base = *pt; | |||
| nv40_miptree_layout(mt); | |||
| mt->buffer = ws->buffer_create(ws, 256, PIPE_BUFFER_USAGE_PIXEL, | |||
| mt->total_size); | |||
| if (!mt->buffer) { | |||
| free(mt); | |||
| return NULL; | |||
| } | |||
| *pt = &nv40mt->base; | |||
| return &mt->base; | |||
| } | |||
| static void | |||
| @@ -4,10 +4,11 @@ | |||
| #include "nv50_context.h" | |||
| static void | |||
| nv50_miptree_create(struct pipe_context *pipe, struct pipe_texture **pt) | |||
| static struct pipe_texture * | |||
| nv50_miptree_create(struct pipe_context *pipe, const struct pipe_texture *pt) | |||
| { | |||
| NOUVEAU_ERR("unimplemented\n"); | |||
| return NULL; | |||
| } | |||
| static void | |||