diff options
| author | Pekka Paalanen <pq@iki.fi> | 2008-11-08 18:04:33 +0200 | 
|---|---|---|
| committer | Pekka Paalanen <pq@iki.fi> | 2008-11-08 18:04:33 +0200 | 
| commit | b5a3c4272be1561646c8a104e4faae870f16ddee (patch) | |
| tree | 3abefa1bbe1411102b9495d0e27e595ccc09e20d /src | |
| parent | 83bb81856066101dff85fdebea32df55ed8de4c5 (diff) | |
Nouveau: name replace for nv20.
No functional changes, only changed function, struct, macro etc. names.
nv10 -> nv20
nv30 -> nv20
celsius -> kelvin
Did not touch fifo command macros.
Don't try to build nv20_vertprog.c for now.
Signed-off-by: Pekka Paalanen <pq@iki.fi>
Diffstat (limited to 'src')
| -rw-r--r-- | src/gallium/drivers/nv20/Makefile | 4 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_clear.c | 4 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_context.c | 194 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_context.h | 104 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_fragprog.c | 8 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_fragtex.c | 46 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_miptree.c | 68 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_prim_vbuf.c | 130 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_screen.c | 54 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_screen.h | 14 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_state.c | 256 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_state.h | 30 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_state_emit.c | 200 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_surface.c | 20 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_vbo.c | 30 | ||||
| -rw-r--r-- | src/gallium/drivers/nv20/nv20_vertprog.c | 146 | 
16 files changed, 654 insertions, 654 deletions
| diff --git a/src/gallium/drivers/nv20/Makefile b/src/gallium/drivers/nv20/Makefile index 76aafbe8f0..d777fd3d8b 100644 --- a/src/gallium/drivers/nv20/Makefile +++ b/src/gallium/drivers/nv20/Makefile @@ -14,8 +14,8 @@ DRIVER_SOURCES = \  	nv20_state.c \  	nv20_state_emit.c \  	nv20_surface.c \ -	nv20_vbo.c \ -	nv20_vertprog.c +	nv20_vbo.c +#	nv20_vertprog.c  C_SOURCES = \  	$(COMMON_SOURCES) \ diff --git a/src/gallium/drivers/nv20/nv20_clear.c b/src/gallium/drivers/nv20/nv20_clear.c index be7e09cf4b..81b6f3e78a 100644 --- a/src/gallium/drivers/nv20/nv20_clear.c +++ b/src/gallium/drivers/nv20/nv20_clear.c @@ -2,10 +2,10 @@  #include "pipe/p_defines.h"  #include "pipe/p_state.h" -#include "nv10_context.h" +#include "nv20_context.h"  void -nv10_clear(struct pipe_context *pipe, struct pipe_surface *ps, +nv20_clear(struct pipe_context *pipe, struct pipe_surface *ps,  	   unsigned clearValue)  {  	pipe->surface_fill(pipe, ps, 0, 0, ps->width, ps->height, clearValue); diff --git a/src/gallium/drivers/nv20/nv20_context.c b/src/gallium/drivers/nv20/nv20_context.c index e9b61daae7..2af5b0203e 100644 --- a/src/gallium/drivers/nv20/nv20_context.c +++ b/src/gallium/drivers/nv20/nv20_context.c @@ -2,101 +2,101 @@  #include "pipe/p_defines.h"  #include "pipe/p_winsys.h" -#include "nv10_context.h" -#include "nv10_screen.h" +#include "nv20_context.h" +#include "nv20_screen.h"  static void -nv10_flush(struct pipe_context *pipe, unsigned flags, +nv20_flush(struct pipe_context *pipe, unsigned flags,  	   struct pipe_fence_handle **fence)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	draw_flush(nv10->draw); +	draw_flush(nv20->draw);  	FIRE_RING(fence);  }  static void -nv10_destroy(struct pipe_context *pipe) +nv20_destroy(struct pipe_context *pipe)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	if (nv10->draw) -		draw_destroy(nv10->draw); +	if (nv20->draw) +		draw_destroy(nv20->draw); -	FREE(nv10); +	FREE(nv20);  } -static void nv10_init_hwctx(struct nv10_context *nv10) +static void nv20_init_hwctx(struct nv20_context *nv20)  { -	struct nv10_screen *screen = nv10->screen; +	struct nv20_screen *screen = nv20->screen;  	struct nouveau_winsys *nvws = screen->nvws;  	int i;  	float projectionmatrix[16]; -	BEGIN_RING(celsius, NV10TCL_DMA_NOTIFY, 1); +	BEGIN_RING(kelvin, NV10TCL_DMA_NOTIFY, 1);  	OUT_RING  (screen->sync->handle); -	BEGIN_RING(celsius, NV10TCL_DMA_IN_MEMORY0, 2); +	BEGIN_RING(kelvin, NV10TCL_DMA_IN_MEMORY0, 2);  	OUT_RING  (nvws->channel->vram->handle);  	OUT_RING  (nvws->channel->gart->handle); -	BEGIN_RING(celsius, NV10TCL_DMA_IN_MEMORY2, 2); +	BEGIN_RING(kelvin, NV10TCL_DMA_IN_MEMORY2, 2);  	OUT_RING  (nvws->channel->vram->handle);  	OUT_RING  (nvws->channel->vram->handle); -	BEGIN_RING(celsius, NV10TCL_NOP, 1); +	BEGIN_RING(kelvin, NV10TCL_NOP, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_RT_HORIZ, 2); +	BEGIN_RING(kelvin, NV10TCL_RT_HORIZ, 2);  	OUT_RING  (0);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_VIEWPORT_CLIP_HORIZ(0), 1); +	BEGIN_RING(kelvin, NV10TCL_VIEWPORT_CLIP_HORIZ(0), 1);  	OUT_RING  ((0x7ff<<16)|0x800); -	BEGIN_RING(celsius, NV10TCL_VIEWPORT_CLIP_VERT(0), 1); +	BEGIN_RING(kelvin, NV10TCL_VIEWPORT_CLIP_VERT(0), 1);  	OUT_RING  ((0x7ff<<16)|0x800);  	for (i=1;i<8;i++) { -		BEGIN_RING(celsius, NV10TCL_VIEWPORT_CLIP_HORIZ(i), 1); +		BEGIN_RING(kelvin, NV10TCL_VIEWPORT_CLIP_HORIZ(i), 1);  		OUT_RING  (0); -		BEGIN_RING(celsius, NV10TCL_VIEWPORT_CLIP_VERT(i), 1); +		BEGIN_RING(kelvin, NV10TCL_VIEWPORT_CLIP_VERT(i), 1);  		OUT_RING  (0);  	} -	BEGIN_RING(celsius, 0x290, 1); +	BEGIN_RING(kelvin, 0x290, 1);  	OUT_RING  ((0x10<<16)|1); -	BEGIN_RING(celsius, 0x3f4, 1); +	BEGIN_RING(kelvin, 0x3f4, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_NOP, 1); +	BEGIN_RING(kelvin, NV10TCL_NOP, 1);  	OUT_RING  (0); -	if (nv10->screen->celsius->grclass != NV10TCL) { +	if (nv20->screen->kelvin->grclass != NV10TCL) {  		/* For nv11, nv17 */ -		BEGIN_RING(celsius, 0x120, 3); +		BEGIN_RING(kelvin, 0x120, 3);  		OUT_RING  (0);  		OUT_RING  (1);  		OUT_RING  (2); -		BEGIN_RING(celsius, NV10TCL_NOP, 1); +		BEGIN_RING(kelvin, NV10TCL_NOP, 1);  		OUT_RING  (0);  	} -	BEGIN_RING(celsius, NV10TCL_NOP, 1); +	BEGIN_RING(kelvin, NV10TCL_NOP, 1);  	OUT_RING  (0);  	/* Set state */ -	BEGIN_RING(celsius, NV10TCL_FOG_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_FOG_ENABLE, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_ALPHA_FUNC_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_ALPHA_FUNC_ENABLE, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_ALPHA_FUNC_FUNC, 2); +	BEGIN_RING(kelvin, NV10TCL_ALPHA_FUNC_FUNC, 2);  	OUT_RING  (0x207);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_TX_ENABLE(0), 2); +	BEGIN_RING(kelvin, NV10TCL_TX_ENABLE(0), 2);  	OUT_RING  (0);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_RC_IN_ALPHA(0), 12); +	BEGIN_RING(kelvin, NV10TCL_RC_IN_ALPHA(0), 12);  	OUT_RING  (0x30141010);  	OUT_RING  (0);  	OUT_RING  (0x20040000); @@ -110,22 +110,22 @@ static void nv10_init_hwctx(struct nv10_context *nv10)  	OUT_RING  (0x300e0300);  	OUT_RING  (0x0c091c80); -	BEGIN_RING(celsius, NV10TCL_BLEND_FUNC_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_BLEND_FUNC_ENABLE, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_DITHER_ENABLE, 2); +	BEGIN_RING(kelvin, NV10TCL_DITHER_ENABLE, 2);  	OUT_RING  (1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_LINE_SMOOTH_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_LINE_SMOOTH_ENABLE, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_VERTEX_WEIGHT_ENABLE, 2); +	BEGIN_RING(kelvin, NV10TCL_VERTEX_WEIGHT_ENABLE, 2);  	OUT_RING  (0);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_BLEND_FUNC_SRC, 4); +	BEGIN_RING(kelvin, NV10TCL_BLEND_FUNC_SRC, 4);  	OUT_RING  (1);  	OUT_RING  (0);  	OUT_RING  (0);  	OUT_RING  (0x8006); -	BEGIN_RING(celsius, NV10TCL_STENCIL_MASK, 8); +	BEGIN_RING(kelvin, NV10TCL_STENCIL_MASK, 8);  	OUT_RING  (0xff);  	OUT_RING  (0x207);  	OUT_RING  (0); @@ -134,103 +134,103 @@ static void nv10_init_hwctx(struct nv10_context *nv10)  	OUT_RING  (0x1e00);  	OUT_RING  (0x1e00);  	OUT_RING  (0x1d01); -	BEGIN_RING(celsius, NV10TCL_NORMALIZE_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_NORMALIZE_ENABLE, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_FOG_ENABLE, 2); +	BEGIN_RING(kelvin, NV10TCL_FOG_ENABLE, 2);  	OUT_RING  (0);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_LIGHT_MODEL, 1); +	BEGIN_RING(kelvin, NV10TCL_LIGHT_MODEL, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_COLOR_CONTROL, 1); +	BEGIN_RING(kelvin, NV10TCL_COLOR_CONTROL, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_ENABLED_LIGHTS, 1); +	BEGIN_RING(kelvin, NV10TCL_ENABLED_LIGHTS, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_POLYGON_OFFSET_POINT_ENABLE, 3); +	BEGIN_RING(kelvin, NV10TCL_POLYGON_OFFSET_POINT_ENABLE, 3);  	OUT_RING  (0);  	OUT_RING  (0);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_DEPTH_FUNC, 1); +	BEGIN_RING(kelvin, NV10TCL_DEPTH_FUNC, 1);  	OUT_RING  (0x201); -	BEGIN_RING(celsius, NV10TCL_DEPTH_WRITE_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_DEPTH_WRITE_ENABLE, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_DEPTH_TEST_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_DEPTH_TEST_ENABLE, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_POLYGON_OFFSET_FACTOR, 2); +	BEGIN_RING(kelvin, NV10TCL_POLYGON_OFFSET_FACTOR, 2);  	OUT_RING  (0);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_POINT_SIZE, 1); +	BEGIN_RING(kelvin, NV10TCL_POINT_SIZE, 1);  	OUT_RING  (8); -	BEGIN_RING(celsius, NV10TCL_POINT_PARAMETERS_ENABLE, 2); +	BEGIN_RING(kelvin, NV10TCL_POINT_PARAMETERS_ENABLE, 2);  	OUT_RING  (0);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_LINE_WIDTH, 1); +	BEGIN_RING(kelvin, NV10TCL_LINE_WIDTH, 1);  	OUT_RING  (8); -	BEGIN_RING(celsius, NV10TCL_LINE_SMOOTH_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_LINE_SMOOTH_ENABLE, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_POLYGON_MODE_FRONT, 2); +	BEGIN_RING(kelvin, NV10TCL_POLYGON_MODE_FRONT, 2);  	OUT_RING  (0x1b02);  	OUT_RING  (0x1b02); -	BEGIN_RING(celsius, NV10TCL_CULL_FACE, 2); +	BEGIN_RING(kelvin, NV10TCL_CULL_FACE, 2);  	OUT_RING  (0x405);  	OUT_RING  (0x901); -	BEGIN_RING(celsius, NV10TCL_POLYGON_SMOOTH_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_POLYGON_SMOOTH_ENABLE, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_CULL_FACE_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_CULL_FACE_ENABLE, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_CLIP_PLANE_ENABLE(0), 8); +	BEGIN_RING(kelvin, NV10TCL_CLIP_PLANE_ENABLE(0), 8);  	for (i=0;i<8;i++) {  		OUT_RING  (0);  	} -	BEGIN_RING(celsius, NV10TCL_FOG_EQUATION_CONSTANT, 3); +	BEGIN_RING(kelvin, NV10TCL_FOG_EQUATION_CONSTANT, 3);  	OUT_RING  (0x3fc00000);	/* -1.50 */  	OUT_RING  (0xbdb8aa0a);	/* -0.09 */  	OUT_RING  (0);		/*  0.00 */ -	BEGIN_RING(celsius, NV10TCL_NOP, 1); +	BEGIN_RING(kelvin, NV10TCL_NOP, 1);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_FOG_MODE, 2); +	BEGIN_RING(kelvin, NV10TCL_FOG_MODE, 2);  	OUT_RING  (0x802);  	OUT_RING  (2);  	/* for some reason VIEW_MATRIX_ENABLE need to be 6 instead of 4 when  	 * using texturing, except when using the texture matrix  	 */ -	BEGIN_RING(celsius, NV10TCL_VIEW_MATRIX_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_VIEW_MATRIX_ENABLE, 1);  	OUT_RING  (6); -	BEGIN_RING(celsius, NV10TCL_COLOR_MASK, 1); +	BEGIN_RING(kelvin, NV10TCL_COLOR_MASK, 1);  	OUT_RING  (0x01010101);  	/* Set vertex component */ -	BEGIN_RING(celsius, NV10TCL_VERTEX_COL_4F_R, 4); +	BEGIN_RING(kelvin, NV10TCL_VERTEX_COL_4F_R, 4);  	OUT_RINGf (1.0);  	OUT_RINGf (1.0);  	OUT_RINGf (1.0);  	OUT_RINGf (1.0); -	BEGIN_RING(celsius, NV10TCL_VERTEX_COL2_3F_R, 3); +	BEGIN_RING(kelvin, NV10TCL_VERTEX_COL2_3F_R, 3);  	OUT_RING  (0);  	OUT_RING  (0);  	OUT_RING  (0); -	BEGIN_RING(celsius, NV10TCL_VERTEX_NOR_3F_X, 3); +	BEGIN_RING(kelvin, NV10TCL_VERTEX_NOR_3F_X, 3);  	OUT_RING  (0);  	OUT_RING  (0);  	OUT_RINGf (1.0); -	BEGIN_RING(celsius, NV10TCL_VERTEX_TX0_4F_S, 4); +	BEGIN_RING(kelvin, NV10TCL_VERTEX_TX0_4F_S, 4);  	OUT_RINGf (0.0);  	OUT_RINGf (0.0);  	OUT_RINGf (0.0);  	OUT_RINGf (1.0); -	BEGIN_RING(celsius, NV10TCL_VERTEX_TX1_4F_S, 4); +	BEGIN_RING(kelvin, NV10TCL_VERTEX_TX1_4F_S, 4);  	OUT_RINGf (0.0);  	OUT_RINGf (0.0);  	OUT_RINGf (0.0);  	OUT_RINGf (1.0); -	BEGIN_RING(celsius, NV10TCL_VERTEX_FOG_1F, 1); +	BEGIN_RING(kelvin, NV10TCL_VERTEX_FOG_1F, 1);  	OUT_RINGf (0.0); -	BEGIN_RING(celsius, NV10TCL_EDGEFLAG_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_EDGEFLAG_ENABLE, 1);  	OUT_RING  (1);  	memset(projectionmatrix, 0, sizeof(projectionmatrix)); -	BEGIN_RING(celsius, NV10TCL_PROJECTION_MATRIX(0), 16); +	BEGIN_RING(kelvin, NV10TCL_PROJECTION_MATRIX(0), 16);  	projectionmatrix[0*4+0] = 1.0;  	projectionmatrix[1*4+1] = 1.0;  	projectionmatrix[2*4+2] = 1.0; @@ -239,11 +239,11 @@ static void nv10_init_hwctx(struct nv10_context *nv10)  		OUT_RINGf  (projectionmatrix[i]);  	} -	BEGIN_RING(celsius, NV10TCL_DEPTH_RANGE_NEAR, 2); +	BEGIN_RING(kelvin, NV10TCL_DEPTH_RANGE_NEAR, 2);  	OUT_RING  (0.0);  	OUT_RINGf  (16777216.0); -	BEGIN_RING(celsius, NV10TCL_VIEWPORT_SCALE_X, 4); +	BEGIN_RING(kelvin, NV10TCL_VIEWPORT_SCALE_X, 4);  	OUT_RINGf  (-2048.0);  	OUT_RINGf  (-2048.0);  	OUT_RINGf  (16777215.0 * 0.5); @@ -253,44 +253,44 @@ static void nv10_init_hwctx(struct nv10_context *nv10)  }  static void -nv10_set_edgeflags(struct pipe_context *pipe, const unsigned *bitfield) +nv20_set_edgeflags(struct pipe_context *pipe, const unsigned *bitfield)  {  }  struct pipe_context * -nv10_create(struct pipe_screen *pscreen, unsigned pctx_id) +nv20_create(struct pipe_screen *pscreen, unsigned pctx_id)  { -	struct nv10_screen *screen = nv10_screen(pscreen); +	struct nv20_screen *screen = nv20_screen(pscreen);  	struct pipe_winsys *ws = pscreen->winsys; -	struct nv10_context *nv10; +	struct nv20_context *nv20;  	struct nouveau_winsys *nvws = screen->nvws; -	nv10 = CALLOC(1, sizeof(struct nv10_context)); -	if (!nv10) +	nv20 = CALLOC(1, sizeof(struct nv20_context)); +	if (!nv20)  		return NULL; -	nv10->screen = screen; -	nv10->pctx_id = pctx_id; +	nv20->screen = screen; +	nv20->pctx_id = pctx_id; -	nv10->nvws = nvws; +	nv20->nvws = nvws; -	nv10->pipe.winsys = ws; -	nv10->pipe.screen = pscreen; -	nv10->pipe.destroy = nv10_destroy; -	nv10->pipe.set_edgeflags = nv10_set_edgeflags; -	nv10->pipe.draw_arrays = nv10_draw_arrays; -	nv10->pipe.draw_elements = nv10_draw_elements; -	nv10->pipe.clear = nv10_clear; -	nv10->pipe.flush = nv10_flush; +	nv20->pipe.winsys = ws; +	nv20->pipe.screen = pscreen; +	nv20->pipe.destroy = nv20_destroy; +	nv20->pipe.set_edgeflags = nv20_set_edgeflags; +	nv20->pipe.draw_arrays = nv20_draw_arrays; +	nv20->pipe.draw_elements = nv20_draw_elements; +	nv20->pipe.clear = nv20_clear; +	nv20->pipe.flush = nv20_flush; -	nv10_init_surface_functions(nv10); -	nv10_init_state_functions(nv10); +	nv20_init_surface_functions(nv20); +	nv20_init_state_functions(nv20); -	nv10->draw = draw_create(); -	assert(nv10->draw); -	draw_set_rasterize_stage(nv10->draw, nv10_draw_vbuf_stage(nv10)); +	nv20->draw = draw_create(); +	assert(nv20->draw); +	draw_set_rasterize_stage(nv20->draw, nv20_draw_vbuf_stage(nv20)); -	nv10_init_hwctx(nv10); +	nv20_init_hwctx(nv20); -	return &nv10->pipe; +	return &nv20->pipe;  } diff --git a/src/gallium/drivers/nv20/nv20_context.h b/src/gallium/drivers/nv20/nv20_context.h index f3b56de25a..8ad926db20 100644 --- a/src/gallium/drivers/nv20/nv20_context.h +++ b/src/gallium/drivers/nv20/nv20_context.h @@ -1,5 +1,5 @@ -#ifndef __NV10_CONTEXT_H__ -#define __NV10_CONTEXT_H__ +#ifndef __NV20_CONTEXT_H__ +#define __NV20_CONTEXT_H__  #include "pipe/p_context.h"  #include "pipe/p_defines.h" @@ -15,42 +15,42 @@  #include "nouveau/nouveau_gldefs.h"  #define NOUVEAU_PUSH_CONTEXT(ctx)                                              \ -	struct nv10_screen *ctx = nv10->screen +	struct nv20_screen *ctx = nv20->screen  #include "nouveau/nouveau_push.h" -#include "nv10_state.h" +#include "nv20_state.h"  #define NOUVEAU_ERR(fmt, args...) \  	fprintf(stderr, "%s:%d -  "fmt, __func__, __LINE__, ##args);  #define NOUVEAU_MSG(fmt, args...) \  	fprintf(stderr, "nouveau: "fmt, ##args); -#define NV10_NEW_VERTPROG	(1 << 0) -#define NV10_NEW_FRAGPROG	(1 << 1) -#define NV10_NEW_VTXARRAYS	(1 << 2) -#define NV10_NEW_BLEND		(1 << 3) -#define NV10_NEW_BLENDCOL	(1 << 4) -#define NV10_NEW_RAST 		(1 << 5) -#define NV10_NEW_DSA  		(1 << 6) -#define NV10_NEW_VIEWPORT	(1 << 7) -#define NV10_NEW_SCISSOR	(1 << 8) -#define NV10_NEW_FRAMEBUFFER	(1 << 9) +#define NV20_NEW_VERTPROG	(1 << 0) +#define NV20_NEW_FRAGPROG	(1 << 1) +#define NV20_NEW_VTXARRAYS	(1 << 2) +#define NV20_NEW_BLEND		(1 << 3) +#define NV20_NEW_BLENDCOL	(1 << 4) +#define NV20_NEW_RAST 		(1 << 5) +#define NV20_NEW_DSA  		(1 << 6) +#define NV20_NEW_VIEWPORT	(1 << 7) +#define NV20_NEW_SCISSOR	(1 << 8) +#define NV20_NEW_FRAMEBUFFER	(1 << 9) -#include "nv10_screen.h" +#include "nv20_screen.h" -struct nv10_context { +struct nv20_context {  	struct pipe_context pipe;  	struct nouveau_winsys *nvws; -	struct nv10_screen *screen; +	struct nv20_screen *screen;  	unsigned pctx_id;  	struct draw_context *draw;  	uint32_t dirty; -	struct nv10_sampler_state *tex_sampler[PIPE_MAX_SAMPLERS]; -	struct nv10_miptree *tex_miptree[PIPE_MAX_SAMPLERS]; +	struct nv20_sampler_state *tex_sampler[PIPE_MAX_SAMPLERS]; +	struct nv20_miptree *tex_miptree[PIPE_MAX_SAMPLERS];  	unsigned dirty_samplers;  	unsigned fp_samplers;  	unsigned vp_samplers; @@ -60,10 +60,10 @@ struct nv10_context {  	struct pipe_buffer *zeta;  	uint32_t lma_offset; -	struct nv10_blend_state *blend; +	struct nv20_blend_state *blend;  	struct pipe_blend_color *blend_color; -	struct nv10_rasterizer_state *rast; -	struct nv10_depth_stencil_alpha_state *dsa; +	struct nv20_rasterizer_state *rast; +	struct nv20_depth_stencil_alpha_state *dsa;  	struct pipe_viewport_state *viewport;  	struct pipe_scissor_state *scissor;  	struct pipe_framebuffer_state *framebuffer; @@ -90,15 +90,15 @@ struct nv10_context {  		struct nouveau_resource *exec_heap;  		struct nouveau_resource *data_heap; -		struct nv10_vertex_program *active; +		struct nv20_vertex_program *active; -		struct nv10_vertex_program *current; +		struct nv20_vertex_program *current;  	} vertprog;  */  	struct { -		struct nv10_fragment_program *active; +		struct nv20_fragment_program *active; -		struct nv10_fragment_program *current; +		struct nv20_fragment_program *current;  		struct pipe_buffer *constant_buf;  	} fragprog; @@ -106,45 +106,45 @@ struct nv10_context {  	struct pipe_vertex_element vtxelt[PIPE_MAX_ATTRIBS];  }; -static INLINE struct nv10_context * -nv10_context(struct pipe_context *pipe) +static INLINE struct nv20_context * +nv20_context(struct pipe_context *pipe)  { -	return (struct nv10_context *)pipe; +	return (struct nv20_context *)pipe;  } -extern void nv10_init_state_functions(struct nv10_context *nv10); -extern void nv10_init_surface_functions(struct nv10_context *nv10); +extern void nv20_init_state_functions(struct nv20_context *nv20); +extern void nv20_init_surface_functions(struct nv20_context *nv20); -extern void nv10_screen_init_miptree_functions(struct pipe_screen *pscreen); +extern void nv20_screen_init_miptree_functions(struct pipe_screen *pscreen); -/* nv10_clear.c */ -extern void nv10_clear(struct pipe_context *pipe, struct pipe_surface *ps, +/* nv20_clear.c */ +extern void nv20_clear(struct pipe_context *pipe, struct pipe_surface *ps,  		       unsigned clearValue); -/* nv10_draw.c */ -extern struct draw_stage *nv10_draw_render_stage(struct nv10_context *nv10); +/* nv20_draw.c */ +extern struct draw_stage *nv20_draw_render_stage(struct nv20_context *nv20); -/* nv10_fragprog.c */ -extern void nv10_fragprog_bind(struct nv10_context *, -			       struct nv10_fragment_program *); -extern void nv10_fragprog_destroy(struct nv10_context *, -				  struct nv10_fragment_program *); +/* nv20_fragprog.c */ +extern void nv20_fragprog_bind(struct nv20_context *, +			       struct nv20_fragment_program *); +extern void nv20_fragprog_destroy(struct nv20_context *, +				  struct nv20_fragment_program *); -/* nv10_fragtex.c */ -extern void nv10_fragtex_bind(struct nv10_context *); +/* nv20_fragtex.c */ +extern void nv20_fragtex_bind(struct nv20_context *); -/* nv10_prim_vbuf.c */ -struct draw_stage *nv10_draw_vbuf_stage( struct nv10_context *nv10 ); -extern void nv10_vtxbuf_bind(struct nv10_context* nv10); +/* nv20_prim_vbuf.c */ +struct draw_stage *nv20_draw_vbuf_stage( struct nv20_context *nv20 ); +extern void nv20_vtxbuf_bind(struct nv20_context* nv20); -/* nv10_state.c and friends */ -extern void nv10_emit_hw_state(struct nv10_context *nv10); -extern void nv10_state_tex_update(struct nv10_context *nv10); +/* nv20_state.c and friends */ +extern void nv20_emit_hw_state(struct nv20_context *nv20); +extern void nv20_state_tex_update(struct nv20_context *nv20); -/* nv10_vbo.c */ -extern boolean nv10_draw_arrays(struct pipe_context *, unsigned mode, +/* nv20_vbo.c */ +extern boolean nv20_draw_arrays(struct pipe_context *, unsigned mode,  				unsigned start, unsigned count); -extern boolean nv10_draw_elements( struct pipe_context *pipe, +extern boolean nv20_draw_elements( struct pipe_context *pipe,                      struct pipe_buffer *indexBuffer,                      unsigned indexSize,                      unsigned prim, unsigned start, unsigned count); diff --git a/src/gallium/drivers/nv20/nv20_fragprog.c b/src/gallium/drivers/nv20/nv20_fragprog.c index 698db5a16a..4f496369dd 100644 --- a/src/gallium/drivers/nv20/nv20_fragprog.c +++ b/src/gallium/drivers/nv20/nv20_fragprog.c @@ -6,16 +6,16 @@  #include "tgsi/tgsi_parse.h"  #include "tgsi/tgsi_util.h" -#include "nv10_context.h" +#include "nv20_context.h"  void -nv10_fragprog_bind(struct nv10_context *nv10, struct nv10_fragment_program *fp) +nv20_fragprog_bind(struct nv20_context *nv20, struct nv20_fragment_program *fp)  {  }  void -nv10_fragprog_destroy(struct nv10_context *nv10, -		      struct nv10_fragment_program *fp) +nv20_fragprog_destroy(struct nv20_context *nv20, +		      struct nv20_fragment_program *fp)  {  } diff --git a/src/gallium/drivers/nv20/nv20_fragtex.c b/src/gallium/drivers/nv20/nv20_fragtex.c index 238634d0bb..77c34897e2 100644 --- a/src/gallium/drivers/nv20/nv20_fragtex.c +++ b/src/gallium/drivers/nv20/nv20_fragtex.c @@ -1,4 +1,4 @@ -#include "nv10_context.h" +#include "nv20_context.h"  static INLINE int log2i(int i)  { @@ -33,14 +33,14 @@ static INLINE int log2i(int i)    NV10TCL_TX_FORMAT_FORMAT_##tf,                                               \  } -struct nv10_texture_format { +struct nv20_texture_format {  	boolean defined;  	uint	pipe;  	int     format;  }; -static struct nv10_texture_format -nv10_texture_formats[] = { +static struct nv20_texture_format +nv20_texture_formats[] = {  	_(A8R8G8B8_UNORM, A8R8G8B8),  	_(A1R5G5B5_UNORM, A1R5G5B5),  	_(A4R4G4B4_UNORM, A4R4G4B4), @@ -54,10 +54,10 @@ nv10_texture_formats[] = {  	{},  }; -static struct nv10_texture_format * -nv10_fragtex_format(uint pipe_format) +static struct nv20_texture_format * +nv20_fragtex_format(uint pipe_format)  { -	struct nv10_texture_format *tf = nv10_texture_formats; +	struct nv20_texture_format *tf = nv20_texture_formats;  	while (tf->defined) {  		if (tf->pipe == pipe_format) @@ -70,16 +70,16 @@ nv10_fragtex_format(uint pipe_format)  static void -nv10_fragtex_build(struct nv10_context *nv10, int unit) +nv20_fragtex_build(struct nv20_context *nv20, int unit)  {  #if 0 -	struct nv10_sampler_state *ps = nv10->tex_sampler[unit]; -	struct nv10_miptree *nv10mt = nv10->tex_miptree[unit]; -	struct pipe_texture *pt = &nv10mt->base; -	struct nv10_texture_format *tf; +	struct nv20_sampler_state *ps = nv20->tex_sampler[unit]; +	struct nv20_miptree *nv20mt = nv20->tex_miptree[unit]; +	struct pipe_texture *pt = &nv20mt->base; +	struct nv20_texture_format *tf;  	uint32_t txf, txs, txp; -	tf = nv10_fragtex_format(pt->format); +	tf = nv20_fragtex_format(pt->format);  	if (!tf || !tf->defined) {  		NOUVEAU_ERR("Unsupported texture format: 0x%x\n", pt->format);  		return; @@ -107,9 +107,9 @@ nv10_fragtex_build(struct nv10_context *nv10, int unit)  		return;  	} -	BEGIN_RING(celsius, NV10TCL_TX_OFFSET(unit), 8); -	OUT_RELOCl(nv10mt->buffer, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_RD); -	OUT_RELOCd(nv10mt->buffer,txf,NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_OR | NOUVEAU_BO_RD, 1/*VRAM*/,2/*TT*/); +	BEGIN_RING(kelvin, NV10TCL_TX_OFFSET(unit), 8); +	OUT_RELOCl(nv20mt->buffer, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_RD); +	OUT_RELOCd(nv20mt->buffer,txf,NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_OR | NOUVEAU_BO_RD, 1/*VRAM*/,2/*TT*/);  	OUT_RING  (ps->wrap);  	OUT_RING  (0x40000000); /* enable */  	OUT_RING  (txs); @@ -120,30 +120,30 @@ nv10_fragtex_build(struct nv10_context *nv10, int unit)  }  void -nv10_fragtex_bind(struct nv10_context *nv10) +nv20_fragtex_bind(struct nv20_context *nv20)  {  #if 0 -	struct nv10_fragment_program *fp = nv10->fragprog.active; +	struct nv20_fragment_program *fp = nv20->fragprog.active;  	unsigned samplers, unit; -	samplers = nv10->fp_samplers & ~fp->samplers; +	samplers = nv20->fp_samplers & ~fp->samplers;  	while (samplers) {  		unit = ffs(samplers) - 1;  		samplers &= ~(1 << unit); -		BEGIN_RING(celsius, NV10TCL_TX_ENABLE(unit), 1); +		BEGIN_RING(kelvin, NV10TCL_TX_ENABLE(unit), 1);  		OUT_RING  (0);  	} -	samplers = nv10->dirty_samplers & fp->samplers; +	samplers = nv20->dirty_samplers & fp->samplers;  	while (samplers) {  		unit = ffs(samplers) - 1;  		samplers &= ~(1 << unit); -		nv10_fragtex_build(nv10, unit); +		nv20_fragtex_build(nv20, unit);  	} -	nv10->fp_samplers = fp->samplers; +	nv20->fp_samplers = fp->samplers;  #endif  } diff --git a/src/gallium/drivers/nv20/nv20_miptree.c b/src/gallium/drivers/nv20/nv20_miptree.c index ad084e72b8..dbfd779de9 100644 --- a/src/gallium/drivers/nv20/nv20_miptree.c +++ b/src/gallium/drivers/nv20/nv20_miptree.c @@ -2,13 +2,13 @@  #include "pipe/p_defines.h"  #include "pipe/p_inlines.h" -#include "nv10_context.h" -#include "nv10_screen.h" +#include "nv20_context.h" +#include "nv20_screen.h"  static void -nv10_miptree_layout(struct nv10_miptree *nv10mt) +nv20_miptree_layout(struct nv20_miptree *nv20mt)  { -	struct pipe_texture *pt = &nv10mt->base; +	struct pipe_texture *pt = &nv20mt->base;  	boolean swizzled = FALSE;  	uint width = pt->width[0], height = pt->height[0];  	uint offset = 0; @@ -27,12 +27,12 @@ nv10_miptree_layout(struct nv10_miptree *nv10mt)  		pt->nblocksy[l] = pf_get_nblocksy(&pt->block, height);  		if (swizzled) -			nv10mt->level[l].pitch = pt->nblocksx[l] * pt->block.size; +			nv20mt->level[l].pitch = pt->nblocksx[l] * pt->block.size;  		else -			nv10mt->level[l].pitch = pt->nblocksx[0] * pt->block.size; -		nv10mt->level[l].pitch = (nv10mt->level[l].pitch + 63) & ~63; +			nv20mt->level[l].pitch = pt->nblocksx[0] * pt->block.size; +		nv20mt->level[l].pitch = (nv20mt->level[l].pitch + 63) & ~63; -		nv10mt->level[l].image_offset = +		nv20mt->level[l].image_offset =  			CALLOC(nr_faces, sizeof(unsigned));  		width  = MAX2(1, width  >> 1); @@ -42,28 +42,28 @@ nv10_miptree_layout(struct nv10_miptree *nv10mt)  	for (f = 0; f < nr_faces; f++) {  		for (l = 0; l <= pt->last_level; l++) { -			nv10mt->level[l].image_offset[f] = offset; -			offset += nv10mt->level[l].pitch * pt->height[l]; +			nv20mt->level[l].image_offset[f] = offset; +			offset += nv20mt->level[l].pitch * pt->height[l];  		}  	} -	nv10mt->total_size = offset; +	nv20mt->total_size = offset;  }  static struct pipe_texture * -nv10_miptree_create(struct pipe_screen *screen, const struct pipe_texture *pt) +nv20_miptree_create(struct pipe_screen *screen, const struct pipe_texture *pt)  {  	struct pipe_winsys *ws = screen->winsys; -	struct nv10_miptree *mt; +	struct nv20_miptree *mt; -	mt = MALLOC(sizeof(struct nv10_miptree)); +	mt = MALLOC(sizeof(struct nv20_miptree));  	if (!mt)  		return NULL;  	mt->base = *pt;  	mt->base.refcount = 1;  	mt->base.screen = screen; -	nv10_miptree_layout(mt); +	nv20_miptree_layout(mt);  	mt->buffer = ws->buffer_create(ws, 256, PIPE_BUFFER_USAGE_PIXEL,  					   mt->total_size); @@ -76,72 +76,72 @@ nv10_miptree_create(struct pipe_screen *screen, const struct pipe_texture *pt)  }  static void -nv10_miptree_release(struct pipe_screen *screen, struct pipe_texture **pt) +nv20_miptree_release(struct pipe_screen *screen, struct pipe_texture **pt)  {  	struct pipe_texture *mt = *pt;  	*pt = NULL;  	if (--mt->refcount <= 0) { -		struct nv10_miptree *nv10mt = (struct nv10_miptree *)mt; +		struct nv20_miptree *nv20mt = (struct nv20_miptree *)mt;  		int l; -		pipe_buffer_reference(screen, &nv10mt->buffer, NULL); +		pipe_buffer_reference(screen, &nv20mt->buffer, NULL);  		for (l = 0; l <= mt->last_level; l++) { -			if (nv10mt->level[l].image_offset) -				FREE(nv10mt->level[l].image_offset); +			if (nv20mt->level[l].image_offset) +				FREE(nv20mt->level[l].image_offset);  		} -		FREE(nv10mt); +		FREE(nv20mt);  	}  }  static void -nv10_miptree_update(struct pipe_context *pipe, struct pipe_texture *mt, +nv20_miptree_update(struct pipe_context *pipe, struct pipe_texture *mt,  		    uint face, uint levels)  {  }  static struct pipe_surface * -nv10_miptree_surface_get(struct pipe_screen *screen, struct pipe_texture *pt, +nv20_miptree_surface_get(struct pipe_screen *screen, struct pipe_texture *pt,  			 unsigned face, unsigned level, unsigned zslice,  			 unsigned flags)  {  	struct pipe_winsys *ws = screen->winsys; -	struct nv10_miptree *nv10mt = (struct nv10_miptree *)pt; +	struct nv20_miptree *nv20mt = (struct nv20_miptree *)pt;  	struct pipe_surface *ps;  	ps = ws->surface_alloc(ws);  	if (!ps)  		return NULL; -	pipe_buffer_reference(screen, &ps->buffer, nv10mt->buffer); +	pipe_buffer_reference(screen, &ps->buffer, nv20mt->buffer);  	ps->format = pt->format;  	ps->width = pt->width[level];  	ps->height = pt->height[level];  	ps->block = pt->block;  	ps->nblocksx = pt->nblocksx[level];  	ps->nblocksy = pt->nblocksy[level]; -	ps->stride = nv10mt->level[level].pitch; +	ps->stride = nv20mt->level[level].pitch;  	if (pt->target == PIPE_TEXTURE_CUBE) { -		ps->offset = nv10mt->level[level].image_offset[face]; +		ps->offset = nv20mt->level[level].image_offset[face];  	} else { -		ps->offset = nv10mt->level[level].image_offset[0]; +		ps->offset = nv20mt->level[level].image_offset[0];  	}  	return ps;  }  static void -nv10_miptree_surface_release(struct pipe_screen *screen, +nv20_miptree_surface_release(struct pipe_screen *screen,  			     struct pipe_surface **surface)  {  } -void nv10_screen_init_miptree_functions(struct pipe_screen *pscreen) +void nv20_screen_init_miptree_functions(struct pipe_screen *pscreen)  { -	pscreen->texture_create = nv10_miptree_create; -	pscreen->texture_release = nv10_miptree_release; -	pscreen->get_tex_surface = nv10_miptree_surface_get; -	pscreen->tex_surface_release = nv10_miptree_surface_release; +	pscreen->texture_create = nv20_miptree_create; +	pscreen->texture_release = nv20_miptree_release; +	pscreen->get_tex_surface = nv20_miptree_surface_get; +	pscreen->tex_surface_release = nv20_miptree_surface_release;  } diff --git a/src/gallium/drivers/nv20/nv20_prim_vbuf.c b/src/gallium/drivers/nv20/nv20_prim_vbuf.c index 62a8f6d89d..a51d657d27 100644 --- a/src/gallium/drivers/nv20/nv20_prim_vbuf.c +++ b/src/gallium/drivers/nv20/nv20_prim_vbuf.c @@ -42,18 +42,18 @@  #include "pipe/p_inlines.h"  #include "pipe/p_winsys.h" -#include "nv10_context.h" -#include "nv10_state.h" +#include "nv20_context.h" +#include "nv20_state.h"  #include "draw/draw_vbuf.h"  /** - * Primitive renderer for nv10. + * Primitive renderer for nv20.   */ -struct nv10_vbuf_render { +struct nv20_vbuf_render {  	struct vbuf_render base; -	struct nv10_context *nv10;    +	struct nv20_context *nv20;     	/** Vertex buffer */  	struct pipe_buffer* buffer; @@ -66,13 +66,13 @@ struct nv10_vbuf_render {  }; -void nv10_vtxbuf_bind( struct nv10_context* nv10 ) +void nv20_vtxbuf_bind( struct nv20_context* nv20 )  {  	int i;  	for(i = 0; i < 8; i++) { -		BEGIN_RING(celsius, NV10TCL_VERTEX_ARRAY_ATTRIB_OFFSET(i), 1); -		OUT_RING(0/*nv10->vtxbuf*/); -		BEGIN_RING(celsius, NV10TCL_VERTEX_ARRAY_ATTRIB_FORMAT(i) ,1); +		BEGIN_RING(kelvin, NV10TCL_VERTEX_ARRAY_ATTRIB_OFFSET(i), 1); +		OUT_RING(0/*nv20->vtxbuf*/); +		BEGIN_RING(kelvin, NV10TCL_VERTEX_ARRAY_ATTRIB_FORMAT(i) ,1);  		OUT_RING(0/*XXX*/);  	}  } @@ -80,75 +80,75 @@ void nv10_vtxbuf_bind( struct nv10_context* nv10 )  /**   * Basically a cast wrapper.   */ -static INLINE struct nv10_vbuf_render * -nv10_vbuf_render( struct vbuf_render *render ) +static INLINE struct nv20_vbuf_render * +nv20_vbuf_render( struct vbuf_render *render )  {  	assert(render); -	return (struct nv10_vbuf_render *)render; +	return (struct nv20_vbuf_render *)render;  }  static const struct vertex_info * -nv10_vbuf_render_get_vertex_info( struct vbuf_render *render ) +nv20_vbuf_render_get_vertex_info( struct vbuf_render *render )  { -	struct nv10_vbuf_render *nv10_render = nv10_vbuf_render(render); -	struct nv10_context *nv10 = nv10_render->nv10; +	struct nv20_vbuf_render *nv20_render = nv20_vbuf_render(render); +	struct nv20_context *nv20 = nv20_render->nv20; -	nv10_emit_hw_state(nv10); +	nv20_emit_hw_state(nv20); -	return &nv10->vertex_info; +	return &nv20->vertex_info;  }  static void * -nv10_vbuf_render_allocate_vertices( struct vbuf_render *render, +nv20_vbuf_render_allocate_vertices( struct vbuf_render *render,  		ushort vertex_size,  		ushort nr_vertices )  { -	struct nv10_vbuf_render *nv10_render = nv10_vbuf_render(render); -	struct nv10_context *nv10 = nv10_render->nv10; -	struct pipe_winsys *winsys = nv10->pipe.winsys; +	struct nv20_vbuf_render *nv20_render = nv20_vbuf_render(render); +	struct nv20_context *nv20 = nv20_render->nv20; +	struct pipe_winsys *winsys = nv20->pipe.winsys;  	size_t size = (size_t)vertex_size * (size_t)nr_vertices; -	assert(!nv10_render->buffer); -	nv10_render->buffer = winsys->buffer_create(winsys, 64, PIPE_BUFFER_USAGE_VERTEX, size); +	assert(!nv20_render->buffer); +	nv20_render->buffer = winsys->buffer_create(winsys, 64, PIPE_BUFFER_USAGE_VERTEX, size); -	nv10->dirty |= NV10_NEW_VTXARRAYS; +	nv20->dirty |= NV20_NEW_VTXARRAYS;  	return winsys->buffer_map(winsys,  -			nv10_render->buffer,  +			nv20_render->buffer,   			PIPE_BUFFER_USAGE_CPU_WRITE);  }  static void  -nv10_vbuf_render_set_primitive( struct vbuf_render *render,  +nv20_vbuf_render_set_primitive( struct vbuf_render *render,   		unsigned prim )  { -	struct nv10_vbuf_render *nv10_render = nv10_vbuf_render(render); -	nv10_render->hwprim = prim + 1; +	struct nv20_vbuf_render *nv20_render = nv20_vbuf_render(render); +	nv20_render->hwprim = prim + 1;  }  static void  -nv10_vbuf_render_draw( struct vbuf_render *render, +nv20_vbuf_render_draw( struct vbuf_render *render,  		const ushort *indices,  		uint nr_indices)  { -	struct nv10_vbuf_render *nv10_render = nv10_vbuf_render(render); -	struct nv10_context *nv10 = nv10_render->nv10; +	struct nv20_vbuf_render *nv20_render = nv20_vbuf_render(render); +	struct nv20_context *nv20 = nv20_render->nv20;  	int push, i; -	nv10_emit_hw_state(nv10); +	nv20_emit_hw_state(nv20); -	BEGIN_RING(celsius, NV10TCL_VERTEX_ARRAY_OFFSET_POS, 1); -	OUT_RELOCl(nv10_render->buffer, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_RD); +	BEGIN_RING(kelvin, NV10TCL_VERTEX_ARRAY_OFFSET_POS, 1); +	OUT_RELOCl(nv20_render->buffer, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_RD); -	BEGIN_RING(celsius, NV10TCL_VERTEX_BUFFER_BEGIN_END, 1); -	OUT_RING(nv10_render->hwprim); +	BEGIN_RING(kelvin, NV10TCL_VERTEX_BUFFER_BEGIN_END, 1); +	OUT_RING(nv20_render->hwprim);  	if (nr_indices & 1) { -		BEGIN_RING(celsius, NV10TCL_VB_ELEMENT_U32, 1); +		BEGIN_RING(kelvin, NV10TCL_VB_ELEMENT_U32, 1);  		OUT_RING  (indices[0]);  		indices++; nr_indices--;  	} @@ -157,7 +157,7 @@ nv10_vbuf_render_draw( struct vbuf_render *render,  		// XXX too big/small ? check the size  		push = MIN2(nr_indices, 1200 * 2); -		BEGIN_RING_NI(celsius, NV10TCL_VB_ELEMENT_U16, push >> 1); +		BEGIN_RING_NI(kelvin, NV10TCL_VB_ELEMENT_U16, push >> 1);  		for (i = 0; i < push; i+=2)  			OUT_RING((indices[i+1] << 16) | indices[i]); @@ -165,33 +165,33 @@ nv10_vbuf_render_draw( struct vbuf_render *render,  		indices  += push;  	} -	BEGIN_RING(celsius, NV10TCL_VERTEX_BUFFER_BEGIN_END, 1); +	BEGIN_RING(kelvin, NV10TCL_VERTEX_BUFFER_BEGIN_END, 1);  	OUT_RING  (0);  }  static void -nv10_vbuf_render_release_vertices( struct vbuf_render *render, +nv20_vbuf_render_release_vertices( struct vbuf_render *render,  		void *vertices,   		unsigned vertex_size,  		unsigned vertices_used )  { -	struct nv10_vbuf_render *nv10_render = nv10_vbuf_render(render); -	struct nv10_context *nv10 = nv10_render->nv10; -	struct pipe_winsys *winsys = nv10->pipe.winsys; -	struct pipe_screen *pscreen = &nv10->screen->pipe; +	struct nv20_vbuf_render *nv20_render = nv20_vbuf_render(render); +	struct nv20_context *nv20 = nv20_render->nv20; +	struct pipe_winsys *winsys = nv20->pipe.winsys; +	struct pipe_screen *pscreen = &nv20->screen->pipe; -	assert(nv10_render->buffer); -	winsys->buffer_unmap(winsys, nv10_render->buffer); -	pipe_buffer_reference(pscreen, &nv10_render->buffer, NULL); +	assert(nv20_render->buffer); +	winsys->buffer_unmap(winsys, nv20_render->buffer); +	pipe_buffer_reference(pscreen, &nv20_render->buffer, NULL);  }  static void -nv10_vbuf_render_destroy( struct vbuf_render *render ) +nv20_vbuf_render_destroy( struct vbuf_render *render )  { -	struct nv10_vbuf_render *nv10_render = nv10_vbuf_render(render); -	FREE(nv10_render); +	struct nv20_vbuf_render *nv20_render = nv20_vbuf_render(render); +	FREE(nv20_render);  } @@ -199,38 +199,38 @@ nv10_vbuf_render_destroy( struct vbuf_render *render )   * Create a new primitive render.   */  static struct vbuf_render * -nv10_vbuf_render_create( struct nv10_context *nv10 ) +nv20_vbuf_render_create( struct nv20_context *nv20 )  { -	struct nv10_vbuf_render *nv10_render = CALLOC_STRUCT(nv10_vbuf_render); +	struct nv20_vbuf_render *nv20_render = CALLOC_STRUCT(nv20_vbuf_render); -	nv10_render->nv10 = nv10; +	nv20_render->nv20 = nv20; -	nv10_render->base.max_vertex_buffer_bytes = 16*1024; -	nv10_render->base.max_indices = 1024; -	nv10_render->base.get_vertex_info = nv10_vbuf_render_get_vertex_info; -	nv10_render->base.allocate_vertices = nv10_vbuf_render_allocate_vertices; -	nv10_render->base.set_primitive = nv10_vbuf_render_set_primitive; -	nv10_render->base.draw = nv10_vbuf_render_draw; -	nv10_render->base.release_vertices = nv10_vbuf_render_release_vertices; -	nv10_render->base.destroy = nv10_vbuf_render_destroy; +	nv20_render->base.max_vertex_buffer_bytes = 16*1024; +	nv20_render->base.max_indices = 1024; +	nv20_render->base.get_vertex_info = nv20_vbuf_render_get_vertex_info; +	nv20_render->base.allocate_vertices = nv20_vbuf_render_allocate_vertices; +	nv20_render->base.set_primitive = nv20_vbuf_render_set_primitive; +	nv20_render->base.draw = nv20_vbuf_render_draw; +	nv20_render->base.release_vertices = nv20_vbuf_render_release_vertices; +	nv20_render->base.destroy = nv20_vbuf_render_destroy; -	return &nv10_render->base; +	return &nv20_render->base;  }  /**   * Create a new primitive vbuf/render stage.   */ -struct draw_stage *nv10_draw_vbuf_stage( struct nv10_context *nv10 ) +struct draw_stage *nv20_draw_vbuf_stage( struct nv20_context *nv20 )  {  	struct vbuf_render *render;  	struct draw_stage *stage; -	render = nv10_vbuf_render_create(nv10); +	render = nv20_vbuf_render_create(nv20);  	if(!render)  		return NULL; -	stage = draw_vbuf_stage( nv10->draw, render ); +	stage = draw_vbuf_stage( nv20->draw, render );  	if(!stage) {  		render->destroy(render);  		return NULL; diff --git a/src/gallium/drivers/nv20/nv20_screen.c b/src/gallium/drivers/nv20/nv20_screen.c index 27a9edf9bb..b7f5ea8512 100644 --- a/src/gallium/drivers/nv20/nv20_screen.c +++ b/src/gallium/drivers/nv20/nv20_screen.c @@ -1,13 +1,13 @@  #include "pipe/p_screen.h" -#include "nv10_context.h" -#include "nv10_screen.h" +#include "nv20_context.h" +#include "nv20_screen.h"  static const char * -nv10_screen_get_name(struct pipe_screen *screen) +nv20_screen_get_name(struct pipe_screen *screen)  { -	struct nv10_screen *nv10screen = nv10_screen(screen); -	struct nouveau_device *dev = nv10screen->nvws->channel->device; +	struct nv20_screen *nv20screen = nv20_screen(screen); +	struct nouveau_device *dev = nv20screen->nvws->channel->device;  	static char buffer[128];  	snprintf(buffer, sizeof(buffer), "NV%02X", dev->chipset); @@ -15,13 +15,13 @@ nv10_screen_get_name(struct pipe_screen *screen)  }  static const char * -nv10_screen_get_vendor(struct pipe_screen *screen) +nv20_screen_get_vendor(struct pipe_screen *screen)  {  	return "nouveau";  }  static int -nv10_screen_get_param(struct pipe_screen *screen, int param) +nv20_screen_get_param(struct pipe_screen *screen, int param)  {  	switch (param) {  	case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS: @@ -60,7 +60,7 @@ nv10_screen_get_param(struct pipe_screen *screen, int param)  }  static float -nv10_screen_get_paramf(struct pipe_screen *screen, int param) +nv20_screen_get_paramf(struct pipe_screen *screen, int param)  {  	switch (param) {  	case PIPE_CAP_MAX_LINE_WIDTH: @@ -80,7 +80,7 @@ nv10_screen_get_paramf(struct pipe_screen *screen, int param)  }  static boolean -nv10_screen_is_format_supported(struct pipe_screen *screen, +nv20_screen_is_format_supported(struct pipe_screen *screen,  				enum pipe_format format,  				enum pipe_texture_target target,  				unsigned tex_usage, unsigned geom_flags) @@ -114,7 +114,7 @@ nv10_screen_is_format_supported(struct pipe_screen *screen,  }  static void * -nv10_surface_map(struct pipe_screen *screen, struct pipe_surface *surface, +nv20_surface_map(struct pipe_screen *screen, struct pipe_surface *surface,  		 unsigned flags )  {  	struct pipe_winsys *ws = screen->winsys; @@ -128,7 +128,7 @@ nv10_surface_map(struct pipe_screen *screen, struct pipe_surface *surface,  }  static void -nv10_surface_unmap(struct pipe_screen *screen, struct pipe_surface *surface) +nv20_surface_unmap(struct pipe_screen *screen, struct pipe_surface *surface)  {  	struct pipe_winsys *ws = screen->winsys; @@ -136,21 +136,21 @@ nv10_surface_unmap(struct pipe_screen *screen, struct pipe_surface *surface)  }  static void -nv10_screen_destroy(struct pipe_screen *pscreen) +nv20_screen_destroy(struct pipe_screen *pscreen)  { -	struct nv10_screen *screen = nv10_screen(pscreen); +	struct nv20_screen *screen = nv20_screen(pscreen);  	struct nouveau_winsys *nvws = screen->nvws;  	nvws->notifier_free(&screen->sync); -	nvws->grobj_free(&screen->celsius); +	nvws->grobj_free(&screen->kelvin);  	FREE(pscreen);  }  struct pipe_screen * -nv10_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws) +nv20_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws)  { -	struct nv10_screen *screen = CALLOC_STRUCT(nv10_screen); +	struct nv20_screen *screen = CALLOC_STRUCT(nv20_screen);  	unsigned celsius_class;  	unsigned chipset = nvws->channel->device->chipset;  	int ret; @@ -174,7 +174,7 @@ nv10_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws)  		return NULL;  	} -	ret = nvws->grobj_alloc(nvws, celsius_class, &screen->celsius); +	ret = nvws->grobj_alloc(nvws, celsius_class, &screen->kelvin);  	if (ret) {  		NOUVEAU_ERR("Error creating 3D object: %d\n", ret);  		return FALSE; @@ -184,24 +184,24 @@ nv10_screen_create(struct pipe_winsys *ws, struct nouveau_winsys *nvws)  	ret = nvws->notifier_alloc(nvws, 1, &screen->sync);  	if (ret) {  		NOUVEAU_ERR("Error creating notifier object: %d\n", ret); -		nv10_screen_destroy(&screen->pipe); +		nv20_screen_destroy(&screen->pipe);  		return NULL;  	}  	screen->pipe.winsys = ws; -	screen->pipe.destroy = nv10_screen_destroy; +	screen->pipe.destroy = nv20_screen_destroy; -	screen->pipe.get_name = nv10_screen_get_name; -	screen->pipe.get_vendor = nv10_screen_get_vendor; -	screen->pipe.get_param = nv10_screen_get_param; -	screen->pipe.get_paramf = nv10_screen_get_paramf; +	screen->pipe.get_name = nv20_screen_get_name; +	screen->pipe.get_vendor = nv20_screen_get_vendor; +	screen->pipe.get_param = nv20_screen_get_param; +	screen->pipe.get_paramf = nv20_screen_get_paramf; -	screen->pipe.is_format_supported = nv10_screen_is_format_supported; +	screen->pipe.is_format_supported = nv20_screen_is_format_supported; -	screen->pipe.surface_map = nv10_surface_map; -	screen->pipe.surface_unmap = nv10_surface_unmap; +	screen->pipe.surface_map = nv20_surface_map; +	screen->pipe.surface_unmap = nv20_surface_unmap; -	nv10_screen_init_miptree_functions(&screen->pipe); +	nv20_screen_init_miptree_functions(&screen->pipe);  	return &screen->pipe;  } diff --git a/src/gallium/drivers/nv20/nv20_screen.h b/src/gallium/drivers/nv20/nv20_screen.h index 3f8750a13f..8f2f2e341d 100644 --- a/src/gallium/drivers/nv20/nv20_screen.h +++ b/src/gallium/drivers/nv20/nv20_screen.h @@ -1,22 +1,22 @@ -#ifndef __NV10_SCREEN_H__ -#define __NV10_SCREEN_H__ +#ifndef __NV20_SCREEN_H__ +#define __NV20_SCREEN_H__  #include "pipe/p_screen.h" -struct nv10_screen { +struct nv20_screen {  	struct pipe_screen pipe;  	struct nouveau_winsys *nvws;  	/* HW graphics objects */ -	struct nouveau_grobj *celsius; +	struct nouveau_grobj *kelvin;  	struct nouveau_notifier *sync;  }; -static INLINE struct nv10_screen * -nv10_screen(struct pipe_screen *screen) +static INLINE struct nv20_screen * +nv20_screen(struct pipe_screen *screen)  { -	return (struct nv10_screen *)screen; +	return (struct nv20_screen *)screen;  }  #endif diff --git a/src/gallium/drivers/nv20/nv20_state.c b/src/gallium/drivers/nv20/nv20_state.c index d2375aa2f6..c3b87230b7 100644 --- a/src/gallium/drivers/nv20/nv20_state.c +++ b/src/gallium/drivers/nv20/nv20_state.c @@ -5,16 +5,16 @@  #include "tgsi/tgsi_parse.h" -#include "nv10_context.h" -#include "nv10_state.h" +#include "nv20_context.h" +#include "nv20_state.h"  static void * -nv10_blend_state_create(struct pipe_context *pipe, +nv20_blend_state_create(struct pipe_context *pipe,  			const struct pipe_blend_state *cso)  { -	struct nv10_blend_state *cb; +	struct nv20_blend_state *cb; -	cb = MALLOC(sizeof(struct nv10_blend_state)); +	cb = MALLOC(sizeof(struct nv20_blend_state));  	cb->b_enable = cso->blend_enable ? 1 : 0;  	cb->b_srcfunc = ((nvgl_blend_func(cso->alpha_src_factor)<<16) | @@ -33,17 +33,17 @@ nv10_blend_state_create(struct pipe_context *pipe,  }  static void -nv10_blend_state_bind(struct pipe_context *pipe, void *blend) +nv20_blend_state_bind(struct pipe_context *pipe, void *blend)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	nv10->blend = (struct nv10_blend_state*)blend; +	nv20->blend = (struct nv20_blend_state*)blend; -	nv10->dirty |= NV10_NEW_BLEND; +	nv20->dirty |= NV20_NEW_BLEND;  }  static void -nv10_blend_state_delete(struct pipe_context *pipe, void *hwcso) +nv20_blend_state_delete(struct pipe_context *pipe, void *hwcso)  {  	FREE(hwcso);  } @@ -82,13 +82,13 @@ wrap_mode(unsigned wrap) {  }  static void * -nv10_sampler_state_create(struct pipe_context *pipe, +nv20_sampler_state_create(struct pipe_context *pipe,  			  const struct pipe_sampler_state *cso)  { -	struct nv10_sampler_state *ps; +	struct nv20_sampler_state *ps;  	uint32_t filter = 0; -	ps = MALLOC(sizeof(struct nv10_sampler_state)); +	ps = MALLOC(sizeof(struct nv20_sampler_state));  	ps->wrap = ((wrap_mode(cso->wrap_s) << NV10TCL_TX_FORMAT_WRAP_S_SHIFT) |  		    (wrap_mode(cso->wrap_t) << NV10TCL_TX_FORMAT_WRAP_T_SHIFT)); @@ -204,41 +204,41 @@ nv10_sampler_state_create(struct pipe_context *pipe,  }  static void -nv10_sampler_state_bind(struct pipe_context *pipe, unsigned nr, void **sampler) +nv20_sampler_state_bind(struct pipe_context *pipe, unsigned nr, void **sampler)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe);  	unsigned unit;  	for (unit = 0; unit < nr; unit++) { -		nv10->tex_sampler[unit] = sampler[unit]; -		nv10->dirty_samplers |= (1 << unit); +		nv20->tex_sampler[unit] = sampler[unit]; +		nv20->dirty_samplers |= (1 << unit);  	}  }  static void -nv10_sampler_state_delete(struct pipe_context *pipe, void *hwcso) +nv20_sampler_state_delete(struct pipe_context *pipe, void *hwcso)  {  	FREE(hwcso);  }  static void -nv10_set_sampler_texture(struct pipe_context *pipe, unsigned nr, +nv20_set_sampler_texture(struct pipe_context *pipe, unsigned nr,  			 struct pipe_texture **miptree)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe);  	unsigned unit;  	for (unit = 0; unit < nr; unit++) { -		nv10->tex_miptree[unit] = (struct nv10_miptree *)miptree[unit]; -		nv10->dirty_samplers |= (1 << unit); +		nv20->tex_miptree[unit] = (struct nv20_miptree *)miptree[unit]; +		nv20->dirty_samplers |= (1 << unit);  	}  }  static void * -nv10_rasterizer_state_create(struct pipe_context *pipe, +nv20_rasterizer_state_create(struct pipe_context *pipe,  			     const struct pipe_rasterizer_state *cso)  { -	struct nv10_rasterizer_state *rs; +	struct nv20_rasterizer_state *rs;  	int i;  	/*XXX: ignored: @@ -249,7 +249,7 @@ nv10_rasterizer_state_create(struct pipe_context *pipe,  	 * 	multisample  	 * 	offset_units / offset_scale  	 */ -	rs = MALLOC(sizeof(struct nv10_rasterizer_state)); +	rs = MALLOC(sizeof(struct nv20_rasterizer_state));  	rs->templ = cso; @@ -312,30 +312,30 @@ nv10_rasterizer_state_create(struct pipe_context *pipe,  }  static void -nv10_rasterizer_state_bind(struct pipe_context *pipe, void *rast) +nv20_rasterizer_state_bind(struct pipe_context *pipe, void *rast)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	nv10->rast = (struct nv10_rasterizer_state*)rast; +	nv20->rast = (struct nv20_rasterizer_state*)rast; -	draw_set_rasterizer_state(nv10->draw, (nv10->rast ? nv10->rast->templ : NULL)); +	draw_set_rasterizer_state(nv20->draw, (nv20->rast ? nv20->rast->templ : NULL)); -	nv10->dirty |= NV10_NEW_RAST; +	nv20->dirty |= NV20_NEW_RAST;  }  static void -nv10_rasterizer_state_delete(struct pipe_context *pipe, void *hwcso) +nv20_rasterizer_state_delete(struct pipe_context *pipe, void *hwcso)  {  	FREE(hwcso);  }  static void * -nv10_depth_stencil_alpha_state_create(struct pipe_context *pipe, +nv20_depth_stencil_alpha_state_create(struct pipe_context *pipe,  			const struct pipe_depth_stencil_alpha_state *cso)  { -	struct nv10_depth_stencil_alpha_state *hw; +	struct nv20_depth_stencil_alpha_state *hw; -	hw = MALLOC(sizeof(struct nv10_depth_stencil_alpha_state)); +	hw = MALLOC(sizeof(struct nv20_depth_stencil_alpha_state));  	hw->depth.func		= nvgl_comparison_op(cso->depth.func);  	hw->depth.write_enable	= cso->depth.writemask ? 1 : 0; @@ -358,55 +358,55 @@ nv10_depth_stencil_alpha_state_create(struct pipe_context *pipe,  }  static void -nv10_depth_stencil_alpha_state_bind(struct pipe_context *pipe, void *dsa) +nv20_depth_stencil_alpha_state_bind(struct pipe_context *pipe, void *dsa)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	nv10->dsa = (struct nv10_depth_stencil_alpha_state*)dsa; +	nv20->dsa = (struct nv20_depth_stencil_alpha_state*)dsa; -	nv10->dirty |= NV10_NEW_DSA; +	nv20->dirty |= NV20_NEW_DSA;  }  static void -nv10_depth_stencil_alpha_state_delete(struct pipe_context *pipe, void *hwcso) +nv20_depth_stencil_alpha_state_delete(struct pipe_context *pipe, void *hwcso)  {  	FREE(hwcso);  }  static void * -nv10_vp_state_create(struct pipe_context *pipe, +nv20_vp_state_create(struct pipe_context *pipe,  		     const struct pipe_shader_state *templ)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	return draw_create_vertex_shader(nv10->draw, templ); +	return draw_create_vertex_shader(nv20->draw, templ);  }  static void -nv10_vp_state_bind(struct pipe_context *pipe, void *shader) +nv20_vp_state_bind(struct pipe_context *pipe, void *shader)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	draw_bind_vertex_shader(nv10->draw, (struct draw_vertex_shader *) shader); +	draw_bind_vertex_shader(nv20->draw, (struct draw_vertex_shader *) shader); -	nv10->dirty |= NV10_NEW_VERTPROG; +	nv20->dirty |= NV20_NEW_VERTPROG;  }  static void -nv10_vp_state_delete(struct pipe_context *pipe, void *shader) +nv20_vp_state_delete(struct pipe_context *pipe, void *shader)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	draw_delete_vertex_shader(nv10->draw, (struct draw_vertex_shader *) shader); +	draw_delete_vertex_shader(nv20->draw, (struct draw_vertex_shader *) shader);  }  static void * -nv10_fp_state_create(struct pipe_context *pipe, +nv20_fp_state_create(struct pipe_context *pipe,  		     const struct pipe_shader_state *cso)  { -	struct nv10_fragment_program *fp; +	struct nv20_fragment_program *fp; -	fp = CALLOC(1, sizeof(struct nv10_fragment_program)); +	fp = CALLOC(1, sizeof(struct nv20_fragment_program));  	fp->pipe.tokens = tgsi_dup_tokens(cso->tokens);  	tgsi_scan_shader(cso->tokens, &fp->info); @@ -415,51 +415,51 @@ nv10_fp_state_create(struct pipe_context *pipe,  }  static void -nv10_fp_state_bind(struct pipe_context *pipe, void *hwcso) +nv20_fp_state_bind(struct pipe_context *pipe, void *hwcso)  { -	struct nv10_context *nv10 = nv10_context(pipe); -	struct nv10_fragment_program *fp = hwcso; +	struct nv20_context *nv20 = nv20_context(pipe); +	struct nv20_fragment_program *fp = hwcso; -	nv10->fragprog.current = fp; -	nv10->dirty |= NV10_NEW_FRAGPROG; +	nv20->fragprog.current = fp; +	nv20->dirty |= NV20_NEW_FRAGPROG;  }  static void -nv10_fp_state_delete(struct pipe_context *pipe, void *hwcso) +nv20_fp_state_delete(struct pipe_context *pipe, void *hwcso)  { -	struct nv10_context *nv10 = nv10_context(pipe); -	struct nv10_fragment_program *fp = hwcso; +	struct nv20_context *nv20 = nv20_context(pipe); +	struct nv20_fragment_program *fp = hwcso; -	nv10_fragprog_destroy(nv10, fp); +	nv20_fragprog_destroy(nv20, fp);  	FREE((void*)fp->pipe.tokens);  	FREE(fp);  }  static void -nv10_set_blend_color(struct pipe_context *pipe, +nv20_set_blend_color(struct pipe_context *pipe,  		     const struct pipe_blend_color *bcol)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	nv10->blend_color = (struct pipe_blend_color*)bcol; +	nv20->blend_color = (struct pipe_blend_color*)bcol; -	nv10->dirty |= NV10_NEW_BLENDCOL; +	nv20->dirty |= NV20_NEW_BLENDCOL;  }  static void -nv10_set_clip_state(struct pipe_context *pipe, +nv20_set_clip_state(struct pipe_context *pipe,  		    const struct pipe_clip_state *clip)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	draw_set_clip_state(nv10->draw, clip); +	draw_set_clip_state(nv20->draw, clip);  }  static void -nv10_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index, +nv20_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,  			 const struct pipe_constant_buffer *buf )  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe);  	struct pipe_winsys *ws = pipe->winsys;  	assert(shader < PIPE_SHADER_TYPES); @@ -469,8 +469,8 @@ nv10_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,  		void *mapped;  		if (buf->size && (mapped = ws->buffer_map(ws, buf->buffer, PIPE_BUFFER_USAGE_CPU_READ)))  		{ -			memcpy(nv10->constbuf[shader], mapped, buf->size); -			nv10->constbuf_nr[shader] = +			memcpy(nv20->constbuf[shader], mapped, buf->size); +			nv20->constbuf_nr[shader] =  				buf->size / (4 * sizeof(float));  			ws->buffer_unmap(ws, buf->buffer);  		} @@ -478,111 +478,111 @@ nv10_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,  }  static void -nv10_set_framebuffer_state(struct pipe_context *pipe, +nv20_set_framebuffer_state(struct pipe_context *pipe,  			   const struct pipe_framebuffer_state *fb)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	nv10->framebuffer = (struct pipe_framebuffer_state*)fb; +	nv20->framebuffer = (struct pipe_framebuffer_state*)fb; -	nv10->dirty |= NV10_NEW_FRAMEBUFFER; +	nv20->dirty |= NV20_NEW_FRAMEBUFFER;  }  static void -nv10_set_polygon_stipple(struct pipe_context *pipe, +nv20_set_polygon_stipple(struct pipe_context *pipe,  			 const struct pipe_poly_stipple *stipple)  {  	NOUVEAU_ERR("line stipple hahaha\n");  }  static void -nv10_set_scissor_state(struct pipe_context *pipe, +nv20_set_scissor_state(struct pipe_context *pipe,  		       const struct pipe_scissor_state *s)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	nv10->scissor = (struct pipe_scissor_state*)s; +	nv20->scissor = (struct pipe_scissor_state*)s; -	nv10->dirty |= NV10_NEW_SCISSOR; +	nv20->dirty |= NV20_NEW_SCISSOR;  }  static void -nv10_set_viewport_state(struct pipe_context *pipe, +nv20_set_viewport_state(struct pipe_context *pipe,  			const struct pipe_viewport_state *vpt)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	nv10->viewport = (struct pipe_viewport_state*)vpt; +	nv20->viewport = (struct pipe_viewport_state*)vpt; -	draw_set_viewport_state(nv10->draw, nv10->viewport); +	draw_set_viewport_state(nv20->draw, nv20->viewport); -	nv10->dirty |= NV10_NEW_VIEWPORT; +	nv20->dirty |= NV20_NEW_VIEWPORT;  }  static void -nv10_set_vertex_buffers(struct pipe_context *pipe, unsigned count, +nv20_set_vertex_buffers(struct pipe_context *pipe, unsigned count,  			const struct pipe_vertex_buffer *vb)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	memcpy(nv10->vtxbuf, vb, sizeof(*vb) * count); -	nv10->dirty |= NV10_NEW_VTXARRAYS; +	memcpy(nv20->vtxbuf, vb, sizeof(*vb) * count); +	nv20->dirty |= NV20_NEW_VTXARRAYS; -	draw_set_vertex_buffers(nv10->draw, count, vb); +	draw_set_vertex_buffers(nv20->draw, count, vb);  }  static void -nv10_set_vertex_elements(struct pipe_context *pipe, unsigned count, +nv20_set_vertex_elements(struct pipe_context *pipe, unsigned count,  			 const struct pipe_vertex_element *ve)  { -	struct nv10_context *nv10 = nv10_context(pipe); +	struct nv20_context *nv20 = nv20_context(pipe); -	memcpy(nv10->vtxelt, ve, sizeof(*ve) * count); -	nv10->dirty |= NV10_NEW_VTXARRAYS; +	memcpy(nv20->vtxelt, ve, sizeof(*ve) * count); +	nv20->dirty |= NV20_NEW_VTXARRAYS; -	draw_set_vertex_elements(nv10->draw, count, ve); +	draw_set_vertex_elements(nv20->draw, count, ve);  }  void -nv10_init_state_functions(struct nv10_context *nv10) +nv20_init_state_functions(struct nv20_context *nv20)  { -	nv10->pipe.create_blend_state = nv10_blend_state_create; -	nv10->pipe.bind_blend_state = nv10_blend_state_bind; -	nv10->pipe.delete_blend_state = nv10_blend_state_delete; +	nv20->pipe.create_blend_state = nv20_blend_state_create; +	nv20->pipe.bind_blend_state = nv20_blend_state_bind; +	nv20->pipe.delete_blend_state = nv20_blend_state_delete; -	nv10->pipe.create_sampler_state = nv10_sampler_state_create; -	nv10->pipe.bind_sampler_states = nv10_sampler_state_bind; -	nv10->pipe.delete_sampler_state = nv10_sampler_state_delete; -	nv10->pipe.set_sampler_textures = nv10_set_sampler_texture; +	nv20->pipe.create_sampler_state = nv20_sampler_state_create; +	nv20->pipe.bind_sampler_states = nv20_sampler_state_bind; +	nv20->pipe.delete_sampler_state = nv20_sampler_state_delete; +	nv20->pipe.set_sampler_textures = nv20_set_sampler_texture; -	nv10->pipe.create_rasterizer_state = nv10_rasterizer_state_create; -	nv10->pipe.bind_rasterizer_state = nv10_rasterizer_state_bind; -	nv10->pipe.delete_rasterizer_state = nv10_rasterizer_state_delete; +	nv20->pipe.create_rasterizer_state = nv20_rasterizer_state_create; +	nv20->pipe.bind_rasterizer_state = nv20_rasterizer_state_bind; +	nv20->pipe.delete_rasterizer_state = nv20_rasterizer_state_delete; -	nv10->pipe.create_depth_stencil_alpha_state = -		nv10_depth_stencil_alpha_state_create; -	nv10->pipe.bind_depth_stencil_alpha_state = -		nv10_depth_stencil_alpha_state_bind; -	nv10->pipe.delete_depth_stencil_alpha_state = -		nv10_depth_stencil_alpha_state_delete; +	nv20->pipe.create_depth_stencil_alpha_state = +		nv20_depth_stencil_alpha_state_create; +	nv20->pipe.bind_depth_stencil_alpha_state = +		nv20_depth_stencil_alpha_state_bind; +	nv20->pipe.delete_depth_stencil_alpha_state = +		nv20_depth_stencil_alpha_state_delete; -	nv10->pipe.create_vs_state = nv10_vp_state_create; -	nv10->pipe.bind_vs_state = nv10_vp_state_bind; -	nv10->pipe.delete_vs_state = nv10_vp_state_delete; +	nv20->pipe.create_vs_state = nv20_vp_state_create; +	nv20->pipe.bind_vs_state = nv20_vp_state_bind; +	nv20->pipe.delete_vs_state = nv20_vp_state_delete; -	nv10->pipe.create_fs_state = nv10_fp_state_create; -	nv10->pipe.bind_fs_state = nv10_fp_state_bind; -	nv10->pipe.delete_fs_state = nv10_fp_state_delete; +	nv20->pipe.create_fs_state = nv20_fp_state_create; +	nv20->pipe.bind_fs_state = nv20_fp_state_bind; +	nv20->pipe.delete_fs_state = nv20_fp_state_delete; -	nv10->pipe.set_blend_color = nv10_set_blend_color; -	nv10->pipe.set_clip_state = nv10_set_clip_state; -	nv10->pipe.set_constant_buffer = nv10_set_constant_buffer; -	nv10->pipe.set_framebuffer_state = nv10_set_framebuffer_state; -	nv10->pipe.set_polygon_stipple = nv10_set_polygon_stipple; -	nv10->pipe.set_scissor_state = nv10_set_scissor_state; -	nv10->pipe.set_viewport_state = nv10_set_viewport_state; +	nv20->pipe.set_blend_color = nv20_set_blend_color; +	nv20->pipe.set_clip_state = nv20_set_clip_state; +	nv20->pipe.set_constant_buffer = nv20_set_constant_buffer; +	nv20->pipe.set_framebuffer_state = nv20_set_framebuffer_state; +	nv20->pipe.set_polygon_stipple = nv20_set_polygon_stipple; +	nv20->pipe.set_scissor_state = nv20_set_scissor_state; +	nv20->pipe.set_viewport_state = nv20_set_viewport_state; -	nv10->pipe.set_vertex_buffers = nv10_set_vertex_buffers; -	nv10->pipe.set_vertex_elements = nv10_set_vertex_elements; +	nv20->pipe.set_vertex_buffers = nv20_set_vertex_buffers; +	nv20->pipe.set_vertex_elements = nv20_set_vertex_elements;  } diff --git a/src/gallium/drivers/nv20/nv20_state.h b/src/gallium/drivers/nv20/nv20_state.h index 3a3fd0d4f4..34f402fdcb 100644 --- a/src/gallium/drivers/nv20/nv20_state.h +++ b/src/gallium/drivers/nv20/nv20_state.h @@ -1,10 +1,10 @@ -#ifndef __NV10_STATE_H__ -#define __NV10_STATE_H__ +#ifndef __NV20_STATE_H__ +#define __NV20_STATE_H__  #include "pipe/p_state.h"  #include "tgsi/tgsi_scan.h" -struct nv10_blend_state { +struct nv20_blend_state {  	uint32_t b_enable;  	uint32_t b_srcfunc;  	uint32_t b_dstfunc; @@ -14,14 +14,14 @@ struct nv10_blend_state {  	uint32_t d_enable;  }; -struct nv10_sampler_state { +struct nv20_sampler_state {  	uint32_t wrap;  	uint32_t en;  	uint32_t filt;  	uint32_t bcol;  }; -struct nv10_rasterizer_state { +struct nv20_rasterizer_state {  	uint32_t shade_model;  	uint32_t line_width; @@ -43,24 +43,24 @@ struct nv10_rasterizer_state {  	const struct pipe_rasterizer_state *templ;  }; -struct nv10_vertex_program_exec { +struct nv20_vertex_program_exec {  	uint32_t data[4];  	boolean has_branch_offset;  	int const_index;  }; -struct nv10_vertex_program_data { +struct nv20_vertex_program_data {  	int index; /* immediates == -1 */  	float value[4];  }; -struct nv10_vertex_program { +struct nv20_vertex_program {  	const struct pipe_shader_state *pipe;  	boolean translated; -	struct nv10_vertex_program_exec *insns; +	struct nv20_vertex_program_exec *insns;  	unsigned nr_insns; -	struct nv10_vertex_program_data *consts; +	struct nv20_vertex_program_data *consts;  	unsigned nr_consts;  	struct nouveau_resource *exec; @@ -73,12 +73,12 @@ struct nv10_vertex_program {  	uint32_t or;  }; -struct nv10_fragment_program_data { +struct nv20_fragment_program_data {  	unsigned offset;  	unsigned index;  }; -struct nv10_fragment_program { +struct nv20_fragment_program {  	struct pipe_shader_state pipe;  	struct tgsi_shader_info info; @@ -89,7 +89,7 @@ struct nv10_fragment_program {  	uint32_t *insn;  	int       insn_len; -	struct nv10_fragment_program_data *consts; +	struct nv20_fragment_program_data *consts;  	unsigned nr_consts;  	struct pipe_buffer *buffer; @@ -99,7 +99,7 @@ struct nv10_fragment_program {  }; -struct nv10_depth_stencil_alpha_state { +struct nv20_depth_stencil_alpha_state {  	struct {  		uint32_t func;  		uint32_t write_enable; @@ -124,7 +124,7 @@ struct nv10_depth_stencil_alpha_state {  	} alpha;  }; -struct nv10_miptree { +struct nv20_miptree {  	struct pipe_texture base;  	struct pipe_buffer *buffer; diff --git a/src/gallium/drivers/nv20/nv20_state_emit.c b/src/gallium/drivers/nv20/nv20_state_emit.c index 46c7e1d753..23029433f3 100644 --- a/src/gallium/drivers/nv20/nv20_state_emit.c +++ b/src/gallium/drivers/nv20/nv20_state_emit.c @@ -1,108 +1,108 @@ -#include "nv10_context.h" -#include "nv10_state.h" +#include "nv20_context.h" +#include "nv20_state.h" -static void nv10_state_emit_blend(struct nv10_context* nv10) +static void nv20_state_emit_blend(struct nv20_context* nv20)  { -	struct nv10_blend_state *b = nv10->blend; +	struct nv20_blend_state *b = nv20->blend; -	BEGIN_RING(celsius, NV10TCL_DITHER_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_DITHER_ENABLE, 1);  	OUT_RING  (b->d_enable); -	BEGIN_RING(celsius, NV10TCL_BLEND_FUNC_ENABLE, 3); +	BEGIN_RING(kelvin, NV10TCL_BLEND_FUNC_ENABLE, 3);  	OUT_RING  (b->b_enable);  	OUT_RING  (b->b_srcfunc);  	OUT_RING  (b->b_dstfunc); -	BEGIN_RING(celsius, NV10TCL_COLOR_MASK, 1); +	BEGIN_RING(kelvin, NV10TCL_COLOR_MASK, 1);  	OUT_RING  (b->c_mask);  } -static void nv10_state_emit_blend_color(struct nv10_context* nv10) +static void nv20_state_emit_blend_color(struct nv20_context* nv20)  { -	struct pipe_blend_color *c = nv10->blend_color; +	struct pipe_blend_color *c = nv20->blend_color; -	BEGIN_RING(celsius, NV10TCL_BLEND_COLOR, 1); +	BEGIN_RING(kelvin, NV10TCL_BLEND_COLOR, 1);  	OUT_RING  ((float_to_ubyte(c->color[3]) << 24)|  		   (float_to_ubyte(c->color[0]) << 16)|  		   (float_to_ubyte(c->color[1]) << 8) |  		   (float_to_ubyte(c->color[2]) << 0));  } -static void nv10_state_emit_rast(struct nv10_context* nv10) +static void nv20_state_emit_rast(struct nv20_context* nv20)  { -	struct nv10_rasterizer_state *r = nv10->rast; +	struct nv20_rasterizer_state *r = nv20->rast; -	BEGIN_RING(celsius, NV10TCL_SHADE_MODEL, 2); +	BEGIN_RING(kelvin, NV10TCL_SHADE_MODEL, 2);  	OUT_RING  (r->shade_model);  	OUT_RING  (r->line_width); -	BEGIN_RING(celsius, NV10TCL_POINT_SIZE, 1); +	BEGIN_RING(kelvin, NV10TCL_POINT_SIZE, 1);  	OUT_RING  (r->point_size); -	BEGIN_RING(celsius, NV10TCL_POLYGON_MODE_FRONT, 2); +	BEGIN_RING(kelvin, NV10TCL_POLYGON_MODE_FRONT, 2);  	OUT_RING  (r->poly_mode_front);  	OUT_RING  (r->poly_mode_back); -	BEGIN_RING(celsius, NV10TCL_CULL_FACE, 2); +	BEGIN_RING(kelvin, NV10TCL_CULL_FACE, 2);  	OUT_RING  (r->cull_face);  	OUT_RING  (r->front_face); -	BEGIN_RING(celsius, NV10TCL_LINE_SMOOTH_ENABLE, 2); +	BEGIN_RING(kelvin, NV10TCL_LINE_SMOOTH_ENABLE, 2);  	OUT_RING  (r->line_smooth_en);  	OUT_RING  (r->poly_smooth_en); -	BEGIN_RING(celsius, NV10TCL_CULL_FACE_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_CULL_FACE_ENABLE, 1);  	OUT_RING  (r->cull_face_en);  } -static void nv10_state_emit_dsa(struct nv10_context* nv10) +static void nv20_state_emit_dsa(struct nv20_context* nv20)  { -	struct nv10_depth_stencil_alpha_state *d = nv10->dsa; +	struct nv20_depth_stencil_alpha_state *d = nv20->dsa; -	BEGIN_RING(celsius, NV10TCL_DEPTH_FUNC, 1); +	BEGIN_RING(kelvin, NV10TCL_DEPTH_FUNC, 1);  	OUT_RING (d->depth.func); -	BEGIN_RING(celsius, NV10TCL_DEPTH_WRITE_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_DEPTH_WRITE_ENABLE, 1);  	OUT_RING (d->depth.write_enable); -	BEGIN_RING(celsius, NV10TCL_DEPTH_TEST_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_DEPTH_TEST_ENABLE, 1);  	OUT_RING (d->depth.test_enable);  #if 0 -	BEGIN_RING(celsius, NV10TCL_STENCIL_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_STENCIL_ENABLE, 1);  	OUT_RING (d->stencil.enable); -	BEGIN_RING(celsius, NV10TCL_STENCIL_MASK, 7); +	BEGIN_RING(kelvin, NV10TCL_STENCIL_MASK, 7);  	OUT_RINGp ((uint32_t *)&(d->stencil.wmask), 7);  #endif -	BEGIN_RING(celsius, NV10TCL_ALPHA_FUNC_ENABLE, 1); +	BEGIN_RING(kelvin, NV10TCL_ALPHA_FUNC_ENABLE, 1);  	OUT_RING (d->alpha.enabled); -	BEGIN_RING(celsius, NV10TCL_ALPHA_FUNC_FUNC, 1); +	BEGIN_RING(kelvin, NV10TCL_ALPHA_FUNC_FUNC, 1);  	OUT_RING (d->alpha.func); -	BEGIN_RING(celsius, NV10TCL_ALPHA_FUNC_REF, 1); +	BEGIN_RING(kelvin, NV10TCL_ALPHA_FUNC_REF, 1);  	OUT_RING (d->alpha.ref);  } -static void nv10_state_emit_viewport(struct nv10_context* nv10) +static void nv20_state_emit_viewport(struct nv20_context* nv20)  {  } -static void nv10_state_emit_scissor(struct nv10_context* nv10) +static void nv20_state_emit_scissor(struct nv20_context* nv20)  {  	// XXX this is so not working -/*	struct pipe_scissor_state *s = nv10->scissor; -	BEGIN_RING(celsius, NV10TCL_SCISSOR_HORIZ, 2); +/*	struct pipe_scissor_state *s = nv20->scissor; +	BEGIN_RING(kelvin, NV10TCL_SCISSOR_HORIZ, 2);  	OUT_RING  (((s->maxx - s->minx) << 16) | s->minx);  	OUT_RING  (((s->maxy - s->miny) << 16) | s->miny);*/  } -static void nv10_state_emit_framebuffer(struct nv10_context* nv10) +static void nv20_state_emit_framebuffer(struct nv20_context* nv20)  { -	struct pipe_framebuffer_state* fb = nv10->framebuffer; +	struct pipe_framebuffer_state* fb = nv20->framebuffer;  	struct pipe_surface *rt, *zeta = NULL;  	uint32_t rt_format, w, h;  	int colour_format = 0, zeta_format = 0; @@ -140,32 +140,32 @@ static void nv10_state_emit_framebuffer(struct nv10_context* nv10)  	}  	if (zeta) { -		BEGIN_RING(celsius, NV10TCL_RT_PITCH, 1); +		BEGIN_RING(kelvin, NV10TCL_RT_PITCH, 1);  		OUT_RING  (rt->stride | (zeta->stride << 16));  	} else { -		BEGIN_RING(celsius, NV10TCL_RT_PITCH, 1); +		BEGIN_RING(kelvin, NV10TCL_RT_PITCH, 1);  		OUT_RING  (rt->stride | (rt->stride << 16));  	} -	nv10->rt[0] = rt->buffer; +	nv20->rt[0] = rt->buffer;  	if (zeta_format)  	{ -		nv10->zeta = zeta->buffer; +		nv20->zeta = zeta->buffer;  	} -	BEGIN_RING(celsius, NV10TCL_RT_HORIZ, 3); +	BEGIN_RING(kelvin, NV10TCL_RT_HORIZ, 3);  	OUT_RING  ((w << 16) | 0);  	OUT_RING  ((h << 16) | 0);  	OUT_RING  (rt_format); -	BEGIN_RING(celsius, NV10TCL_VIEWPORT_CLIP_HORIZ(0), 2); +	BEGIN_RING(kelvin, NV10TCL_VIEWPORT_CLIP_HORIZ(0), 2);  	OUT_RING  (((w - 1) << 16) | 0 | 0x08000800);  	OUT_RING  (((h - 1) << 16) | 0 | 0x08000800);  } -static void nv10_vertex_layout(struct nv10_context *nv10) +static void nv20_vertex_layout(struct nv20_context *nv20)  { -	struct nv10_fragment_program *fp = nv10->fragprog.current; +	struct nv20_fragment_program *fp = nv20->fragprog.current;  	uint32_t src = 0;  	int i;  	struct vertex_info vinfo; @@ -193,108 +193,108 @@ static void nv10_vertex_layout(struct nv10_context *nv10)  }  void -nv10_emit_hw_state(struct nv10_context *nv10) +nv20_emit_hw_state(struct nv20_context *nv20)  {  	int i; -	if (nv10->dirty & NV10_NEW_VERTPROG) { -		//nv10_vertprog_bind(nv10, nv10->vertprog.current); -		nv10->dirty &= ~NV10_NEW_VERTPROG; +	if (nv20->dirty & NV20_NEW_VERTPROG) { +		//nv20_vertprog_bind(nv20, nv20->vertprog.current); +		nv20->dirty &= ~NV20_NEW_VERTPROG;  	} -	if (nv10->dirty & NV10_NEW_FRAGPROG) { -		nv10_fragprog_bind(nv10, nv10->fragprog.current); -		/*XXX: clear NV10_NEW_FRAGPROG if no new program uploaded */ -		nv10->dirty_samplers |= (1<<10); -		nv10->dirty_samplers = 0; +	if (nv20->dirty & NV20_NEW_FRAGPROG) { +		nv20_fragprog_bind(nv20, nv20->fragprog.current); +		/*XXX: clear NV20_NEW_FRAGPROG if no new program uploaded */ +		nv20->dirty_samplers |= (1<<10); +		nv20->dirty_samplers = 0;  	} -	if (nv10->dirty_samplers || (nv10->dirty & NV10_NEW_FRAGPROG)) { -		nv10_fragtex_bind(nv10); -		nv10->dirty &= ~NV10_NEW_FRAGPROG; +	if (nv20->dirty_samplers || (nv20->dirty & NV20_NEW_FRAGPROG)) { +		nv20_fragtex_bind(nv20); +		nv20->dirty &= ~NV20_NEW_FRAGPROG;  	} -	if (nv10->dirty & NV10_NEW_VTXARRAYS) { -		nv10->dirty &= ~NV10_NEW_VTXARRAYS; -		nv10_vertex_layout(nv10); -		nv10_vtxbuf_bind(nv10); +	if (nv20->dirty & NV20_NEW_VTXARRAYS) { +		nv20->dirty &= ~NV20_NEW_VTXARRAYS; +		nv20_vertex_layout(nv20); +		nv20_vtxbuf_bind(nv20);  	} -	if (nv10->dirty & NV10_NEW_BLEND) { -		nv10->dirty &= ~NV10_NEW_BLEND; -		nv10_state_emit_blend(nv10); +	if (nv20->dirty & NV20_NEW_BLEND) { +		nv20->dirty &= ~NV20_NEW_BLEND; +		nv20_state_emit_blend(nv20);  	} -	if (nv10->dirty & NV10_NEW_BLENDCOL) { -		nv10->dirty &= ~NV10_NEW_BLENDCOL; -		nv10_state_emit_blend_color(nv10); +	if (nv20->dirty & NV20_NEW_BLENDCOL) { +		nv20->dirty &= ~NV20_NEW_BLENDCOL; +		nv20_state_emit_blend_color(nv20);  	} -	if (nv10->dirty & NV10_NEW_RAST) { -		nv10->dirty &= ~NV10_NEW_RAST; -		nv10_state_emit_rast(nv10); +	if (nv20->dirty & NV20_NEW_RAST) { +		nv20->dirty &= ~NV20_NEW_RAST; +		nv20_state_emit_rast(nv20);  	} -	if (nv10->dirty & NV10_NEW_DSA) { -		nv10->dirty &= ~NV10_NEW_DSA; -		nv10_state_emit_dsa(nv10); +	if (nv20->dirty & NV20_NEW_DSA) { +		nv20->dirty &= ~NV20_NEW_DSA; +		nv20_state_emit_dsa(nv20);  	} - 	if (nv10->dirty & NV10_NEW_VIEWPORT) { -		nv10->dirty &= ~NV10_NEW_VIEWPORT; -		nv10_state_emit_viewport(nv10); + 	if (nv20->dirty & NV20_NEW_VIEWPORT) { +		nv20->dirty &= ~NV20_NEW_VIEWPORT; +		nv20_state_emit_viewport(nv20);  	} - 	if (nv10->dirty & NV10_NEW_SCISSOR) { -		nv10->dirty &= ~NV10_NEW_SCISSOR; -		nv10_state_emit_scissor(nv10); + 	if (nv20->dirty & NV20_NEW_SCISSOR) { +		nv20->dirty &= ~NV20_NEW_SCISSOR; +		nv20_state_emit_scissor(nv20);  	} - 	if (nv10->dirty & NV10_NEW_FRAMEBUFFER) { -		nv10->dirty &= ~NV10_NEW_FRAMEBUFFER; -		nv10_state_emit_framebuffer(nv10); + 	if (nv20->dirty & NV20_NEW_FRAMEBUFFER) { +		nv20->dirty &= ~NV20_NEW_FRAMEBUFFER; +		nv20_state_emit_framebuffer(nv20);  	}  	/* Emit relocs for every referenced buffer.  	 * This is to ensure the bufmgr has an accurate idea of how  	 * the buffer is used.  This isn't very efficient, but we don't  	 * seem to take a significant performance hit.  Will be improved -	 * at some point.  Vertex arrays are emitted by nv10_vbo.c +	 * at some point.  Vertex arrays are emitted by nv20_vbo.c  	 */  	/* Render target */  // XXX figre out who's who for NV10TCL_DMA_* and fill accordingly -//	BEGIN_RING(celsius, NV10TCL_DMA_COLOR0, 1); -//	OUT_RELOCo(nv10->rt[0], NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); -	BEGIN_RING(celsius, NV10TCL_COLOR_OFFSET, 1); -	OUT_RELOCl(nv10->rt[0], 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); +//	BEGIN_RING(kelvin, NV10TCL_DMA_COLOR0, 1); +//	OUT_RELOCo(nv20->rt[0], NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); +	BEGIN_RING(kelvin, NV10TCL_COLOR_OFFSET, 1); +	OUT_RELOCl(nv20->rt[0], 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); -	if (nv10->zeta) { +	if (nv20->zeta) {  // XXX -//		BEGIN_RING(celsius, NV10TCL_DMA_ZETA, 1); -//		OUT_RELOCo(nv10->zeta, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); -		BEGIN_RING(celsius, NV10TCL_ZETA_OFFSET, 1); -		OUT_RELOCl(nv10->zeta, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); +//		BEGIN_RING(kelvin, NV10TCL_DMA_ZETA, 1); +//		OUT_RELOCo(nv20->zeta, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); +		BEGIN_RING(kelvin, NV10TCL_ZETA_OFFSET, 1); +		OUT_RELOCl(nv20->zeta, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);  		/* XXX for when we allocate LMA on nv17 */ -/*		BEGIN_RING(celsius, NV10TCL_LMA_DEPTH_BUFFER_OFFSET, 1); -		OUT_RELOCl(nv10->zeta + lma_offset);*/ +/*		BEGIN_RING(kelvin, NV10TCL_LMA_DEPTH_BUFFER_OFFSET, 1); +		OUT_RELOCl(nv20->zeta + lma_offset);*/  	}  	/* Vertex buffer */ -	BEGIN_RING(celsius, NV10TCL_DMA_VTXBUF0, 1); -	OUT_RELOCo(nv10->rt[0], NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); -	BEGIN_RING(celsius, NV10TCL_COLOR_OFFSET, 1); -	OUT_RELOCl(nv10->rt[0], 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); +	BEGIN_RING(kelvin, NV10TCL_DMA_VTXBUF0, 1); +	OUT_RELOCo(nv20->rt[0], NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); +	BEGIN_RING(kelvin, NV10TCL_COLOR_OFFSET, 1); +	OUT_RELOCl(nv20->rt[0], 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);  	/* Texture images */  	for (i = 0; i < 2; i++) { -		if (!(nv10->fp_samplers & (1 << i))) +		if (!(nv20->fp_samplers & (1 << i)))  			continue; -		BEGIN_RING(celsius, NV10TCL_TX_OFFSET(i), 1); -		OUT_RELOCl(nv10->tex[i].buffer, 0, NOUVEAU_BO_VRAM | +		BEGIN_RING(kelvin, NV10TCL_TX_OFFSET(i), 1); +		OUT_RELOCl(nv20->tex[i].buffer, 0, NOUVEAU_BO_VRAM |  			   NOUVEAU_BO_GART | NOUVEAU_BO_RD); -		BEGIN_RING(celsius, NV10TCL_TX_FORMAT(i), 1); -		OUT_RELOCd(nv10->tex[i].buffer, nv10->tex[i].format, +		BEGIN_RING(kelvin, NV10TCL_TX_FORMAT(i), 1); +		OUT_RELOCd(nv20->tex[i].buffer, nv20->tex[i].format,  			   NOUVEAU_BO_VRAM | NOUVEAU_BO_GART | NOUVEAU_BO_RD |  			   NOUVEAU_BO_OR, NV10TCL_TX_FORMAT_DMA0,  			   NV10TCL_TX_FORMAT_DMA1); diff --git a/src/gallium/drivers/nv20/nv20_surface.c b/src/gallium/drivers/nv20/nv20_surface.c index 875e4c5858..41b6d6ad35 100644 --- a/src/gallium/drivers/nv20/nv20_surface.c +++ b/src/gallium/drivers/nv20/nv20_surface.c @@ -26,39 +26,39 @@   *    **************************************************************************/ -#include "nv10_context.h" +#include "nv20_context.h"  #include "pipe/p_defines.h"  #include "pipe/p_winsys.h"  #include "pipe/p_inlines.h"  #include "util/u_tile.h"  static void -nv10_surface_copy(struct pipe_context *pipe, unsigned do_flip, +nv20_surface_copy(struct pipe_context *pipe, unsigned do_flip,  		  struct pipe_surface *dest, unsigned destx, unsigned desty,  		  struct pipe_surface *src, unsigned srcx, unsigned srcy,  		  unsigned width, unsigned height)  { -	struct nv10_context *nv10 = nv10_context(pipe); -	struct nouveau_winsys *nvws = nv10->nvws; +	struct nv20_context *nv20 = nv20_context(pipe); +	struct nouveau_winsys *nvws = nv20->nvws;  	nvws->surface_copy(nvws, dest, destx, desty, src, srcx, srcy,  			   width, height);  }  static void -nv10_surface_fill(struct pipe_context *pipe, struct pipe_surface *dest, +nv20_surface_fill(struct pipe_context *pipe, struct pipe_surface *dest,  		  unsigned destx, unsigned desty, unsigned width,  		  unsigned height, unsigned value)  { -	struct nv10_context *nv10 = nv10_context(pipe); -	struct nouveau_winsys *nvws = nv10->nvws; +	struct nv20_context *nv20 = nv20_context(pipe); +	struct nouveau_winsys *nvws = nv20->nvws;  	nvws->surface_fill(nvws, dest, destx, desty, width, height, value);  }  void -nv10_init_surface_functions(struct nv10_context *nv10) +nv20_init_surface_functions(struct nv20_context *nv20)  { -	nv10->pipe.surface_copy = nv10_surface_copy; -	nv10->pipe.surface_fill = nv10_surface_fill; +	nv20->pipe.surface_copy = nv20_surface_copy; +	nv20->pipe.surface_fill = nv20_surface_fill;  } diff --git a/src/gallium/drivers/nv20/nv20_vbo.c b/src/gallium/drivers/nv20/nv20_vbo.c index d0e788ac03..4edc4efebd 100644 --- a/src/gallium/drivers/nv20/nv20_vbo.c +++ b/src/gallium/drivers/nv20/nv20_vbo.c @@ -2,31 +2,31 @@  #include "pipe/p_context.h"  #include "pipe/p_state.h" -#include "nv10_context.h" -#include "nv10_state.h" +#include "nv20_context.h" +#include "nv20_state.h"  #include "nouveau/nouveau_channel.h"  #include "nouveau/nouveau_pushbuf.h" -boolean nv10_draw_elements( struct pipe_context *pipe, +boolean nv20_draw_elements( struct pipe_context *pipe,                      struct pipe_buffer *indexBuffer,                      unsigned indexSize,                      unsigned prim, unsigned start, unsigned count)  { -	struct nv10_context *nv10 = nv10_context( pipe ); -	struct draw_context *draw = nv10->draw; +	struct nv20_context *nv20 = nv20_context( pipe ); +	struct draw_context *draw = nv20->draw;  	unsigned i; -	nv10_emit_hw_state(nv10); +	nv20_emit_hw_state(nv20);  	/*  	 * Map vertex buffers  	 */  	for (i = 0; i < PIPE_MAX_ATTRIBS; i++) { -		if (nv10->vtxbuf[i].buffer) { +		if (nv20->vtxbuf[i].buffer) {  			void *buf  				= pipe->winsys->buffer_map(pipe->winsys, -						nv10->vtxbuf[i].buffer, +						nv20->vtxbuf[i].buffer,  						PIPE_BUFFER_USAGE_CPU_READ);  			draw_set_mapped_vertex_buffer(draw, i, buf);  		} @@ -44,18 +44,18 @@ boolean nv10_draw_elements( struct pipe_context *pipe,  	}  	draw_set_mapped_constant_buffer(draw, -					nv10->constbuf[PIPE_SHADER_VERTEX], -					nv10->constbuf_nr[PIPE_SHADER_VERTEX]); +					nv20->constbuf[PIPE_SHADER_VERTEX], +					nv20->constbuf_nr[PIPE_SHADER_VERTEX]);  	/* draw! */ -	draw_arrays(nv10->draw, prim, start, count); +	draw_arrays(nv20->draw, prim, start, count);  	/*  	 * unmap vertex/index buffers  	 */  	for (i = 0; i < PIPE_MAX_ATTRIBS; i++) { -		if (nv10->vtxbuf[i].buffer) { -			pipe->winsys->buffer_unmap(pipe->winsys, nv10->vtxbuf[i].buffer); +		if (nv20->vtxbuf[i].buffer) { +			pipe->winsys->buffer_unmap(pipe->winsys, nv20->vtxbuf[i].buffer);  			draw_set_mapped_vertex_buffer(draw, i, NULL);  		}  	} @@ -67,10 +67,10 @@ boolean nv10_draw_elements( struct pipe_context *pipe,  	return TRUE;  } -boolean nv10_draw_arrays( struct pipe_context *pipe, +boolean nv20_draw_arrays( struct pipe_context *pipe,  				 unsigned prim, unsigned start, unsigned count)  { -	return nv10_draw_elements(pipe, NULL, 0, prim, start, count); +	return nv20_draw_elements(pipe, NULL, 0, prim, start, count);  } diff --git a/src/gallium/drivers/nv20/nv20_vertprog.c b/src/gallium/drivers/nv20/nv20_vertprog.c index 72824559e8..a885fcd7a5 100644 --- a/src/gallium/drivers/nv20/nv20_vertprog.c +++ b/src/gallium/drivers/nv20/nv20_vertprog.c @@ -6,8 +6,8 @@  #include "tgsi/tgsi_parse.h"  #include "tgsi/tgsi_dump.h" -#include "nv30_context.h" -#include "nv30_state.h" +#include "nv20_context.h" +#include "nv20_state.h"  /* TODO (at least...):   *  1. Indexed consts  + ARL @@ -32,47 +32,47 @@  #define MASK_ALL (MASK_X|MASK_Y|MASK_Z|MASK_W)  #define DEF_SCALE 0  #define DEF_CTEST 0 -#include "nv30_shader.h" +#include "nv20_shader.h" -#define swz(s,x,y,z,w) nv30_sr_swz((s), SWZ_##x, SWZ_##y, SWZ_##z, SWZ_##w) -#define neg(s) nv30_sr_neg((s)) -#define abs(s) nv30_sr_abs((s)) +#define swz(s,x,y,z,w) nv20_sr_swz((s), SWZ_##x, SWZ_##y, SWZ_##z, SWZ_##w) +#define neg(s) nv20_sr_neg((s)) +#define abs(s) nv20_sr_abs((s)) -struct nv30_vpc { -	struct nv30_vertex_program *vp; +struct nv20_vpc { +	struct nv20_vertex_program *vp; -	struct nv30_vertex_program_exec *vpi; +	struct nv20_vertex_program_exec *vpi;  	unsigned output_map[PIPE_MAX_SHADER_OUTPUTS];  	int high_temp;  	int temp_temp_count; -	struct nv30_sreg *imm; +	struct nv20_sreg *imm;  	unsigned nr_imm;  }; -static struct nv30_sreg -temp(struct nv30_vpc *vpc) +static struct nv20_sreg +temp(struct nv20_vpc *vpc)  {  	int idx;  	idx  = vpc->temp_temp_count++;  	idx += vpc->high_temp + 1; -	return nv30_sr(NV30SR_TEMP, idx); +	return nv20_sr(NV30SR_TEMP, idx);  } -static struct nv30_sreg -constant(struct nv30_vpc *vpc, int pipe, float x, float y, float z, float w) +static struct nv20_sreg +constant(struct nv20_vpc *vpc, int pipe, float x, float y, float z, float w)  { -	struct nv30_vertex_program *vp = vpc->vp; -	struct nv30_vertex_program_data *vpd; +	struct nv20_vertex_program *vp = vpc->vp; +	struct nv20_vertex_program_data *vpd;  	int idx;  	if (pipe >= 0) {  		for (idx = 0; idx < vp->nr_consts; idx++) {  			if (vp->consts[idx].index == pipe) -				return nv30_sr(NV30SR_CONST, idx); +				return nv20_sr(NV30SR_CONST, idx);  		}  	} @@ -85,16 +85,16 @@ constant(struct nv30_vpc *vpc, int pipe, float x, float y, float z, float w)  	vpd->value[1] = y;  	vpd->value[2] = z;  	vpd->value[3] = w; -	return nv30_sr(NV30SR_CONST, idx); +	return nv20_sr(NV30SR_CONST, idx);  }  #define arith(cc,s,o,d,m,s0,s1,s2) \ -	nv30_vp_arith((cc), (s), NV30_VP_INST_##o, (d), (m), (s0), (s1), (s2)) +	nv20_vp_arith((cc), (s), NV30_VP_INST_##o, (d), (m), (s0), (s1), (s2))  static void -emit_src(struct nv30_vpc *vpc, uint32_t *hw, int pos, struct nv30_sreg src) +emit_src(struct nv20_vpc *vpc, uint32_t *hw, int pos, struct nv20_sreg src)  { -	struct nv30_vertex_program *vp = vpc->vp; +	struct nv20_vertex_program *vp = vpc->vp;  	uint32_t sr = 0;  	switch (src.type) { @@ -163,9 +163,9 @@ emit_src(struct nv30_vpc *vpc, uint32_t *hw, int pos, struct nv30_sreg src)  }  static void -emit_dst(struct nv30_vpc *vpc, uint32_t *hw, int slot, struct nv30_sreg dst) +emit_dst(struct nv20_vpc *vpc, uint32_t *hw, int slot, struct nv20_sreg dst)  { -	struct nv30_vertex_program *vp = vpc->vp; +	struct nv20_vertex_program *vp = vpc->vp;  	switch (dst.type) {  	case NV30SR_TEMP: @@ -205,12 +205,12 @@ emit_dst(struct nv30_vpc *vpc, uint32_t *hw, int slot, struct nv30_sreg dst)  }  static void -nv30_vp_arith(struct nv30_vpc *vpc, int slot, int op, -	      struct nv30_sreg dst, int mask, -	      struct nv30_sreg s0, struct nv30_sreg s1, -	      struct nv30_sreg s2) +nv20_vp_arith(struct nv20_vpc *vpc, int slot, int op, +	      struct nv20_sreg dst, int mask, +	      struct nv20_sreg s0, struct nv20_sreg s1, +	      struct nv20_sreg s2)  { -	struct nv30_vertex_program *vp = vpc->vp; +	struct nv20_vertex_program *vp = vpc->vp;  	uint32_t *hw;  	vp->insns = realloc(vp->insns, ++vp->nr_insns * sizeof(*vpc->vpi)); @@ -248,13 +248,13 @@ nv30_vp_arith(struct nv30_vpc *vpc, int slot, int op,  	emit_src(vpc, hw, 2, s2);  } -static INLINE struct nv30_sreg -tgsi_src(struct nv30_vpc *vpc, const struct tgsi_full_src_register *fsrc) { -	struct nv30_sreg src; +static INLINE struct nv20_sreg +tgsi_src(struct nv20_vpc *vpc, const struct tgsi_full_src_register *fsrc) { +	struct nv20_sreg src;  	switch (fsrc->SrcRegister.File) {  	case TGSI_FILE_INPUT: -		src = nv30_sr(NV30SR_INPUT, fsrc->SrcRegister.Index); +		src = nv20_sr(NV30SR_INPUT, fsrc->SrcRegister.Index);  		break;  	case TGSI_FILE_CONSTANT:  		src = constant(vpc, fsrc->SrcRegister.Index, 0, 0, 0, 0); @@ -265,7 +265,7 @@ tgsi_src(struct nv30_vpc *vpc, const struct tgsi_full_src_register *fsrc) {  	case TGSI_FILE_TEMPORARY:  		if (vpc->high_temp < fsrc->SrcRegister.Index)  			vpc->high_temp = fsrc->SrcRegister.Index; -		src = nv30_sr(NV30SR_TEMP, fsrc->SrcRegister.Index); +		src = nv20_sr(NV30SR_TEMP, fsrc->SrcRegister.Index);  		break;  	default:  		NOUVEAU_ERR("bad src file\n"); @@ -281,18 +281,18 @@ tgsi_src(struct nv30_vpc *vpc, const struct tgsi_full_src_register *fsrc) {  	return src;  } -static INLINE struct nv30_sreg -tgsi_dst(struct nv30_vpc *vpc, const struct tgsi_full_dst_register *fdst) { -	struct nv30_sreg dst; +static INLINE struct nv20_sreg +tgsi_dst(struct nv20_vpc *vpc, const struct tgsi_full_dst_register *fdst) { +	struct nv20_sreg dst;  	switch (fdst->DstRegister.File) {  	case TGSI_FILE_OUTPUT: -		dst = nv30_sr(NV30SR_OUTPUT, +		dst = nv20_sr(NV30SR_OUTPUT,  			      vpc->output_map[fdst->DstRegister.Index]);  		break;  	case TGSI_FILE_TEMPORARY: -		dst = nv30_sr(NV30SR_TEMP, fdst->DstRegister.Index); +		dst = nv20_sr(NV30SR_TEMP, fdst->DstRegister.Index);  		if (vpc->high_temp < dst.index)  			vpc->high_temp = dst.index;  		break; @@ -317,11 +317,11 @@ tgsi_mask(uint tgsi)  }  static boolean -nv30_vertprog_parse_instruction(struct nv30_vpc *vpc, +nv20_vertprog_parse_instruction(struct nv20_vpc *vpc,  				const struct tgsi_full_instruction *finst)  { -	struct nv30_sreg src[3], dst, tmp; -	struct nv30_sreg none = nv30_sr(NV30SR_NONE, 0); +	struct nv20_sreg src[3], dst, tmp; +	struct nv20_sreg none = nv20_sr(NV30SR_NONE, 0);  	int mask;  	int ai = -1, ci = -1;  	int i; @@ -484,7 +484,7 @@ nv30_vertprog_parse_instruction(struct nv30_vpc *vpc,  }  static boolean -nv30_vertprog_parse_decl_output(struct nv30_vpc *vpc, +nv20_vertprog_parse_decl_output(struct nv20_vpc *vpc,  				const struct tgsi_full_declaration *fdec)  {  	int hw; @@ -539,7 +539,7 @@ nv30_vertprog_parse_decl_output(struct nv30_vpc *vpc,  }  static boolean -nv30_vertprog_prepare(struct nv30_vpc *vpc) +nv20_vertprog_prepare(struct nv20_vpc *vpc)  {  	struct tgsi_parse_context p;  	int nr_imm = 0; @@ -560,7 +560,7 @@ nv30_vertprog_prepare(struct nv30_vpc *vpc)  	tgsi_parse_free(&p);  	if (nr_imm) { -		vpc->imm = CALLOC(nr_imm, sizeof(struct nv30_sreg)); +		vpc->imm = CALLOC(nr_imm, sizeof(struct nv20_sreg));  		assert(vpc->imm);  	} @@ -568,21 +568,21 @@ nv30_vertprog_prepare(struct nv30_vpc *vpc)  }  static void -nv30_vertprog_translate(struct nv30_context *nv30, -			struct nv30_vertex_program *vp) +nv20_vertprog_translate(struct nv20_context *nv20, +			struct nv20_vertex_program *vp)  {  	struct tgsi_parse_context parse; -	struct nv30_vpc *vpc = NULL; +	struct nv20_vpc *vpc = NULL;  	tgsi_dump(vp->pipe.tokens,0); -	vpc = CALLOC(1, sizeof(struct nv30_vpc)); +	vpc = CALLOC(1, sizeof(struct nv20_vpc));  	if (!vpc)  		return;  	vpc->vp = vp;  	vpc->high_temp = -1; -	if (!nv30_vertprog_prepare(vpc)) { +	if (!nv20_vertprog_prepare(vpc)) {  		FREE(vpc);  		return;  	} @@ -599,7 +599,7 @@ nv30_vertprog_translate(struct nv30_context *nv30,  			fdec = &parse.FullToken.FullDeclaration;  			switch (fdec->Declaration.File) {  			case TGSI_FILE_OUTPUT: -				if (!nv30_vertprog_parse_decl_output(vpc, fdec)) +				if (!nv20_vertprog_parse_decl_output(vpc, fdec))  					goto out_err;  				break;  			default: @@ -626,7 +626,7 @@ nv30_vertprog_translate(struct nv30_context *nv30,  		{  			const struct tgsi_full_instruction *finst;  			finst = &parse.FullToken.FullInstruction; -			if (!nv30_vertprog_parse_instruction(vpc, finst)) +			if (!nv20_vertprog_parse_instruction(vpc, finst))  				goto out_err;  		}  			break; @@ -643,35 +643,35 @@ out_err:  }  static boolean -nv30_vertprog_validate(struct nv30_context *nv30) +nv20_vertprog_validate(struct nv20_context *nv20)  {  -	struct nouveau_winsys *nvws = nv30->nvws; -	struct pipe_winsys *ws = nv30->pipe.winsys; -	struct nouveau_grobj *rankine = nv30->screen->rankine; -	struct nv30_vertex_program *vp; +	struct nouveau_winsys *nvws = nv20->nvws; +	struct pipe_winsys *ws = nv20->pipe.winsys; +	struct nouveau_grobj *rankine = nv20->screen->rankine; +	struct nv20_vertex_program *vp;  	struct pipe_buffer *constbuf;  	boolean upload_code = FALSE, upload_data = FALSE;  	int i; -	vp = nv30->vertprog; -	constbuf = nv30->constbuf[PIPE_SHADER_VERTEX]; +	vp = nv20->vertprog; +	constbuf = nv20->constbuf[PIPE_SHADER_VERTEX];  	/* Translate TGSI shader into hw bytecode */  	if (!vp->translated) { -		nv30_vertprog_translate(nv30, vp); +		nv20_vertprog_translate(nv20, vp);  		if (!vp->translated)  			return FALSE;  	}  	/* Allocate hw vtxprog exec slots */  	if (!vp->exec) { -		struct nouveau_resource *heap = nv30->screen->vp_exec_heap; +		struct nouveau_resource *heap = nv20->screen->vp_exec_heap;  		struct nouveau_stateobj *so;  		uint vplen = vp->nr_insns;  		if (nvws->res_alloc(heap, vplen, vp, &vp->exec)) {  			while (heap->next && heap->size < vplen) { -				struct nv30_vertex_program *evict; +				struct nv20_vertex_program *evict;  				evict = heap->next->priv;  				nvws->res_free(&evict->exec); @@ -691,11 +691,11 @@ nv30_vertprog_validate(struct nv30_context *nv30)  	/* Allocate hw vtxprog const slots */  	if (vp->nr_consts && !vp->data) { -		struct nouveau_resource *heap = nv30->screen->vp_data_heap; +		struct nouveau_resource *heap = nv20->screen->vp_data_heap;  		if (nvws->res_alloc(heap, vp->nr_consts, vp, &vp->data)) {  			while (heap->next && heap->size < vp->nr_consts) { -				struct nv30_vertex_program *evict; +				struct nv20_vertex_program *evict;  				evict = heap->next->priv;  				nvws->res_free(&evict->data); @@ -718,7 +718,7 @@ nv30_vertprog_validate(struct nv30_context *nv30)  	 */  	if (vp->exec_start != vp->exec->start) {  		for (i = 0; i < vp->nr_insns; i++) { -			struct nv30_vertex_program_exec *vpi = &vp->insns[i]; +			struct nv20_vertex_program_exec *vpi = &vp->insns[i];  			if (vpi->has_branch_offset) {  				assert(0); @@ -730,7 +730,7 @@ nv30_vertprog_validate(struct nv30_context *nv30)  	if (vp->nr_consts && vp->data_start != vp->data->start) {  		for (i = 0; i < vp->nr_insns; i++) { -			struct nv30_vertex_program_exec *vpi = &vp->insns[i]; +			struct nv20_vertex_program_exec *vpi = &vp->insns[i];  			if (vpi->const_index >= 0) {  				vpi->data[1] &= ~NV30_VP_INST_CONST_SRC_MASK; @@ -754,7 +754,7 @@ nv30_vertprog_validate(struct nv30_context *nv30)  		}  		for (i = 0; i < vp->nr_consts; i++) { -			struct nv30_vertex_program_data *vpd = &vp->consts[i]; +			struct nv20_vertex_program_data *vpd = &vp->consts[i];  			if (vpd->index >= 0) {  				if (!upload_data && @@ -792,8 +792,8 @@ nv30_vertprog_validate(struct nv30_context *nv30)  		}  	} -	if (vp->so != nv30->state.hw[NV30_STATE_VERTPROG]) { -		so_ref(vp->so, &nv30->state.hw[NV30_STATE_VERTPROG]); +	if (vp->so != nv20->state.hw[NV30_STATE_VERTPROG]) { +		so_ref(vp->so, &nv20->state.hw[NV30_STATE_VERTPROG]);  		return TRUE;  	} @@ -801,9 +801,9 @@ nv30_vertprog_validate(struct nv30_context *nv30)  }  void -nv30_vertprog_destroy(struct nv30_context *nv30, struct nv30_vertex_program *vp) +nv20_vertprog_destroy(struct nv20_context *nv20, struct nv20_vertex_program *vp)  { -	struct nouveau_winsys *nvws = nv30->screen->nvws; +	struct nouveau_winsys *nvws = nv20->screen->nvws;  	vp->translated = FALSE; @@ -829,8 +829,8 @@ nv30_vertprog_destroy(struct nv30_context *nv30, struct nv30_vertex_program *vp)  	so_ref(NULL, &vp->so);  } -struct nv30_state_entry nv30_state_vertprog = { -	.validate = nv30_vertprog_validate, +struct nv20_state_entry nv20_state_vertprog = { +	.validate = nv20_vertprog_validate,  	.dirty = {  		.pipe = NV30_NEW_VERTPROG /*| NV30_NEW_UCP*/,  		.hw = NV30_STATE_VERTPROG, | 
