該項目簡報包含了近9個月SALVIA項目的工作進展。
項目與配置管理:
- 源代碼管理系統由SVN更換至Mercurial。
- SoftArt更名為SALVIA。工程、命名空間及相關文檔的更新將在Release之前完成。
- SALVIA啟用了LOGO。LOGO在Release之前將視效果酌情調整。
- 提交版本的LOG信息中啟用符合Issue Tracker的格式,使得版本更新可以反映到Issue中。
- 添加了完整的Unit Test工程,并啟用Auto Test系統完成黑盒和回歸測試。
- 合并了LLVM的源碼至版本庫中;LLVM升級至2.9并進行了適當修改以和Boost的類型系統相一致。
- Boost升級至1.44或以上。
- 添加了一個用于分析代碼行數的小工具。
- 更新了部分文檔。
Graphics管線:
- 繪制部分支持OpenGL。
- 對Subdivision-based Rasterizer進行了進一步優化。
- 更新了EFLIB的命名空間和文件組織。
- 支持Centroid Sampling。
- 支持2x與4xMSAA
SALVIA Shading Language(SASL):
- 使用新的Combinator-based Parser系統以替換Boost.Spirit,提升了編譯速度并降低了目標文件大小。
- 基于Boost.Wave,SASL提供了和C一致的預處理能力。
- 添加了完整的Name Mangling和函數重載的能力。
- 設計并完成了Shader與Host ABI的Memory Layout。現在Shader可以被高效的調用。
- 提供了JIT的支持。
- 提供了多編譯器的Port。
- 添加了命令行方式的Compiler。該Compiler接受源代碼并輸出為LLVM IR。
- 設計并實現了多語言(General,SIMD Shader,SISD Shader)的編譯框架。
- 提供了可測試可回歸的編譯器實現。
- 實現了下列語言要素:
- 基本標量類型及其變量定義
- 基本矢量類型及其變量定義
- 結構體定義及其變量定義
- 順序語句
- 函數聲明與定義
- 算術運算符
- 成員運算符(.)
- Swizzle與Write Mask