[Spice-devel] [PATCH 1/3] qxl: disable image cache for KMS

Alon Levy alevy at redhat.com
Sun Jul 7 00:51:43 PDT 2013


On Fri, 2013-07-05 at 14:49 +1000, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
> 
> Currently this code can't work with KMS, need to work out how
> the image cache could be effectively used with KMS enabled.

ACK All 3 patches.

> 
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/qxl_image.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/src/qxl_image.c b/src/qxl_image.c
> index 40798b3..6c39214 100644
> --- a/src/qxl_image.c
> +++ b/src/qxl_image.c
> @@ -50,7 +50,7 @@ static unsigned int
>  hash_and_copy (const uint8_t *src, int src_stride,
>  	       uint8_t *dest, int dest_stride,
>  	       int bytes_per_pixel, int width, int height,
> -	       uint32_t hash)
> +	       uint32_t hash, Bool do_hashing)
>  {
>      int i;
>    
> @@ -63,7 +63,8 @@ hash_and_copy (const uint8_t *src, int src_stride,
>  	if (dest)
>  	    memcpy (dest_line, src_line, n_bytes);
>  
> -	MurmurHash3_x86_32 (src_line, n_bytes, hash, &hash);
> +	if (do_hashing)
> +	    MurmurHash3_x86_32 (src_line, n_bytes, hash, &hash);
>      }
>  
>      return hash;
> @@ -165,7 +166,7 @@ qxl_image_create (qxl_screen_t *qxl, const uint8_t *data,
>  	    chunk->data_size = n_lines * dest_stride;
>  	    hash = hash_and_copy (data, stride,
>  				  chunk->data, dest_stride,
> -				  Bpp, width, n_lines, hash);
> +				  Bpp, width, n_lines, hash, !qxl->kms_enabled);
>  	    
>  	    if (tail_bo)
>  	    {
> @@ -230,8 +231,9 @@ qxl_image_create (qxl_screen_t *qxl, const uint8_t *data,
>  
>  	qxl->bo_funcs->bo_decref(qxl, head_bo);
>  	/* Add to hash table if caching is enabled */
> -	if ((fallback && qxl->enable_fallback_cache)	||
> -	    (!fallback && qxl->enable_image_cache))
> +	if (!qxl->kms_enabled &&
> +	    ((fallback && qxl->enable_fallback_cache)	||
> +	     (!fallback && qxl->enable_image_cache)))
>  	{
>  	    if ((info = insert_image_info (hash)))
>  	    {




More information about the Spice-devel mailing list