• Porting shaders from FXC to DXC
  • Introduction
  • Compiler .dll interface changes
  • Backward compatibility with FXC behaviors
  • Multiplication-only pattern for the intrinsic function pow
  • Example of pow implementation by using the log-mul-exp pattern
  • Example of pow implementation by using the mul-only pattern
  • Out-of-bound array accesses
  • Warn when unroll attribute can't be honored
  • COLOR semantic
  • Length property on constant arrays
  • Writing to globals
  • Legacy resource reservation by using the -flegacy-resource-reservation flag
  • Resource binding on FXC with SM5.0
  • Resource binding on FXC with SM5.1
  • Resource binding on DXC with SM6.0 without the -flegacy-resource-reservation flag
  • Resource binding on DXC with SM6.0 with the -flegacy-resource-reservation flag
  • Legacy macro expansion by using the -flegacy-macro-expansion flag
  • Unsupported FXC behaviors
  • Effect framework
  • Uniform parameters on entry functions
  • Interfaces
  • Dimension-specific texture sample functions no longer supported
  • Example using the old syntax for sampling, which is no longer supported
  • Example showing supported syntax for sampling
  • Semantic overlap not supported
  • "ConstantBuffer" as constant buffer name not supported