3f30b6202dd5ad6ff66959131d216405850ed152 |
|
26-Feb-2017 |
Yang Ni <yangni@google.com> |
Added Pass and PassQueue to Spirit Bug: 30964317 Reorganized rs2spirv using PassQueue. Changed LiteralString from const char * to std::string, so that the life cycle of the underneath string is correctly managed. Improved Transformer so that it can capture changes made to the global or decoration section while transforming function defintions. Fixed #include order per LLVM coding convention. Test: unit tests, lit tests, and RSoVTest Change-Id: I93b2588f94541ae90d3a847ce3fc3eaa941b7a59
/frameworks/rs/rsov/compiler/Builtin.cpp
|
9d73d08c545462e706ef6951952acff94c37605a |
|
23-Feb-2017 |
I-Jui (Ray) Sung <ijsung@google.com> |
LLVM and SPIRIT transformations for global allocations This is the initial compiler-side transformations for global allocation support. Added an LLVM pass to lower rsAllocationDimX calls for later SPIRIT passes. References to alllocations in those calls are lowered into some unique ID representing allocations of a module. Also added a SPIRIT pass to transform lowered accessor (rsAllocationGetDimX) in previous pass to SPIR-V load instructions from the metadata buffer. Generate global allocation metadata, necessary SPIR-V decorations and declarations in the wrapper generation stage for the generated load instrutions. Bug: 30964317 Test: RSoV lit tests, SPIRIT unit tests Change-Id: I00846c255bd76e77c89a16de0e553acc5f73bbfe
/frameworks/rs/rsov/compiler/Builtin.cpp
|
bf22a8ab4f46a98ee37f95fc0402744132cc3ed2 |
|
07-Feb-2017 |
Yang Ni <yangni@google.com> |
Rewrite rs2spirv using spirit Bug: 30964317 Rewrote the wrapper generation and builtin/runtime function translation passes in rs2spirv using spirit. Also added support for about a dozen more floating-point builtin math functions. Added support for new-style root kernel with lit test. Added check for old-style kernels with lit test. Updated existing lit tests since generated code are slightly different, mostly on temp names. Added SPIR-V validation to all lit tests. Updated the RSoV driver to work with the new spirit-based compiler. The entry point is now named entry_<kernel name>. Fixed an issue with multi-input kernel, so that the type count is correctly set. Minor cleanup to destroy descriptor sets after a kernel launch and to remove an outdated comment. Test: lit tests and RSoVTest Change-Id: I07b5957667892e532dcbc2da98ed38fe783af5e9
/frameworks/rs/rsov/compiler/Builtin.cpp
|