diff options
| author | Richard Li <richardradeon@gmail.com> | 2009-09-24 11:26:15 -0400 | 
|---|---|---|
| committer | Richard Li <richardradeon@gmail.com> | 2009-09-24 11:29:44 -0400 | 
| commit | 5f06064b616099712dbb2854351d0740c1dbfc60 (patch) | |
| tree | fea5f17f1adee21db4c620906e6831d7b78c9a6f /src | |
| parent | 9659aa6482291d1530c74450612bcd952f542e01 (diff) | |
r600 : fix draw_prim bug:  vertex fetcher setting.
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/drivers/dri/r600/r700_chip.c | 19 | 
1 files changed, 16 insertions, 3 deletions
| diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c index 783427a94c..e3b8a4081a 100644 --- a/src/mesa/drivers/dri/r600/r700_chip.c +++ b/src/mesa/drivers/dri/r600/r700_chip.c @@ -254,9 +254,22 @@ static void r700SetupVTXConstants2(GLcontext  * ctx,      SETfield(uSQ_VTX_CONSTANT_WORD2_0, GetSurfaceFormat(pStreamDesc->type, pStreamDesc->size, NULL),  	     SQ_VTX_CONSTANT_WORD2_0__DATA_FORMAT_shift,  	     SQ_VTX_CONSTANT_WORD2_0__DATA_FORMAT_mask); /* TODO : trace back api for initial data type, not only GL_FLOAT */ -    SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_SCALED, -	     SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask); -    SETbit(uSQ_VTX_CONSTANT_WORD2_0, SQ_VTX_CONSTANT_WORD2_0__FORMAT_COMP_ALL_bit); +     +    if(GL_TRUE == pStreamDesc->normalize)
 +    {
 +        SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_NORM,
 +	             SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask);
 +    }
 +    //else
 +    //{
 +    //    SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_INT,
 +	//             SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask);
 +    //}
 +
 +    if(1 == pStreamDesc->_signed)
 +    {
 +        SETbit(uSQ_VTX_CONSTANT_WORD2_0, SQ_VTX_CONSTANT_WORD2_0__FORMAT_COMP_ALL_bit);
 +    }      SETfield(uSQ_VTX_CONSTANT_WORD3_0, 1, MEM_REQUEST_SIZE_shift, MEM_REQUEST_SIZE_mask);      SETfield(uSQ_VTX_CONSTANT_WORD6_0, SQ_TEX_VTX_VALID_BUFFER, | 
