[PATCH] drm: virtio: fix virtio_gpu_cursor_formats

Laurent Vivier lvivier at redhat.com
Thu Apr 6 07:20:29 UTC 2017


On 05/04/2017 19:11, Ville Syrjälä wrote:
> On Wed, Apr 05, 2017 at 10:09:15AM +0200, Laurent Vivier wrote:
>> When we use virtio-vga with a big-endian guest,
>> the mouse pointer disappears.
>>
>> To fix that, on big-endian use DRM_FORMAT_BGRA8888
>> instead of DRM_FORMAT_ARGB8888.
>>
>> Signed-off-by: Laurent Vivier <lvivier at redhat.com>
>> ---
>>  drivers/gpu/drm/virtio/virtgpu_plane.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/virtio/virtgpu_plane.c b/drivers/gpu/drm/virtio/virtgpu_plane.c
>> index 11288ff..3ed7174 100644
>> --- a/drivers/gpu/drm/virtio/virtgpu_plane.c
>> +++ b/drivers/gpu/drm/virtio/virtgpu_plane.c
>> @@ -39,7 +39,11 @@ static const uint32_t virtio_gpu_formats[] = {
>>  };
>>  
>>  static const uint32_t virtio_gpu_cursor_formats[] = {
>> +#ifdef __BIG_ENDIAN
>> +	DRM_FORMAT_BGRA8888,
>> +#else
>>  	DRM_FORMAT_ARGB8888,
>> +#endif
> 
> DRM formats are supposed to be little endian, so this isn't really
> correct.

In a big endian kernel, we need to swap the bytes order, where do you
think is the best place to do that?

Thanks,
Laurent


More information about the dri-devel mailing list