Skip to content

Commit dc35b61

Browse files
Disable async compute for D3D12 [Hold] (#301)
* disable async on d3d12 * Change doc
1 parent e7c6276 commit dc35b61

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

com.unity.render-pipelines.high-definition/Documentation~/Frame-Settings.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ These settings control lighting features for your rendering components. Here you
9393
### Asynchronous Compute Shaders
9494

9595
These settings control which effects, if any, can make use execute compute Shader commands in parallel.
96+
Note that these settings will have an effect only if asynchronous compute is supported by the target platform.
9697

9798
| **Property** | **Description** |
9899
| ---------------------------------- | ------------------------------------------------------------ |

com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -765,7 +765,8 @@ internal static void Sanitize(ref FrameSettings sanitizedFrameSettings, Camera c
765765
sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.Distortion] &= renderPipelineSettings.supportDistortion && !msaa && !preview;
766766
sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.LowResTransparent] &= renderPipelineSettings.lowresTransparentSettings.enabled;
767767

768-
bool async = sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.AsyncCompute] &= SystemInfo.supportsAsyncCompute;
768+
// NOTE: We currently disable async compute on D3D12 for an issue we have with constant buffer update. TODO We need to renable it when case 1238431 is resolved
769+
bool async = sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.AsyncCompute] &= (SystemInfo.supportsAsyncCompute && SystemInfo.graphicsDeviceType != GraphicsDeviceType.Direct3D12);
769770
sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.LightListAsync] &= async;
770771
sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.SSRAsync] &= (async && !rayTracingActive);
771772
sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.SSAOAsync] &= (async && !rayTracingActive);

0 commit comments

Comments
 (0)