diff options
Diffstat (limited to 'src/gallium')
| -rw-r--r-- | src/gallium/state_trackers/g3dvl/vl_basic_csc.c | 50 | ||||
| -rw-r--r-- | src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c | 46 | ||||
| -rw-r--r-- | src/gallium/state_trackers/g3dvl/vl_surface.c | 2 | 
3 files changed, 52 insertions, 46 deletions
| diff --git a/src/gallium/state_trackers/g3dvl/vl_basic_csc.c b/src/gallium/state_trackers/g3dvl/vl_basic_csc.c index c685bc9c70..da119ff1bd 100644 --- a/src/gallium/state_trackers/g3dvl/vl_basic_csc.c +++ b/src/gallium/state_trackers/g3dvl/vl_basic_csc.c @@ -71,7 +71,10 @@ static int vlResizeFrameBuffer  	basic_csc->viewport.translate[3] = 0;  	if (basic_csc->framebuffer_tex) -		pipe_texture_release(&basic_csc->framebuffer_tex); +	{ +		pipe_surface_reference(&basic_csc->framebuffer.cbufs[0], NULL); +		pipe_texture_reference(&basic_csc->framebuffer_tex, NULL); +	}  	memset(&template, 0, sizeof(struct pipe_texture));  	template.target = PIPE_TEXTURE_2D; @@ -153,9 +156,9 @@ static int vlPutPictureCSC  	basic_csc = (struct vlBasicCSC*)csc;  	pipe = basic_csc->pipe; -	vs_consts = pipe->winsys->buffer_map +	vs_consts = pipe_buffer_map  	( -		pipe->winsys, +		pipe->screen,  		basic_csc->vs_const_buf.buffer,  		PIPE_BUFFER_USAGE_CPU_WRITE | PIPE_BUFFER_USAGE_DISCARD  	); @@ -178,7 +181,7 @@ static int vlPutPictureCSC  	vs_consts->src_trans.z = 0;  	vs_consts->src_trans.w = 0; -	pipe->winsys->buffer_unmap(pipe->winsys, basic_csc->vs_const_buf.buffer); +	pipe_buffer_unmap(pipe->screen, basic_csc->vs_const_buf.buffer);  	pipe->set_sampler_textures(pipe, 1, &surface->texture);  	pipe->draw_arrays(pipe, PIPE_PRIM_TRIANGLE_STRIP, 0, 4); @@ -225,17 +228,20 @@ static int vlDestroy  	pipe = basic_csc->pipe;  	if (basic_csc->framebuffer_tex) -		pipe_texture_release(&basic_csc->framebuffer_tex); +	{ +		pipe_surface_reference(&basic_csc->framebuffer.cbufs[0], NULL); +		pipe_texture_reference(&basic_csc->framebuffer_tex, NULL); +	}  	pipe->delete_sampler_state(pipe, basic_csc->sampler);  	pipe->delete_vs_state(pipe, basic_csc->vertex_shader);  	pipe->delete_fs_state(pipe, basic_csc->fragment_shader);  	for (i = 0; i < 2; ++i) -		pipe->winsys->buffer_destroy(pipe->winsys, basic_csc->vertex_bufs[i].buffer); +		pipe_buffer_reference(pipe->screen, &basic_csc->vertex_bufs[i].buffer, NULL); -	pipe->winsys->buffer_destroy(pipe->winsys, basic_csc->vs_const_buf.buffer); -	pipe->winsys->buffer_destroy(pipe->winsys, basic_csc->fs_const_buf.buffer); +	pipe_buffer_reference(pipe->screen, &basic_csc->vs_const_buf.buffer, NULL); +	pipe_buffer_reference(pipe->screen, &basic_csc->fs_const_buf.buffer, NULL);  	FREE(basic_csc); @@ -542,9 +548,9 @@ static int vlCreateDataBufs  	csc->vertex_bufs[0].pitch = sizeof(struct vlVertex2f);  	csc->vertex_bufs[0].max_index = 3;  	csc->vertex_bufs[0].buffer_offset = 0; -	csc->vertex_bufs[0].buffer = pipe->winsys->buffer_create +	csc->vertex_bufs[0].buffer = pipe_buffer_create  	( -		pipe->winsys, +		pipe->screen,  		1,  		PIPE_BUFFER_USAGE_VERTEX,  		sizeof(struct vlVertex2f) * 4 @@ -552,12 +558,12 @@ static int vlCreateDataBufs  	memcpy  	( -		pipe->winsys->buffer_map(pipe->winsys, csc->vertex_bufs[0].buffer, PIPE_BUFFER_USAGE_CPU_WRITE), +		pipe_buffer_map(pipe->screen, csc->vertex_bufs[0].buffer, PIPE_BUFFER_USAGE_CPU_WRITE),  		surface_verts,  		sizeof(struct vlVertex2f) * 4  	); -	pipe->winsys->buffer_unmap(pipe->winsys, csc->vertex_bufs[0].buffer); +	pipe_buffer_unmap(pipe->screen, csc->vertex_bufs[0].buffer);  	csc->vertex_elems[0].src_offset = 0;  	csc->vertex_elems[0].vertex_buffer_index = 0; @@ -571,9 +577,9 @@ static int vlCreateDataBufs  	csc->vertex_bufs[1].pitch = sizeof(struct vlVertex2f);  	csc->vertex_bufs[1].max_index = 3;  	csc->vertex_bufs[1].buffer_offset = 0; -	csc->vertex_bufs[1].buffer = pipe->winsys->buffer_create +	csc->vertex_bufs[1].buffer = pipe_buffer_create  	( -		pipe->winsys, +		pipe->screen,  		1,  		PIPE_BUFFER_USAGE_VERTEX,  		sizeof(struct vlVertex2f) * 4 @@ -581,12 +587,12 @@ static int vlCreateDataBufs  	memcpy  	( -		pipe->winsys->buffer_map(pipe->winsys, csc->vertex_bufs[1].buffer, PIPE_BUFFER_USAGE_CPU_WRITE), +		pipe_buffer_map(pipe->screen, csc->vertex_bufs[1].buffer, PIPE_BUFFER_USAGE_CPU_WRITE),  		surface_texcoords,  		sizeof(struct vlVertex2f) * 4  	); -	pipe->winsys->buffer_unmap(pipe->winsys, csc->vertex_bufs[1].buffer); +	pipe_buffer_unmap(pipe->screen, csc->vertex_bufs[1].buffer);  	csc->vertex_elems[1].src_offset = 0;  	csc->vertex_elems[1].vertex_buffer_index = 1; @@ -598,9 +604,9 @@ static int vlCreateDataBufs  	 * Const buffer contains scaling and translation vectors  	 */  	csc->vs_const_buf.size = sizeof(struct vlVertexShaderConsts); -	csc->vs_const_buf.buffer = pipe->winsys->buffer_create +	csc->vs_const_buf.buffer = pipe_buffer_create  	( -		pipe->winsys, +		pipe->screen,  		1,  		PIPE_BUFFER_USAGE_CONSTANT | PIPE_BUFFER_USAGE_DISCARD,  		csc->vs_const_buf.size @@ -611,9 +617,9 @@ static int vlCreateDataBufs  	 * Const buffer contains the color conversion matrix and bias vectors  	 */  	csc->fs_const_buf.size = sizeof(struct vlFragmentShaderConsts); -	csc->fs_const_buf.buffer = pipe->winsys->buffer_create +	csc->fs_const_buf.buffer = pipe_buffer_create  	( -		pipe->winsys, +		pipe->screen,  		1,  		PIPE_BUFFER_USAGE_CONSTANT,  		csc->fs_const_buf.size @@ -625,12 +631,12 @@ static int vlCreateDataBufs  	 */  	memcpy  	( -		pipe->winsys->buffer_map(pipe->winsys, csc->fs_const_buf.buffer, PIPE_BUFFER_USAGE_CPU_WRITE), +		pipe_buffer_map(pipe->screen, csc->fs_const_buf.buffer, PIPE_BUFFER_USAGE_CPU_WRITE),  		&bt_601_full,  		sizeof(struct vlFragmentShaderConsts)  	); -	pipe->winsys->buffer_unmap(pipe->winsys, csc->fs_const_buf.buffer); +	pipe_buffer_unmap(pipe->screen, csc->fs_const_buf.buffer);  	return 0;  } diff --git a/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c b/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c index 2e790bb3af..0c1ce3cd8d 100644 --- a/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c +++ b/src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c @@ -599,17 +599,17 @@ static int vlFlush  		struct vlMacroBlockVertexStream0	*ycbcr_vb;  		struct vlVertex2f			*ref_vb[2]; -		ycbcr_vb = (struct vlMacroBlockVertexStream0*)mc->pipe->winsys->buffer_map +		ycbcr_vb = (struct vlMacroBlockVertexStream0*)pipe_buffer_map  		( -			mc->pipe->winsys, +			pipe->screen,  			mc->vertex_bufs.ycbcr.buffer,  			PIPE_BUFFER_USAGE_CPU_WRITE | PIPE_BUFFER_USAGE_DISCARD  		);  		for (i = 0; i < 2; ++i) -			ref_vb[i] = (struct vlVertex2f*)mc->pipe->winsys->buffer_map +			ref_vb[i] = (struct vlVertex2f*)pipe_buffer_map  			( -				mc->pipe->winsys, +				pipe->screen,  				mc->vertex_bufs.ref[i].buffer,  				PIPE_BUFFER_USAGE_CPU_WRITE | PIPE_BUFFER_USAGE_DISCARD  			); @@ -623,15 +623,15 @@ static int vlFlush  			offset[mb_type_ex]++;  		} -		mc->pipe->winsys->buffer_unmap(mc->pipe->winsys, mc->vertex_bufs.ycbcr.buffer); +		pipe_buffer_unmap(pipe->screen, mc->vertex_bufs.ycbcr.buffer);  		for (i = 0; i < 2; ++i) -			mc->pipe->winsys->buffer_unmap(mc->pipe->winsys, mc->vertex_bufs.ref[i].buffer); +			pipe_buffer_unmap(pipe->screen, mc->vertex_bufs.ref[i].buffer);  	}  	for (i = 0; i < 3; ++i)  	{  		pipe_surface_unmap(mc->tex_surface[i]); -		mc->pipe->screen->tex_surface_release(mc->pipe->screen, &mc->tex_surface[i]); +		pipe_surface_reference(&mc->tex_surface[i], NULL);  	}  	mc->render_target.cbufs[0] = pipe->screen->get_tex_surface @@ -653,7 +653,7 @@ static int vlFlush  	vs_consts->denorm.x = mc->buffered_surface->texture->width[0];  	vs_consts->denorm.y = mc->buffered_surface->texture->height[0]; -	pipe->winsys->buffer_unmap(pipe->winsys, mc->vs_const_buf.buffer); +	pipe_buffer_unmap(pipe->screen, mc->vs_const_buf.buffer);  	pipe->set_constant_buffer(pipe, PIPE_SHADER_VERTEX, 0, &mc->vs_const_buf);  	pipe->set_constant_buffer(pipe, PIPE_SHADER_FRAGMENT, 0, &mc->fs_const_buf); @@ -757,7 +757,7 @@ static int vlFlush  	}  	pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE, &mc->buffered_surface->render_fence); -	pipe->screen->tex_surface_release(pipe->screen, &mc->render_target.cbufs[0]); +	pipe_surface_reference(&mc->render_target.cbufs[0], NULL);  	for (i = 0; i < 3; ++i)  		mc->zero_block[i].x = -1.0f; @@ -849,11 +849,11 @@ static int vlDestroy  		pipe->delete_sampler_state(pipe, mc->samplers.all[i]);  	for (i = 0; i < 3; ++i) -		pipe->winsys->buffer_destroy(pipe->winsys, mc->vertex_bufs.all[i].buffer); +		pipe_buffer_reference(pipe->screen, &mc->vertex_bufs.all[i].buffer, NULL);  	/* Textures 3 & 4 are not created directly, no need to release them here */  	for (i = 0; i < 3; ++i) -		pipe_texture_release(&mc->textures.all[i]); +		pipe_texture_reference(&mc->textures.all[i], NULL);  	pipe->delete_vs_state(pipe, mc->i_vs);  	pipe->delete_fs_state(pipe, mc->i_fs); @@ -866,8 +866,8 @@ static int vlDestroy  		pipe->delete_fs_state(pipe, mc->b_fs[i]);  	} -	pipe->winsys->buffer_destroy(pipe->winsys, mc->vs_const_buf.buffer); -	pipe->winsys->buffer_destroy(pipe->winsys, mc->fs_const_buf.buffer); +	pipe_buffer_reference(pipe->screen, &mc->vs_const_buf.buffer, NULL); +	pipe_buffer_reference(pipe->screen, &mc->fs_const_buf.buffer, NULL);  	FREE(mc->macroblocks);  	FREE(mc); @@ -909,9 +909,9 @@ static int vlCreateDataBufs  	mc->vertex_bufs.ycbcr.pitch = sizeof(struct vlVertex2f) * 4;  	mc->vertex_bufs.ycbcr.max_index = 24 * mc->macroblocks_per_picture - 1;  	mc->vertex_bufs.ycbcr.buffer_offset = 0; -	mc->vertex_bufs.ycbcr.buffer = pipe->winsys->buffer_create +	mc->vertex_bufs.ycbcr.buffer = pipe_buffer_create  	( -		pipe->winsys, +		pipe->screen,  		DEFAULT_BUF_ALIGNMENT,  		PIPE_BUFFER_USAGE_VERTEX | PIPE_BUFFER_USAGE_DISCARD,  		sizeof(struct vlVertex2f) * 4 * 24 * mc->macroblocks_per_picture @@ -922,9 +922,9 @@ static int vlCreateDataBufs  		mc->vertex_bufs.all[i].pitch = sizeof(struct vlVertex2f) * 2;  		mc->vertex_bufs.all[i].max_index = 24 * mc->macroblocks_per_picture - 1;  		mc->vertex_bufs.all[i].buffer_offset = 0; -		mc->vertex_bufs.all[i].buffer = pipe->winsys->buffer_create +		mc->vertex_bufs.all[i].buffer = pipe_buffer_create  		( -			pipe->winsys, +			pipe->screen,  			DEFAULT_BUF_ALIGNMENT,  			PIPE_BUFFER_USAGE_VERTEX | PIPE_BUFFER_USAGE_DISCARD,  			sizeof(struct vlVertex2f) * 2 * 24 * mc->macroblocks_per_picture @@ -981,18 +981,18 @@ static int vlCreateDataBufs  	/* Create our constant buffer */  	mc->vs_const_buf.size = sizeof(struct vlVertexShaderConsts); -	mc->vs_const_buf.buffer = pipe->winsys->buffer_create +	mc->vs_const_buf.buffer = pipe_buffer_create  	( -		pipe->winsys, +		pipe->screen,  		DEFAULT_BUF_ALIGNMENT,  		PIPE_BUFFER_USAGE_CONSTANT | PIPE_BUFFER_USAGE_DISCARD,  		mc->vs_const_buf.size  	);  	mc->fs_const_buf.size = sizeof(struct vlFragmentShaderConsts); -	mc->fs_const_buf.buffer = pipe->winsys->buffer_create +	mc->fs_const_buf.buffer = pipe_buffer_create  	( -		pipe->winsys, +		pipe->screen,  		DEFAULT_BUF_ALIGNMENT,  		PIPE_BUFFER_USAGE_CONSTANT,  		mc->fs_const_buf.size @@ -1000,12 +1000,12 @@ static int vlCreateDataBufs  	memcpy  	( -		pipe->winsys->buffer_map(pipe->winsys, mc->fs_const_buf.buffer, PIPE_BUFFER_USAGE_CPU_WRITE), +		pipe_buffer_map(pipe->screen, mc->fs_const_buf.buffer, PIPE_BUFFER_USAGE_CPU_WRITE),  		&fs_consts,  		sizeof(struct vlFragmentShaderConsts)  	); -	pipe->winsys->buffer_unmap(pipe->winsys, mc->fs_const_buf.buffer); +	pipe_buffer_unmap(pipe->screen, mc->fs_const_buf.buffer);  	mc->macroblocks = MALLOC(sizeof(struct vlMpeg2MacroBlock) * mc->macroblocks_per_picture); diff --git a/src/gallium/state_trackers/g3dvl/vl_surface.c b/src/gallium/state_trackers/g3dvl/vl_surface.c index 612438f2ac..0fa7b25b92 100644 --- a/src/gallium/state_trackers/g3dvl/vl_surface.c +++ b/src/gallium/state_trackers/g3dvl/vl_surface.c @@ -69,7 +69,7 @@ int vlDestroySurface  {  	assert(surface); -	pipe_texture_release(&surface->texture); +	pipe_texture_reference(&surface->texture, NULL);  	FREE(surface);  	return 0; | 
