microsoft / DirectXShaderCompiler

This repo hosts the source for the DirectX Shader Compiler which is based on LLVM/Clang.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Update specs on new Barrier and block new Barrier on SM < 6.8

tex3d opened this issue · comments

The new SM 6.8 BarrierByMemoryType DXIL operation is not translated down to prior DXIL operations on lower shader models, and the older barrier/sync HLSL intrinsics are not up-translated to the new operation (canonical representation) for intermediate IR or to the new BarrierByMemoryType DXIL operation for final DXIL on SM 6.8+.

A decision has been made to keep this behavior (for now), so specs need updating and Sema diagnostics need updating to diagnose on the use of the new Barrier op on earlier shader models.

  • Update spec to remove language about Barrier translation for different shader models
  • Add Sema diagnostic for new Barrier op when reachable from entry compiled to lower shader model.