microsoft / microsoft/DirectXShaderCompiler
Bad entries in g_uBasicKindProps table in SemaHLSL.cpp
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 3.7k
- Forks
- 900
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 44
Description
When looking at the g_uBasicKindProps property table in SemaHLSL.cpp, I noticed some erroneous entries. I think these got in here because they weren't really causing any bad behavior, but I don't think they should stay this way.
- Some property entries have
LICOMPTYPE_*values. This is definitely wrong! That will result in some combination of bits that could trigger some bad weird corner case behavior when used in a particular way.- This includes the recent
LICOMPTYPE_HIT_OBJECTaddition, which should haveBPROP_OBJECT. AR_OBJECT_ACCELERATION_STRUCTshould haveBPROP_OBJECTAR_OBJECT_RAY_DESCandAR_OBJECT_USER_DEFINED_TYPEshould probably be0, likeAR_OBJECT_TRIANGLE_INTERSECTION_ATTRIBUTES. Also, the "OBJECT" in the name is probably not appropriate.
- This includes the recent
- Subobjects should be identified with at least
BPROP_OBJECT.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Open SemaHLSL.cpp and inspect the g_uBasicKindProps table, focusing on the LICOMPTYPE_* entries, the listed AR_OBJECT values, and subobjects. Compare those entries with the surrounding property conventions. Done means the erroneous LICOMPTYPE_* flags are corrected, applicable subobjects include BPROP_OBJECT, and the questionable object classifications or names are resolved consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100