On 30.12.2015 13:44, Krzysztof A. Sobiecki wrote:
Nicolai Hähnle <nhaeh...@gmail.com> writes:

On 30.12.2015 08:42, Krzysztof A. Sobiecki wrote:
Nicolai Hähnle <nhaeh...@gmail.com> writes:

On 29.12.2015 14:27, Krzysztof A. Sobiecki wrote:
From: Krzysztof Sobiecki <sob...@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)

Generates similar assembly to the DIV_ROUND_UP version.

Anyway, now that I look at it again I'd say just go ahead and add my R-b. Yes, the assembly looks slightly worse, but only slightly, and avoiding surprises with overflows down the line seems like a good idea.

Cheers,
Nicolai
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to