[Piglit] [PATCH] arb_shader_clock: add basic execution tests

Nicolai Hähnle nhaehnle at gmail.com
Fri Mar 31 06:32:18 UTC 2017


On 30.03.2017 15:03, Ilia Mirkin wrote:
> On Thu, Mar 30, 2017 at 8:19 AM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
>> On 30.03.2017 14:07, Ilia Mirkin wrote:
>>>
>>> Time could roll over... not sure what to do about that though. Maybe
>>> check if the top 2 bits are set in the old value and are unset in the
>>> new value, and hope that the counter precision > 2 bits? [It'd be
>>> unfortunate for CIs to get occasional failures in these tests...]
>>
>>
>> Shouldn't roll-over be covered by the cast to int followed by comparison
>> with 0?
>
> Let's say start_time == 0xfffffffffffffff, late_time = 0. Perhaps I'm
> getting the math wrong here, but as far as I can see, that test will
> fail.

+	int64_t diff = int64_t(late_time - start_time);
+
+	if (diff <= 0l)
+		atomicCounterIncrement(bad);

In your example, we get late_time - start_time == 0 - uint64_t(-1) == 1, 
so the atomic increment of bad doesn't happen.

Cheers,
Nicolai

>
>   -ilia
>


-- 
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.


More information about the Piglit mailing list