Skip to content

Conversation

AlexMWells
Copy link
Contributor

Description

Fix issue #1929 with batched execution forcing interpolated integer arguments to be boolean when their default value is 0 or 1.
In actuality the renderer could assign any integer value, we update BatchedAnalysis to track the interpolated value as a write event which will disqualify forcing it to be a boolean, as well as ensure future writes are masked properly.

Tests

Added new lockgeom test that reproduces the issue and verifies its fixed.

Checklist:

  • I have read the contribution guidelines.
  • I have updated the documentation, if applicable.
  • I have ensured that the change is tested somewhere in the testsuite (adding new test cases if necessary).
  • My code follows the prevailing code style of this project. If I haven't
    already run clang-format v17 before submitting, I definitely will look at
    the CI test that runs clang-format and fix anything that it highlights as
    being nonconforming.

…as checking a "while" loops condition variable before the condition had executed causing false positive.

It was checking all elements of arrays causing false positives when only a subset of the array is actually being read from in "pointcloud_get", "spline", "splineinverse" calls.  Implementation detail:  in batched mode, to handle a varying count or knot count parameters a new version of osl_uninit_check_values_offset was added
Fix message formatting for batched debug_uninit messages which was printing out pointer to the string instead of the strings themselves.

Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>
Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>
Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>
…ng interpolated integer arguments to be boolean when their default value is 0 or 1.

In actuality the renderer could assign any integer value, we update BatchedAnalysis to track the interpolated value as a write event
which will disqualify forcing of boolean as well as ensure future writes are masked properly.

Added new lockgeom test that reproduces the issue and verifies its fixed.

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

@lgritz lgritz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@lgritz lgritz merged commit d7a48ed into AcademySoftwareFoundation:main Mar 2, 2025
26 checks passed
lgritz pushed a commit to lgritz/OpenShadingLanguage that referenced this pull request Mar 2, 2025
…wareFoundation#1949)

Fix issue AcademySoftwareFoundation#1929 with batched execution forcing interpolated integer arguments to be boolean when their default value is 0 or 1.
In actuality the renderer could assign any integer value, we update BatchedAnalysis to track the interpolated value as a write event
which will disqualify forcing of boolean as well as ensure future writes are masked properly.

Added new lockgeom test that reproduces the issue and verifies its fixed.

---------

Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>
lgritz pushed a commit that referenced this pull request Mar 5, 2025
Fix issue #1929 with batched execution forcing interpolated integer arguments to be boolean when their default value is 0 or 1.
In actuality the renderer could assign any integer value, we update BatchedAnalysis to track the interpolated value as a write event
which will disqualify forcing of boolean as well as ensure future writes are masked properly.

Added new lockgeom test that reproduces the issue and verifies its fixed.

---------

Signed-off-by: Alex M. Wells <alex.m.wells@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants