3 Commits
Author SHA1 Message Date
Alex Wells 7baa2937b0 Odds and ends to enable BATCHED execution of most testsuite (#1453)
* Enable BATCHED execution of most testsuite entries that don't use closures or point cloud.

Added batched implementation of hash function.

Updated batched implementation to use the symbol.get_int(), symbol.get_float(), and symbol.get_string() methods vs. *(int*)symbol.data() approach.

Fixed bug in batched code gen where mangled symbol names were output as part of debug uninit warnings and range checking.

Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>

* Fixed reparameter in batched execution.
Updated batched behavior for unlocked geom shader output parameters to function like scalar version.
Fixed batched bug when non-entry layers are executed and execution masks are compared producing a <i1x16> instead of i1 for use in conditional operation.

Added more reparameter test cases to cover arrays and arrays of aggregate types.

Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>

* Enabled command line assignable user data for batched execution in testshade, which fixes testsuite/userdata-passthrough
Changed print_outputs for batched execution to not use << operator which includes parenthesis, but instead output each componenet with spaces to match the non-batched print_outputs.

renamed MaskedData<...>::assign_from(void* ptr_wide_data) to assign_val_from(const void* ptr_wide_data) to better reflect that only the value is assigned, and Dx and Dy are NOT assigned.
Added MaskedData<...>::assign_all_from(const void* ptr_data) to take a scalar DataT and broadcast it to all lanes of the MaskedData, masked off lanes are NOT overwritten, and value, Dx, Dy are assigned.

Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>

* Apply clang-format to wide.h
Add some paranetheses to conditional to avoid warning.

Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>

* Wrapped all printf arguments with pretty() in testsuite/geomath/test.osl to avoid small floating point differences from affecting printed results in test.

Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>

* Add testsuite/geomath/ref/out-alt.txt to allow for minute floating point differences with some compiler/platform combinations.

Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>
2022-01-13 15:38:43 -08:00
Larry Gritz 04d331e439 Transitioning repository to ASWF (#1329)
* Rename CLA files so they no longer say "draft."

* Change CONTRIBUTING.mv to correctly describe the new CLA process,
  remove language related to the old SPI CLAs. Also some touchups to
  README.md.

* Update the project_intake.md to check of various things that we've
  completed.

* Change all references to the old imageworks GitHub URLs to the new
  ASWF ones. (This touches comments at the start of basically every file.)

Signed-off-by: Larry Gritz <lg@larrygritz.com>
2021-01-25 09:44:09 -08:00
Larry Gritz dd0756ea04 Allow output params with lockgeom=0 to have auto userdata binding (#1200)
Shader params declared with lockgeom=0

    surface foo (float bar = 0 [[ int lockgeom=0 ]]) { }

will generate code making underlying calls to RendererServices->get_userdata
to automatically bind userdata (a.k.a. interpolated "primitive variables")
that share the same name.

But, oddly, this was not true for output parameters:

    surface foo (output float bar = 0 [[ int lockgeom=0 ]]) { }

This was tripping some people up, and in retrospect seems strange.

This patch removes this restriction, allowing both input and output
parameters tagged with lockgeom=0 to attempt to retrieve userdata to get
their initial values.

Add test of userdata retrieval to make sure this works.

Signed-off-by: Larry Gritz <lg@larrygritz.com>
2020-06-11 18:18:14 -07:00