diff options
| -rw-r--r-- | src/gallium/drivers/nvfx/nvfx_vbo.c | 23 | 
1 files changed, 12 insertions, 11 deletions
| diff --git a/src/gallium/drivers/nvfx/nvfx_vbo.c b/src/gallium/drivers/nvfx/nvfx_vbo.c index 0ebeadc870..b8e94885f0 100644 --- a/src/gallium/drivers/nvfx/nvfx_vbo.c +++ b/src/gallium/drivers/nvfx/nvfx_vbo.c @@ -122,11 +122,12 @@ nvfx_vbo_static_attrib(struct nvfx_context *nvfx,  	struct pipe_transfer *transfer;  	struct nouveau_channel* chan = nvfx->screen->base.channel;  	void *map; +	float *v;  	map  = pipe_buffer_map(&nvfx->pipe, vb->buffer, PIPE_TRANSFER_READ, &transfer);  	map = (uint8_t *) map + vb->buffer_offset + ve->src_offset; -	float *v = map; +	v = map;  	switch (ncomp) {  	case 4: @@ -173,11 +174,11 @@ nvfx_draw_arrays(struct pipe_context *pipe,  	}  	while (count) { -		unsigned vc, nr; +		unsigned vc, nr, avail;  		nvfx_state_emit(nvfx); -		unsigned avail = AVAIL_RING(chan); +		avail = AVAIL_RING(chan);  		avail -= 16 + (avail >> 10); /* for the BEGIN_RING_NIs, conservatively assuming one every 1024, plus 16 for safety */  		vc = nouveau_vbuf_split(avail, 6, 256, @@ -229,11 +230,11 @@ nvfx_draw_elements_u08(struct nvfx_context *nvfx, void *ib,  	while (count) {  		uint8_t *elts = (uint8_t *)ib + start; -		unsigned vc, push, restart = 0; +		unsigned vc, push, restart = 0, avail;  		nvfx_state_emit(nvfx); -		unsigned avail = AVAIL_RING(chan); +		avail = AVAIL_RING(chan);  		avail -= 16 + (avail >> 10); /* for the BEGIN_RING_NIs, conservatively assuming one every 1024, plus 16 for safety */  		vc = nouveau_vbuf_split(avail, 6, 2, @@ -282,11 +283,11 @@ nvfx_draw_elements_u16(struct nvfx_context *nvfx, void *ib,  	while (count) {  		uint16_t *elts = (uint16_t *)ib + start; -		unsigned vc, push, restart = 0; +		unsigned vc, push, restart = 0, avail;  		nvfx_state_emit(nvfx); -		unsigned avail = AVAIL_RING(chan); +		avail = AVAIL_RING(chan);  		avail -= 16 + (avail >> 10); /* for the BEGIN_RING_NIs, conservatively assuming one every 1024, plus 16 for safety */  		vc = nouveau_vbuf_split(avail, 6, 2, @@ -335,11 +336,11 @@ nvfx_draw_elements_u32(struct nvfx_context *nvfx, void *ib,  	while (count) {  		uint32_t *elts = (uint32_t *)ib + start; -		unsigned vc, push, restart = 0; +		unsigned vc, push, restart = 0, avail;  		nvfx_state_emit(nvfx); -		unsigned avail = AVAIL_RING(chan); +		avail = AVAIL_RING(chan);  		avail -= 16 + (avail >> 10); /* for the BEGIN_RING_NIs, conservatively assuming one every 1024, plus 16 for safety */  		vc = nouveau_vbuf_split(avail, 5, 1, @@ -413,11 +414,11 @@ nvfx_draw_elements_vbo(struct pipe_context *pipe,  	unsigned restart = 0;  	while (count) { -		unsigned nr, vc; +		unsigned nr, vc, avail;  		nvfx_state_emit(nvfx); -		unsigned avail = AVAIL_RING(chan); +		avail = AVAIL_RING(chan);  		avail -= 16 + (avail >> 10); /* for the BEGIN_RING_NIs, conservatively assuming one every 1024, plus 16 for safety */  		vc = nouveau_vbuf_split(avail, 6, 256, | 
