877083d07a7fbce460f7f083bc1d5deef4d9ed47 |
|
04-Mar-2017 |
I-Jui (Ray) Sung <ijsung@google.com> |
Added addString() method to android::spirit::Module MakeString() was in Builder, but Module does not have the counterpart to add an OpString to the Debug Info section. The OpString SPIR-V instruction may be used to carry debugging information and other metadata. This CL also added a test case to verify the result. Bug: 30964317 Test: SPIRIT unit tests (gtest), Change-Id: I5aff827041f5d5e71978a12e366f829d0de819c1
/frameworks/rs/rsov/compiler/spirit/module.cpp
|
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/spirit/module.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/spirit/module.cpp
|
4df77d18bf57187f8e7142c6f7a70a9cdd3d581e |
|
31-Jan-2017 |
Yang Ni <yangni@google.com> |
SPIRIT: An in-memory IR for SPIR-V Bug: 30964317 This is a C++ programming interface to create, serialize, deserialize, and transform SPIR-V IR in memory. The current focus is to generate and manipulate SPIR-V for Vulkan compute shaders, which RSoV generates for RenderScript kernels. Test: Unit tests (gtest), i.e., ${ANDROID_BUILD_TOP}/out/host/linux-x86/nativetest64/libspirit_test/libspirit_test Change-Id: I5ae9aec72311402e1f6513cac33fdc7bc1001be5
/frameworks/rs/rsov/compiler/spirit/module.cpp
|