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
uilder_test.cpp
odule.cpp
odule.h
|
3e5fbb6faf66488ba49c9d2396350ae567dba315 |
27-Feb-2017 |
Yang Ni <yangni@google.com> |
Added methods to serialize/deserialize into/from words Bug: 30964317 Without requirement to create input/output word streams. Updated tests and dependent modules to use word vector as input and output whereever applicable, instead of using word streams. Test: unit tests, lit tests, and RSoVTest. Change-Id: I013b1ae7eb70c189142300629bfc5339e8358168
uilder_test.cpp
ntity.h
nstructions_test.cpp
odule_test.cpp
ass.cpp
ass_queue.cpp
ass_queue_test.cpp
ransformer.cpp
ransformer_test.cpp
ord_stream.h
|
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
ndroid.mk
uilder_test.cpp
ore_defs.h
nstructions.h
nstructions_test.cpp
odule.cpp
odule.h
odule_test.cpp
ass.cpp
ass.h
ass_queue.cpp
ass_queue.h
ass_queue_test.cpp
ransformer.cpp
ransformer.h
ransformer_test.cpp
ord_stream.h
ord_stream_impl.cpp
ord_stream_impl.h
ord_stream_test.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
odule.cpp
|
d8152c9ada89be8ab1ca242b3304c287ca3742fb |
18-Feb-2017 |
Yang Ni <yangni@google.com> |
Fix error in generated header files Bug: 30964317 Builds on some target have '-' in the ${TARGET_DEVICE}, which led to inccorect macro definition. Use "#pragma once" instead. Fixed warnings from the ninja/kati on duplicated rules by correctly setting LOCAL_IS_HOST_MODULE. Test: mm and inspect generated code Change-Id: I7438d14bf1292be525f00be5e9d0258fbacc6fa8
ndroid.mk
enerate.py
|
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
ndroid.mk
uilder.cpp
uilder.h
uilder_test.cpp
ore_defs.h
ntity.cpp
ntity.h
ile_utils.h
enerate.py
nstructions.cpp
nstructions.h
nstructions_test.cpp
odule.cpp
odule.h
odule_test.cpp
pirit.h
tl_util.h
est_data/greyscale.spt
est_data/greyscale.spv
est_data/greyscale2.spt
est_data/greyscale2.spv
est_data/greyscale3.spt
est_data/greyscale3.spv
est_data/invert.spv
est_utils.h
ransformer.cpp
ransformer.h
ransformer_test.cpp
isitor.cpp
isitor.h
ord_stream.cpp
ord_stream.h
ord_stream_impl.cpp
ord_stream_impl.h
ord_stream_test.cpp
|