diff options
Diffstat (limited to 'src/mesa')
| -rw-r--r-- | src/mesa/drivers/dri/nouveau/nouveau_object.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/nouveau/nv30_state.c | 19 | 
2 files changed, 21 insertions, 0 deletions
| diff --git a/src/mesa/drivers/dri/nouveau/nouveau_object.c b/src/mesa/drivers/dri/nouveau/nouveau_object.c index ef8a428c22..dda547c916 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_object.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_object.c @@ -73,6 +73,8 @@ void nouveauObjectInit(nouveauContextPtr nmesa)  	nouveauObjectOnSubchannel(nmesa, NvSubImageBlit, NvImageBlit);  	BEGIN_RING_SIZE(NvSubImageBlit, NV10_IMAGE_BLIT_SET_CONTEXT_SURFACES_2D, 1);  	OUT_RING(NvCtxSurf2D); +	BEGIN_RING_SIZE(NvSubImageBlit, NV10_IMAGE_BLIT_SET_OPERATION, 1); +	OUT_RING(3); /* SRCCOPY */  #endif  	nouveauObjectOnSubchannel(nmesa, NvSub3D, Nv3D); diff --git a/src/mesa/drivers/dri/nouveau/nv30_state.c b/src/mesa/drivers/dri/nouveau/nv30_state.c index e30dc8a37c..eb3606b6e1 100644 --- a/src/mesa/drivers/dri/nouveau/nv30_state.c +++ b/src/mesa/drivers/dri/nouveau/nv30_state.c @@ -736,9 +736,28 @@ static GLboolean nv40InitCard(nouveauContextPtr nmesa)  	OUT_RING(NvDmaFB);  	BEGIN_RING_SIZE(NvSub3D, 0x0220, 1);  	OUT_RING(1); + +	BEGIN_RING_SIZE(NvSub3D, 0x1ea4, 3); +	OUT_RING(0x00000010); +	OUT_RING(0x01000100); +	OUT_RING(0xff800006); +	BEGIN_RING_SIZE(NvSub3D, 0x1fc4, 1); +	OUT_RING(0x06144321);  	BEGIN_RING_SIZE(NvSub3D, 0x1fc8, 2);  	OUT_RING(0xedcba987);  	OUT_RING(0x00000021); +	BEGIN_RING_SIZE(NvSub3D, 0x1fd0, 1); +	OUT_RING(0x00171615); +	BEGIN_RING_SIZE(NvSub3D, 0x1fd4, 1); +	OUT_RING(0x001b1a19); + +	BEGIN_RING_SIZE(NvSub3D, 0x1ef8, 1); +	OUT_RING(0x0020ffff); +	BEGIN_RING_SIZE(NvSub3D, 0x1d64, 1); +	OUT_RING(0x00d30000); +	BEGIN_RING_SIZE(NvSub3D, 0x1e94, 1); +	OUT_RING(0x00000001); +  	BEGIN_RING_SIZE(NvSub3D, 0x1d60, 1);  	OUT_RING(0x03008000); | 
