[igt-dev] [PATCH i-g-t] lib/rendercopy: Fix lack of const throughout gen4 rendercopy

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Jul 20 17:37:15 UTC 2018


On Fri, Jul 20, 2018 at 06:07:43PM +0100, Chris Wilson wrote:
> The gen4 code was pushed without being fixed up for the constification
> of igt_render_copyfunc_t
> 
> ../lib/intel_batchbuffer.c: In function ‘igt_get_render_copyfunc’:
> ../lib/intel_batchbuffer.c:837:8: warning: assignment to ‘igt_render_copyfunc_t’ {aka ‘void (*)(struct intel_batchbuffer *, struct _drm_intel_context *, const struct igt_buf *, unsigned int,  unsigned int,  unsigned int,  unsigned int,  const struct igt_buf *, unsigned int,  unsigned int)’} from incompatible pointer type ‘void (*)(struct intel_batchbuffer *, drm_intel_context *, struct igt_buf *, unsigned int,  unsigned int,  unsigned int,  unsigned int,  struct igt_buf *, unsigned int,  unsigned int)’ {aka ‘void (*)(struct intel_batchbuffer *, struct _drm_intel_context *, struct igt_buf *, unsigned int,  unsigned int,  unsigned int,  unsigned int,  struct igt_buf *, unsigned int,  unsigned int)’} [-Wincompatible-pointer-types]
>    copy = gen4_render_copyfunc;
> 
> Fixes: 61370b2d43db ("lib/rendercopy: Add gen4/5 rendercopy")
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> ---
>  lib/rendercopy.h      |  4 ++--
>  lib/rendercopy_gen4.c | 14 ++++++++------
>  2 files changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/lib/rendercopy.h b/lib/rendercopy.h
> index 2eb67b21a..d1bb6284e 100644
> --- a/lib/rendercopy.h
> +++ b/lib/rendercopy.h
> @@ -45,9 +45,9 @@ void gen6_render_copyfunc(struct intel_batchbuffer *batch,
>  			  const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
>  void gen4_render_copyfunc(struct intel_batchbuffer *batch,
>  			  drm_intel_context *context,
> -			  struct igt_buf *src, unsigned src_x, unsigned src_y,
> +			  const struct igt_buf *src, unsigned src_x, unsigned src_y,
>  			  unsigned width, unsigned height,
> -			  struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
> +			  const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
>  void gen3_render_copyfunc(struct intel_batchbuffer *batch,
>  			  drm_intel_context *context,
>  			  const struct igt_buf *src, unsigned src_x, unsigned src_y,
> diff --git a/lib/rendercopy_gen4.c b/lib/rendercopy_gen4.c
> index 5cf150ec5..0416b8d6d 100644
> --- a/lib/rendercopy_gen4.c
> +++ b/lib/rendercopy_gen4.c
> @@ -135,7 +135,7 @@ gen4_render_flush(struct intel_batchbuffer *batch,
>  
>  static uint32_t
>  gen4_bind_buf(struct intel_batchbuffer *batch,
> -	      struct igt_buf *buf,
> +	      const struct igt_buf *buf,
>  	      uint32_t format, int is_dst)
>  {
>  	struct gen4_surface_state *ss;
> @@ -175,8 +175,8 @@ gen4_bind_buf(struct intel_batchbuffer *batch,
>  
>  static uint32_t
>  gen4_bind_surfaces(struct intel_batchbuffer *batch,
> -		   struct igt_buf *src,
> -		   struct igt_buf *dst)
> +		   const struct igt_buf *src,
> +		   const struct igt_buf *dst)
>  {
>  	uint32_t *binding_table;
>  
> @@ -415,7 +415,7 @@ gen4_emit_binding_table(struct intel_batchbuffer *batch,
>  
>  static void
>  gen4_emit_drawing_rectangle(struct intel_batchbuffer *batch,
> -			    struct igt_buf *dst)
> +			    const struct igt_buf *dst)
>  {
>  	OUT_BATCH(GEN4_3DSTATE_DRAWING_RECTANGLE | (4 - 2));
>  	OUT_BATCH(0);
> @@ -638,9 +638,11 @@ static uint32_t gen4_emit_primitive(struct intel_batchbuffer *batch)
>  
>  void gen4_render_copyfunc(struct intel_batchbuffer *batch,
>  			  drm_intel_context *context,
> -			  struct igt_buf *src, unsigned src_x, unsigned src_y,
> +			  const struct igt_buf *src,
> +			  unsigned src_x, unsigned src_y,
>  			  unsigned width, unsigned height,
> -			  struct igt_buf *dst, unsigned dst_x, unsigned dst_y)
> +			  const struct igt_buf *dst,
> +			  unsigned dst_x, unsigned dst_y)
>  {
>  	uint32_t cc, cc_vp;
>  	uint32_t wm, wm_sampler, wm_kernel, wm_table;
> -- 
> 2.18.0
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel


More information about the igt-dev mailing list