diff options
| -rw-r--r-- | src/gallium/drivers/r600/r600_blit.c | 34 | ||||
| -rw-r--r-- | src/gallium/drivers/r600/r600_screen.c | 2 | ||||
| -rw-r--r-- | src/gallium/drivers/r600/r600_screen.h | 31 | 
3 files changed, 45 insertions, 22 deletions
diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c index 413c8ec403..ffb2d37263 100644 --- a/src/gallium/drivers/r600/r600_blit.c +++ b/src/gallium/drivers/r600/r600_blit.c @@ -64,19 +64,31 @@ void r600_clear(struct pipe_context *ctx, unsigned buffers,  				stencil);  } -void r600_surface_copy(struct pipe_context *ctx, -			struct pipe_surface *dst, -			unsigned dstx, unsigned dsty, -			struct pipe_surface *src, -			unsigned srcx, unsigned srcy, -			unsigned width, unsigned height) +void r600_clear_render_target(struct pipe_context *pipe, +			      struct pipe_surface *dst, +			      const float *rgba, +			      unsigned dstx, unsigned dsty, +			      unsigned width, unsigned height)  {  } -void r600_surface_fill(struct pipe_context *ctx, -			struct pipe_surface *dst, -			unsigned dstx, unsigned dsty, -			unsigned width, unsigned height, -			unsigned value) +void r300_clear_depth_stencil(struct pipe_context *pipe, +			      struct pipe_surface *dst, +			      unsigned clear_flags, +			      double depth, +			      unsigned stencil, +			      unsigned dstx, unsigned dsty, +			      unsigned width, unsigned height) +{ +} + +void r600_resource_copy_region(struct pipe_context *pipe, +			       struct pipe_resource *dst, +			       struct pipe_subresource subdst, +			       unsigned dstx, unsigned dsty, unsigned dstz, +			       struct pipe_resource *src, +			       struct pipe_subresource subsrc, +			       unsigned srcx, unsigned srcy, unsigned srcz, +			       unsigned width, unsigned height)  {  } diff --git a/src/gallium/drivers/r600/r600_screen.c b/src/gallium/drivers/r600/r600_screen.c index 7d39184d90..1d83383fd9 100644 --- a/src/gallium/drivers/r600/r600_screen.c +++ b/src/gallium/drivers/r600/r600_screen.c @@ -91,6 +91,8 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)  	case PIPE_CAP_INDEP_BLEND_FUNC:  		/* FIXME allow this */  		return 0; +	case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE: +		return 1;  	case PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT:  	case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER:  		return 1; diff --git a/src/gallium/drivers/r600/r600_screen.h b/src/gallium/drivers/r600/r600_screen.h index 4748021d07..d424af304f 100644 --- a/src/gallium/drivers/r600/r600_screen.h +++ b/src/gallium/drivers/r600/r600_screen.h @@ -87,17 +87,26 @@ void r600_clear(struct pipe_context *ctx,  		const float *rgba,  		double depth,  		unsigned stencil); -void r600_surface_copy(struct pipe_context *ctx, -			struct pipe_surface *dst, -			unsigned dstx, unsigned dsty, -			struct pipe_surface *src, -			unsigned srcx, unsigned srcy, -			unsigned width, unsigned height); -void r600_surface_fill(struct pipe_context *ctx, -			struct pipe_surface *dst, -			unsigned dstx, unsigned dsty, -			unsigned width, unsigned height, -			unsigned value); +void r600_clear_render_target(struct pipe_context *pipe, +			      struct pipe_surface *dst, +			      const float *rgba, +			      unsigned dstx, unsigned dsty, +			      unsigned width, unsigned height); +void r300_clear_depth_stencil(struct pipe_context *pipe, +			      struct pipe_surface *dst, +			      unsigned clear_flags, +			      double depth, +			      unsigned stencil, +			      unsigned dstx, unsigned dsty, +			      unsigned width, unsigned height); +void r600_resource_copy_region(struct pipe_context *pipe, +			       struct pipe_resource *dst, +			       struct pipe_subresource subdst, +			       unsigned dstx, unsigned dsty, unsigned dstz, +			       struct pipe_resource *src, +			       struct pipe_subresource subsrc, +			       unsigned srcx, unsigned srcy, unsigned srcz, +			       unsigned width, unsigned height);  /* helpers */  int r600_conv_pipe_format(unsigned pformat, unsigned *format);  | 
