On 8/16/22 11:04, Francisco Casas wrote:
Okay, so, just to confirm and for future reference, at least in the HLSL compiler we are calling:
"component": To an "atomic", single type that cannot be indexed, i.e. a scalar or an object[1], within another type, at any nesting level.
"element": To one of the outermost parts of another type:
- A field within a struct.
- An array element within an array.
- A column/row within a matrix.
- A scalar within a vector.
i.e. the resulting type after applying one indexation, going down one nesting level.
Right, that feels intuitive enough to me. (But we can revisit the terminology if others are having trouble with it.)
[1] Textures can be indexed in HLSL, but we are handling those cases as a resource_load/resource_store. I am not sure if this would also apply for Shader Model 5.1 resource arrays.
Yeah, I don't think either one of those should be an array index as far as the IR is concerned.