Sometimes we should handle scalar/vector types separately. For example some builtin functions only support scalar type input, and some relational builtin functions get different results between scalar and vector type though with the same value.
Signed-off-by: Yi Sun <[email protected]> diff --git a/generated_tests/genclbuiltins.py b/generated_tests/genclbuiltins.py old mode 100644 new mode 100755 index 721191e..e7757a7 --- a/generated_tests/genclbuiltins.py +++ b/generated_tests/genclbuiltins.py @@ -22,6 +22,9 @@ VEC_WIDTHS = [2, 4, 8, 16] # ALL_WIDTHS = [1, 2, 3, 4, 8, 16] ALL_WIDTHS = [1, 2, 4, 8, 16] +# According to CL1.1/1.2 spec, some built-in functions only take scalar type as input. +SCALAR_WIDTHS = [1] + MIN_VALUES = { 'char': -128, 'uchar': 0, @@ -377,8 +380,16 @@ def gen(types, minVersions, functions, testDefs, dirName): numTests = len(outputValues) # Handle all available scalar/vector widths - sizes = sorted(VEC_WIDTHS) - sizes.insert(0, 1) # Add 1-wide scalar to the vector widths + if functionDef['function_type'] == 'ttt' or functionDef['function_type'] == 'tss': + sizes = sorted(ALL_WIDTHS) + # Add two new function_type types: + # 'vvv' means handle available vdctor widths only + # 'sss' means handle available scalar width only + if functionDef['function_type'] == 'vvv': + sizes = sorted(VEC_WIDTHS) + if functionDef['function_type'] == 'sss': + sizes = sorted(SCALAR_WIDTHS) + for vecSize in sizes: for testIdx in range(0, numTests): print_test(f, fnName, dataType, functionDef, tests, -- 1.7.6.4 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
