[Mesa-dev] [PATCH] gallium/r600: Replace ALIGN_DIVUP with DIV_ROUND_UP

Krzysztof A. Sobiecki sobkas at gmail.com
Wed Dec 30 10:44:44 PST 2015


Nicolai Hähnle <nhaehnle at gmail.com> writes:

> On 30.12.2015 08:42, Krzysztof A. Sobiecki wrote:
>> Nicolai Hähnle <nhaehnle at gmail.com> writes:
>>
>>> On 29.12.2015 14:27, Krzysztof A. Sobiecki wrote:
>>>> From: Krzysztof Sobiecki <sobkas at gmail.com>
>>>>
>>>> ALIGN_DIVUP is a driver specific(r600g) macro that duplicates DIV_ROUND_UP functionality.
>>>> Replacing it with DIV_ROUND_UP eliminates this problems.
>>>
>>> Those macros are actually slightly different, and the assembly
>>> generated by the ALIGN_DIVUP looks clearly better to me.
>>>
>>> I remember seeing a very long thread about this not so long ago - what
>>> was the resolution there?
>>>
>>> Cheers,
>>> Nicolai
>>>
>> I would like to remove ALIGN_DIVUP first and then debate with
>> implementation DIV_ROUND_UP should use.
>>
>> btw. I prefer 1 + ((x - 1) / y)
>
> That produces an incorrect result when x is an unsigned type and equal
> to 0 -- and that is something that existing code definitely relies on.
>
> Cheers,
> Nicolai
>
Then what about (x / y) + (i % y != 0)

-- 
X was an interactive protocol: 
alpha blending a full-screen image looked like slugs racing down the monitor. 
http://www.keithp.com/~keithp/talks/usenix2000/render.html


More information about the mesa-dev mailing list