microsoft / hlsl-specs

HLSL Specifications
MIT License
118 stars 30 forks source link

Update conversion ranks for minimum precision types #206

Closed llvm-beanz closed 4 months ago

llvm-beanz commented 4 months ago

This just updates the conversion rank for minimum precision types which are now represented in the Basic.types section.

I've iterated on this a few times and reduced it down to just the min16{int|uint|float} types because those are the only types DXC actually supports. Using any of the other types produces a warning and they get treated as the corresponding min16 type.

The promotion orders are as follows:

min16int < int16_t < int32_t < int64_t min16uint < uint16_t < uint32_t < uint64_t min16float < half < float < double