History log of /frameworks/rs/rsov/compiler/spirit/module.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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