public static IKernel CompileClKernel(string sourceFileName, string entryPoint, string options = null) { return(Cache <IKernel> .AddCompiled(sourceFileName, String.Format("\"{0}\" /E {1} /Opts {2}", GetRelative(sourceFileName), entryPoint, options), () => Renderer.CompileClKernel(sourceFileName, entryPoint, options), null)); }
public static IShader11 CompileShader11(string shaderFileName, string profile, string entryPoint = "main", string macroDefinitions = null) { var result = Cache <IShader11> .AddCompiled(shaderFileName, String.Format("\"{0}\" /E {1} /T {2} /D {3}", GetRelative(shaderFileName), entryPoint, profile, macroDefinitions), () => Renderer.CompileShader11(shaderFileName, entryPoint, profile, macroDefinitions), Renderer.LoadShader11); Cache <IShader11> .Save(ShaderCachePath); return(result); }