update dispatch table for IntrinsicBLAS

bug: 21028875

Change-Id: I6d4aa8973de523aef7ced48105737eb5ee471e5d
(cherry picked from commit 549f8a500d72edda06f1f1a4986a57aba7f66294)
diff --git a/cpp/rsDispatch.cpp b/cpp/rsDispatch.cpp
index f09f539..10adcf2 100644
--- a/cpp/rsDispatch.cpp
+++ b/cpp/rsDispatch.cpp
@@ -411,6 +411,11 @@
             LOG_API("Couldn't initialize dispatchTab.Allocation3DRead");
             return false;
         }
+        dispatchTab.ScriptForEachMulti = (ScriptForEachMultiFnPtr)dlsym(handle, "rsScriptForEachMulti");
+        if (dispatchTab.ScriptForEachMulti == NULL) {
+            LOG_API("Couldn't initialize dispatchTab.ScriptForEachMulti");
+            return false;
+        }
     }
 
     return true;
diff --git a/cpp/rsDispatch.h b/cpp/rsDispatch.h
index d77a4d9..740457a 100644
--- a/cpp/rsDispatch.h
+++ b/cpp/rsDispatch.h
@@ -93,6 +93,7 @@
 typedef void (*ScriptGroupSetOutputFnPtr) (RsContext, RsScriptGroup, RsScriptKernelID, RsAllocation);
 typedef void (*ScriptGroupSetInputFnPtr) (RsContext, RsScriptGroup, RsScriptKernelID, RsAllocation);
 typedef void (*ScriptGroupExecuteFnPtr) (RsContext, RsScriptGroup);
+typedef void (*ScriptForEachMultiFnPtr) (RsContext, RsScript, uint32_t, RsAllocation *, size_t, RsAllocation, const void *, size_t, const RsScriptCall *, size_t);
 typedef void (*AllocationIoSendFnPtr) (RsContext, RsAllocation);
 typedef void (*AllocationIoReceiveFnPtr) (RsContext, RsAllocation);
 typedef void * (*AllocationGetPointerFnPtr) (RsContext, RsAllocation, uint32_t lod, RsAllocationCubemapFace face, uint32_t z, uint32_t array, size_t *stride, size_t stride_len);
@@ -176,6 +177,7 @@
     ScriptGroupSetOutputFnPtr ScriptGroupSetOutput;
     ScriptGroupSetInputFnPtr ScriptGroupSetInput;
     ScriptGroupExecuteFnPtr ScriptGroupExecute;
+    ScriptForEachMultiFnPtr ScriptForEachMulti;
     AllocationIoSendFnPtr AllocationIoSend;
     AllocationIoReceiveFnPtr AllocationIoReceive;
     AllocationGetPointerFnPtr AllocationGetPointer;