Precise
Per-instruction disabling of arithmetic refactoring.
precise (component mask) |
---|
This modifier requires the global shader flag "REFACTORING_ALLOWED". When REFACTORING_ALLOWED is present, individual component results of individual instructions can be forced to remain precise or not-refactorable by compilers or drivers. If components of a mad instruction are tagged as precise, the hardware must execute a mad instruction or the exact equivalent, and it cannot split it into a multiply followed by an add. Conversely, a multiply followed by an add, where either or both are flagged as precise, cannot be merged into a fused mad.
If REFACTORING_ALLOWED has not been specified, the precise modifier is not allowed. It is not needed because everything is precise. The precise modifier affects any operation, not just arithmetic.
Minimum Shader Model
This modifier is supported in the following shader models.
Shader Model | Supported |
---|---|
Shader Model 5 | yes |
Shader Model 4.1 | no |
Shader Model 4 | yes |
Shader Model 3 (DirectX HLSL) | no |
Shader Model 2 (DirectX HLSL) | no |
Shader Model 1 (DirectX HLSL) | no |
Related topics
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for