[Mesa-dev] [PATCH 1/4] i965: Remove spurious casts in copy_image_with_memcpy()

Matt Turner mattst88 at gmail.com
Wed Nov 19 09:39:22 PST 2014


On Wed, Nov 19, 2014 at 3:35 AM, Kristian Høgsberg <krh at bitplanet.net> wrote:
> On Tue, Nov 18, 2014 at 9:02 PM, Chad Versace
> <chad.versace at linux.intel.com> wrote:
>> If a pointer points to raw, untyped memory and is never dereferenced,
>> then declare it as 'void*' instead of casting it to 'void*'.
>>
>> Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
>> ---
>>  src/mesa/drivers/dri/i965/intel_copy_image.c | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/intel_copy_image.c b/src/mesa/drivers/dri/i965/intel_copy_image.c
>> index 341220c..cb44474 100644
>> --- a/src/mesa/drivers/dri/i965/intel_copy_image.c
>> +++ b/src/mesa/drivers/dri/i965/intel_copy_image.c
>> @@ -144,7 +144,7 @@ copy_image_with_memcpy(struct brw_context *brw,
>>                         int src_width, int src_height)
>>  {
>>     bool same_slice;
>> -   uint8_t *mapped, *src_mapped, *dst_mapped;
>> +   void *mapped, *src_mapped, *dst_mapped;
>
> Making these void * means that this code below:
>
>       src_mapped = mapped + ((src_y - map_y1) / src_bh) * src_stride +
>                             ((src_x - map_x1) / src_bw) * cpp;
>
> (same for dst_mapped) becomes arithmetic on void pointers. gcc
> supports that and treats it as uint8_t pointer arithmetic [1], but I'm
> not aware of any official C standard that allows it.  I don't think we
> rely on that elsewhere

We have in the past, and using gcc extensions are fine. But as you
say, it's probably  not what he wanted anyway.


More information about the mesa-dev mailing list