History log of /frameworks/compile/libbcc/lib/Renderscript/RSScriptGroupFusion.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8e9089377848628813a697b972773e969b942c3b 07-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update libbcc for LLVM rebase to r256229

http://b/26987366

(cherry picked from commit f229c40f0d2da19985e68955aef1a06ce4121e63)

Change-Id: I3d89bb15d0c3e7d64f74656365ed1d472e7de4c7
/frameworks/compile/libbcc/lib/Renderscript/RSScriptGroupFusion.cpp
531d08c85971e47f58aedc093fbe83f1b909703e 29-Jun-2015 Yang Ni <yangni@google.com> bcc kernel fusion: Fixed checks and added better error messages

b/21949580

Need to increment the slot iterator only after checking if the slot
is first in batch.

Succeeding kernel input data type has to strictly match the return
type of the preceding kernel.

Give error messages on all error exits, with better messages.

Change-Id: Icc50b85377e820333b13e57389e53363d4a7e89f
/frameworks/compile/libbcc/lib/Renderscript/RSScriptGroupFusion.cpp
8c12d615b4ed4b1d782722a125dd1d43bc44a71b 20-Jun-2015 Yang Ni <yangni@google.com> Check kernels before fusing

b/21958851

Kernel fusion for a Script Group expects kernels to be chained up
via outputs (return values) and first arguments.
Check this condition during fusion. Otherwise, BCC may crash on
broken invariants.

Change-Id: I013558c77dc3f79d6e42986121927dd6c695f27e
/frameworks/compile/libbcc/lib/Renderscript/RSScriptGroupFusion.cpp
a108bc5ec0ca0cb48c72492d54a71126bccfa7d6 15-Apr-2015 Stephen Hines <srhines@google.com> Make better use of getStringOperand() for MetadataExtractor.

This change also cleans up some of the code from a prior rebase.
It also captures two additional broken metadata cases (from corrupt
object slot and/or pragma metadata).

Change-Id: I61e161d2b0e211349683e36160d564493d802a12
/frameworks/compile/libbcc/lib/Renderscript/RSScriptGroupFusion.cpp
0ab50b835805c75ad164466767c2c212f48954cc 16-Feb-2015 Yang Ni <yangni@google.com> Create one single module for a script group

This changed the way we compile a script group. Instead of compiling
each batch into a seperate module, we now compile the whole script
group into one single module, with each batch as a function (of fused
kernels) in that module. This allows invoke to (fused) kernel
communication via globals variables.

Added commoand line options "-merge" and "-invoke". The former
accepts fused kernel names, input kernels, while the latter accepts
new invoke name, and the original invoke function.

Additional changes:

- Bail out on encountering any unexpected bits in the foreach
signature of any kernel to fuse
- Made kernel fusion handle kernels without inputs.
If a kernel only takes global allocations but no inputs, bcc
needs to use a different signature for the fused kernel.
- Included in rs info the exported variables for the fused kernel.
- Keep all metadata in merged module from the input modules. This
would help correctly handling FP precision. (b/19098612)
- Handles Z (b/19610223)

Change-Id: I5553f86b2e58325f85649078d48685a38f12d62f
/frameworks/compile/libbcc/lib/Renderscript/RSScriptGroupFusion.cpp
33cda5cf335afc6aa2dbe02062bc9e6649e1f87c 30-Jan-2015 David Gross <dgross@google.com> Backend support for new special kernel params ctxt and z.

Also:
- Modify bcinfo dump to show signature metadata in hex instead of dec.
- Teach LLVM pass manager about (existing) "foreachexp" pass.
- Create MetadataSignatureBitval symbolic names for use by libbcc and slang.

Bug: 18964628

Change-Id: I1737ee0476b2005ec87f30473bbfa35aed5ded38
/frameworks/compile/libbcc/lib/Renderscript/RSScriptGroupFusion.cpp
a4ded1373d7ad3e503f186e65bccf94126a0f020 18-Nov-2014 Yang Ni <yangni@google.com> Compiler kernel fusion for RenderScript.

This was started by Tobias Grosser during his internship at Google in 2013.
This CL includes his original changes and generalization to make it work with
the new proposed ScriptGroup API and made the ImageProcessing processing work
with this.
An enabling CL is needed in the RenderScript runtime, which I will post
seperately.

Change-Id: Ia73ea917a126a5055ec97f13d90a5feaafd6a2f5
/frameworks/compile/libbcc/lib/Renderscript/RSScriptGroupFusion.cpp