diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gallium/drivers/nvfx/nvfx_surface.c | 9 | 
1 files changed, 8 insertions, 1 deletions
| diff --git a/src/gallium/drivers/nvfx/nvfx_surface.c b/src/gallium/drivers/nvfx/nvfx_surface.c index e0c85cc629..aff7ac54b7 100644 --- a/src/gallium/drivers/nvfx/nvfx_surface.c +++ b/src/gallium/drivers/nvfx/nvfx_surface.c @@ -251,8 +251,15 @@ nvfx_resource_copy_region(struct pipe_context *pipe,  		ret = nv04_region_copy_2d(ctx, &dst, &src, w, h, dst_to_gpu, src_on_gpu);  	if(!ret)  	{} -	else if(ret > 0 && dstr->bind & PIPE_BIND_RENDER_TARGET && srcr->bind & PIPE_BIND_SAMPLER_VIEW) +	else if(ret > 0 +			&& dstr->bind & (PIPE_BIND_RENDER_TARGET | PIPE_BIND_DEPTH_STENCIL) +			&& srcr->bind & PIPE_BIND_SAMPLER_VIEW)  	{ +		/* this currently works because we hack the bind flags on resource creation to be +		 * the maximum set that the resource type actually supports +		 * +		 * TODO: perhaps support reinterpreting the formats +		 */  		struct blitter_context* blitter = nvfx_get_blitter(pipe, 1);  		util_blitter_copy_region(blitter, dstr, subdst, dstx, dsty, dstz, srcr, subsrc, srcx, srcy, srcz, w, h, TRUE);  		nvfx_put_blitter(pipe, blitter); | 
