You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be useful to detect or even fail compilation in cases where group shared memory exceeds a user specified amount.
Example:
groupsharedfloat data[N];
#if GroupSharedSize >= SOME_NUMBER
#error"Group shared usage exceeds some arbitrary size of our choosing"#endif
There are a few possible uses which may include emitting a compiler error as above, or possibly modifying the shader itself depending. The primary usage (I am guessing) would be to detect situations where a shader's LDS-usage is inadvertently changed to affect occupancy in a meaningful way.
Note that the meaning of GroupSharedSize should probably be the size allocated in shared memory up to the point of usage in order to avoid needing multiple (additional) passes to compile the shader itself. That is:
Exposing driver-level constants like this is basically an add-on to specialization constants. I think we would address this as part of the language feature request over in hlsl-specs/16.
It would be useful to detect or even fail compilation in cases where group shared memory exceeds a user specified amount.
Example:
There are a few possible uses which may include emitting a compiler error as above, or possibly modifying the shader itself depending. The primary usage (I am guessing) would be to detect situations where a shader's LDS-usage is inadvertently changed to affect occupancy in a meaningful way.
Note that the meaning of
GroupSharedSize
should probably be the size allocated in shared memory up to the point of usage in order to avoid needing multiple (additional) passes to compile the shader itself. That is:The text was updated successfully, but these errors were encountered: