• Home
  • History
  • Annotate
  • only in /frameworks/rs/rsov/compiler/spirit/
History log of /frameworks/rs/rsov/compiler/spirit/
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
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