diff options
| author | Tim Foley <tfoleyNV@users.noreply.github.com> | 2018-06-13 11:18:44 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-13 11:18:44 -0700 |
| commit | 860b0d604377d3635f6fa994993371399327129f (patch) | |
| tree | bbe5d1376bf8bf1d5e9a865a0956f5e820bebec5 /tools/render-test/options.cpp | |
| parent | 167d8579870db18756c234755b197e4ded930b0e (diff) | |
Fixes related to handling of empty types (#600)
PR #577 tries to eliminate empty `struct` types by replacing them with a `LegalType::tuple` with zero elements, but this seems to run into problems in some cases, where we end up trying to match up `::none` values with empty `::tuple`s.
An alternative way to handle this is to never create empty `LegalType::tuple`s (and the same for `LegalVal::tuple`), and instead create `LegalType::none` and `LegalVal::none`. PR #577 avoided this because there were various cases in the legalization logic that didn't robustly handle `LegalType::Flavor::none`.
This PR thus includes two main changes:
1. Construct a `::none` type when we have an empty `struct` type.
2. Survery all places that handle the `::tuple` case and extend them to handle the `::none` case if it was missing.
This fixes an issue filed in Falcor's internal GitLab as number 424.
Diffstat (limited to 'tools/render-test/options.cpp')
0 files changed, 0 insertions, 0 deletions
