Re: [Piglit] [PATCH 1/5] cl: Add TRUE definition with type dependent value for generated tests

2014-06-12 Thread Tom Stellard
On Wed, Jun 11, 2014 at 02:14:11PM -0500, Aaron Watry wrote:
 Scalar true is 1, but vector true is -1.
 
 This means that getValue needs to know if we are requesting TRUE for
 a scalar or vector.
 
Reviewed-by: Tom Stellard thomas.stell...@amd.com
 Signed-off-by: Aaron Watry awa...@gmail.com
 ---
  generated_tests/genclbuiltins.py | 26 --
  1 file changed, 16 insertions(+), 10 deletions(-)
 
 diff --git a/generated_tests/genclbuiltins.py 
 b/generated_tests/genclbuiltins.py
 index 721191e..2a35375 100644
 --- a/generated_tests/genclbuiltins.py
 +++ b/generated_tests/genclbuiltins.py
 @@ -55,6 +55,7 @@ UMIN = 'unsigned_min_for_type'
  UMAX = 'unsigned_max_for_type'
  TYPE = 'TYPE'
  SIZE = 'SIZE'
 +TRUE = 'true_value_for_type' #1 for scalar, -1 for vector
  
  # Identity type list
  T = {
 @@ -207,7 +208,7 @@ def generate_kernels(f, dataType, fnName, fnDef):
  argTypes[0])
  return
  
 -def getValue(type, val):
 +def getValue(type, val, isVector):
  # Check if val is a str, list, or value
  if (isinstance(val, str)):
  if (val == MIN):
 @@ -230,6 +231,11 @@ def getValue(type, val):
  return type
  elif (val == SIZE):
  return DATA_SIZES[type]
 +elif (val == TRUE):
 +if (isVector):
 +return -1
 +else:
 +return 1
  else:
  print('Unknown string value: ' + val + '\n')
  elif (isinstance(val, list)):
 @@ -241,15 +247,15 @@ def getValue(type, val):
  # Evaluate the value of the requested function and arguments
  # TODO: Change to varargs calls after unshifting the first list 
 element
  if (len(val) == 2):
 -return (val[0])(getValue(type, val[1]))
 +return (val[0])(getValue(type, val[1], isVector))
  elif (len(val) == 3):
 -return (val[0])(getValue(type, val[1]), getValue(type, val[2]))
 +return (val[0])(getValue(type, val[1], isVector), getValue(type, 
 val[2], isVector))
  elif (len(val) == 4):
 -return (val[0])(getValue(type, val[1]), getValue(type, val[2]),
 -getValue(type, val[3]))
 +return (val[0])(getValue(type, val[1], isVector), getValue(type, 
 val[2], isVector),
 +getValue(type, val[3], isVector))
  else:
 -return (val[0])(getValue(type, val[1]), getValue(type, val[2]),
 -getValue(type, val[3]), getValue(type, val[4]))
 +return (val[0])(getValue(type, val[1], isVector), getValue(type, 
 val[2], isVector),
 +getValue(type, val[3], isVector), getValue(type, 
 val[4], isVector))
  
  # At this point, we should have been passed a number
  if (isinstance(val, (int, long, float))):
 @@ -259,8 +265,8 @@ def getValue(type, val):
  
  
  
 -def getStrVal(type, val):
 -return str(getValue(type, val))
 +def getStrVal(type, val, isVector):
 +return str(getValue(type, val, isVector))
  
  
  def getArgType(baseType, argType):
 @@ -308,7 +314,7 @@ def print_test(f, fnName, argType, functionDef, tests, 
 testIdx, vecSize, tss):
  # For each argument, write a line containing its type, index, and values
  for arg in range(0, argCount):
  argInOut = ''
 -argVal = getStrVal(argType, tests[arg][testIdx])
 +argVal = getStrVal(argType, tests[arg][testIdx], (vecSize  1))
  if arg == 0:
  argInOut = 'arg_out: '
  else:
 -- 
 1.9.1
 
___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH 1/5] cl: Add TRUE definition with type dependent value for generated tests

2014-06-11 Thread Aaron Watry
Scalar true is 1, but vector true is -1.

This means that getValue needs to know if we are requesting TRUE for
a scalar or vector.

Signed-off-by: Aaron Watry awa...@gmail.com
---
 generated_tests/genclbuiltins.py | 26 --
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/generated_tests/genclbuiltins.py b/generated_tests/genclbuiltins.py
index 721191e..2a35375 100644
--- a/generated_tests/genclbuiltins.py
+++ b/generated_tests/genclbuiltins.py
@@ -55,6 +55,7 @@ UMIN = 'unsigned_min_for_type'
 UMAX = 'unsigned_max_for_type'
 TYPE = 'TYPE'
 SIZE = 'SIZE'
+TRUE = 'true_value_for_type' #1 for scalar, -1 for vector
 
 # Identity type list
 T = {
@@ -207,7 +208,7 @@ def generate_kernels(f, dataType, fnName, fnDef):
 argTypes[0])
 return
 
-def getValue(type, val):
+def getValue(type, val, isVector):
 # Check if val is a str, list, or value
 if (isinstance(val, str)):
 if (val == MIN):
@@ -230,6 +231,11 @@ def getValue(type, val):
 return type
 elif (val == SIZE):
 return DATA_SIZES[type]
+elif (val == TRUE):
+if (isVector):
+return -1
+else:
+return 1
 else:
 print('Unknown string value: ' + val + '\n')
 elif (isinstance(val, list)):
@@ -241,15 +247,15 @@ def getValue(type, val):
 # Evaluate the value of the requested function and arguments
 # TODO: Change to varargs calls after unshifting the first list element
 if (len(val) == 2):
-return (val[0])(getValue(type, val[1]))
+return (val[0])(getValue(type, val[1], isVector))
 elif (len(val) == 3):
-return (val[0])(getValue(type, val[1]), getValue(type, val[2]))
+return (val[0])(getValue(type, val[1], isVector), getValue(type, 
val[2], isVector))
 elif (len(val) == 4):
-return (val[0])(getValue(type, val[1]), getValue(type, val[2]),
-getValue(type, val[3]))
+return (val[0])(getValue(type, val[1], isVector), getValue(type, 
val[2], isVector),
+getValue(type, val[3], isVector))
 else:
-return (val[0])(getValue(type, val[1]), getValue(type, val[2]),
-getValue(type, val[3]), getValue(type, val[4]))
+return (val[0])(getValue(type, val[1], isVector), getValue(type, 
val[2], isVector),
+getValue(type, val[3], isVector), getValue(type, 
val[4], isVector))
 
 # At this point, we should have been passed a number
 if (isinstance(val, (int, long, float))):
@@ -259,8 +265,8 @@ def getValue(type, val):
 
 
 
-def getStrVal(type, val):
-return str(getValue(type, val))
+def getStrVal(type, val, isVector):
+return str(getValue(type, val, isVector))
 
 
 def getArgType(baseType, argType):
@@ -308,7 +314,7 @@ def print_test(f, fnName, argType, functionDef, tests, 
testIdx, vecSize, tss):
 # For each argument, write a line containing its type, index, and values
 for arg in range(0, argCount):
 argInOut = ''
-argVal = getStrVal(argType, tests[arg][testIdx])
+argVal = getStrVal(argType, tests[arg][testIdx], (vecSize  1))
 if arg == 0:
 argInOut = 'arg_out: '
 else:
-- 
1.9.1

___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit