[Piglit] [PATCH 1/5] arb_uniform_buffer_object: Random test generation infrastructure
Pohjolainen, Topi
topi.pohjolainen at intel.com
Mon Nov 3 01:43:54 PST 2014
On Mon, Nov 03, 2014 at 11:10:25AM +0200, Tapani wrote:
> On 09/24/2014 07:47 PM, Ian Romanick wrote:
> >From: Ian Romanick <ian.d.romanick at intel.com>
> >
> >This is the core of the random test generation infrastructure. This
> >Python script can be used stand-alone to generate fully random tests, or
> >it can be called from other Python code to generate tests in a more
> >directed manner. Examples of both uses are coming in future patches.
> >
> >Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
>
> 8<
>
> >+
> >+def scalar_derp(type, name, offset, data):
> >+ if type == "bool":
> >+ if int(data) == 0:
> >+ return name
> >+ else:
> >+ return "!" + name
> >+ elif type == "uint":
> >+ return "{} != {}u".format(name, data)
> >+ elif type == "int":
> >+ return "{} != {}".format(name, data)
> >+ elif type == "float":
> >+ bits = fudge_data_for_setter(data, "float")
> >+ return "!float_match({}, {}, {}u)".format(name, data, bits)
> >+ elif type == "double":
> >+ bits = fudge_data_for_setter(data, "double")
> >+
> >+ # 0xHHHHHHHHLLLLLLLL
> >+ # 012345678901234567
> >+
> >+ hi = "0x" + bits[2:9]
> >+ lo = "0x" + bits[10:17]
>
> I noticed that the tests had wrong values for hi and lo when testing uvec2
> against double. We had a look at this with Topi and believe that here
> generator should use 2:10 and 10:18 to get correct values. Maybe 'bits'
> could be renamed as 'hex_digits'?
There were only seven digits per hi/lo in the generated tests and we were
guessing the indexing here is probably open ended?
More information about the Piglit
mailing list