SubElementData data upload functions.
Change-Id: I5f8c738b5457ae7f6085fc4cd331cf3d13ad75cf
diff --git a/libs/rs/rsHandcode.h b/libs/rs/rsHandcode.h
index 353b73a..c02fd42 100644
--- a/libs/rs/rsHandcode.h
+++ b/libs/rs/rsHandcode.h
@@ -96,3 +96,26 @@
}
+static inline void rsHCAPI_Allocation1DSubElementData (RsContext rsc, RsAllocation va, uint32_t x, const void * data, uint32_t comp_offset, uint32_t sizeBytes)
+{
+ ThreadIO *io = &((Context *)rsc)->mIO;
+ uint32_t size = sizeof(RS_CMD_Allocation1DSubElementData);
+ if (sizeBytes < DATA_SYNC_SIZE) {
+ size += (sizeBytes + 3) & ~3;
+ }
+ RS_CMD_Allocation1DSubElementData *cmd = static_cast<RS_CMD_Allocation1DSubElementData *>(io->mToCore.reserve(size));
+ cmd->va = va;
+ cmd->x = x;
+ cmd->data = data;
+ cmd->comp_offset = comp_offset;
+ cmd->bytes = sizeBytes;
+ if (sizeBytes < DATA_SYNC_SIZE) {
+ cmd->data = (void *)(cmd+1);
+ memcpy(cmd+1, data, sizeBytes);
+ io->mToCore.commit(RS_CMD_ID_Allocation1DSubElementData, size);
+ } else {
+ io->mToCore.commitSync(RS_CMD_ID_Allocation1DSubElementData, size);
+ }
+
+}
+