Home | History | Annotate | Download | only in cpp

Lines Matching full:allocation

28  * Every row in an RS allocation is guaranteed to be aligned by this amount, and
29 * every row in a user-backed allocation must be aligned by this amount.
43 class Allocation;
213 sp<const Element> ALLOCATION;
275 * from RenderScript kernels. An Allocation provides the backing store for a
278 * An Allocation also contains a set of usage flags that denote how the
279 * Allocation could be used. For example, an Allocation may have usage flags
282 * syncAll(int) in order to ensure that different users of the Allocation have
283 * a consistent view of memory. For example, in the case where an Allocation is
288 class Allocation : public BaseObj {
292 sp<Allocation> mAdaptedAllocation;
313 Allocation(void *id, sp<RS> rs, sp<const Type> t, uint32_t usage);
330 * Return Type for the allocation.
338 * Propagate changes from one usage of the Allocation to other usages of the Allocation.
346 * Generate a mipmap chain. This is only valid if the Type of the Allocation
349 * the Allocation is also using other memory spaces, a call to
350 * syncAll(Allocation.USAGE_SCRIPT) is required.
355 * Copy an array into part of this Allocation.
363 * Copy part of an Allocation into part of this Allocation.
366 * @param[in] data Allocation from which to copy
369 void copy1DRangeFrom(uint32_t off, size_t count, sp<const Allocation> data, uint32_t dataOff);
372 * Copy an array into part of this Allocation.
380 * Copy entire array to an Allocation.
386 * Copy entire Allocation to an array.
392 * Copy from an array into a rectangular region in this Allocation. The
394 * @param[in] xoff X offset of region to update in this Allocation
395 * @param[in] yoff Y offset of region to update in this Allocation
404 * Copy from this Allocation into a rectangular region in an array. The
406 * @param[in] xoff X offset of region to copy from this Allocation
407 * @param[in] yoff Y offset of region to copy from this Allocation
416 * Copy from an Allocation into a rectangular region in this Allocation.
417 * @param[in] xoff X offset of region to update in this Allocation
418 * @param[in] yoff Y offset of region to update in this Allocation
421 * @param[in] data Allocation from which to copy
426 sp<const Allocation> data, uint32_t dataXoff, uint32_t dataYoff);
429 * Copy from a strided array into a rectangular region in this Allocation.
430 * @param[in] xoff X offset of region to update in this Allocation
431 * @param[in] yoff Y offset of region to update in this Allocation
441 * Copy from a strided array into this Allocation.
448 * Copy from a rectangular region in this Allocation into a strided array.
449 * @param[in] xoff X offset of region to update in this Allocation
450 * @param[in] yoff Y offset of region to update in this Allocation
460 * Copy this Allocation into a strided array.
468 * Copy from an array into a 3D region in this Allocation. The
470 * @param[in] xoff X offset of region to update in this Allocation
471 * @param[in] yoff Y offset of region to update in this Allocation
472 * @param[in] zoff Z offset of region to update in this Allocation
482 * Copy from an Allocation into a 3D region in this Allocation.
483 * @param[in] xoff X offset of region to update in this Allocation
484 * @param[in] yoff Y offset of region to update in this Allocation
485 * @param[in] zoff Z offset of region to update in this Allocation
489 * @param[in] data Allocation from which to copy
496 sp<const Allocation> data,
500 * Creates an Allocation for use by scripts with a given Type.
501 * @param[in] rs Context to which the Allocation will belong
502 * @param[in] type Type of the Allocation
503 * @param[in] mips desired mipmap behavior for the Allocation
504 * @param[in] usage usage for the Allocation
505 * @return new Allocation
507 static sp<Allocation> createTyped(sp<RS> rs, sp<const Type> type,
511 * Creates an Allocation for use by scripts with a given Type and a backing pointer. For use
513 * @param[in] rs Context to which the Allocation will belong
514 * @param[in] type Type of the Allocation
515 * @param[in] mips desired mipmap behavior for the Allocation
516 * @param[in] usage usage for the Allocation
517 * @param[in] pointer existing backing store to use for this Allocation if possible
518 * @return new Allocation
520 static sp<Allocation> createTyped(sp<RS> rs, sp<const Type> type,
524 * Creates an Allocation for use by scripts with a given Type with no mipmaps.
525 * @param[in] rs Context to which the Allocation will belong
526 * @param[in] type Type of the Allocation
527 * @param[in] usage usage for the Allocation
528 * @return new Allocation
530 static sp<Allocation> createTyped(sp<RS> rs, sp<const Type> type,
533 * Creates an Allocation with a specified number of given elements.
534 * @param[in] rs Context to which the Allocation will belong
535 * @param[in] e Element used in the Allocation
536 * @param[in] count Number of elements of the Allocation
537 * @param[in] usage usage for the Allocation
538 * @return new Allocation
540 static sp<Allocation> createSized(sp<RS> rs, sp<const Element> e, size_t count,
544 * Creates a 2D Allocation with a specified number of given elements.
545 * @param[in] rs Context to which the Allocation will belong
546 * @param[in] e Element used in the Allocation
547 * @param[in] x Width in Elements of the Allocation
548 * @param[in] y Height of the Allocation
549 * @param[in] usage usage for the Allocation
550 * @return new Allocation
552 static sp<Allocation> createSized2D(sp<RS> rs, sp<const Element> e,
560 * An Element represents one item within an Allocation. An Element is roughly
572 * Sampler. Note that Allocation objects with DataKind USER cannot be used as
573 * input for a Sampler. In general, Allocation objects that are intended for
735 * Utility function for returning an Element containing a single Allocation.
739 static sp<const Element> ALLOCATION(sp<RS> rs);
1167 * A Type describes the Element and dimensions used for an Allocation or a
1180 * A Type also supports YUV format information to support an Allocation in a YUV
1185 friend class Allocation;
1205 * @return YUV format of the Allocation
1212 * Returns the Element of the Allocation.
1213 * @return YUV format of the Allocation
1220 * Returns the X dimension of the Allocation.
1221 * @return X dimension of the allocation
1228 * Returns the Y dimension of the Allocation.
1229 * @return Y dimension of the allocation
1236 * Returns the Z dimension of the Allocation.
1237 * @return Z dimension of the allocation
1244 * Returns true if the Allocation has mipmaps.
1245 * @return true if the Allocation has mipmaps
1252 * Returns true if the Allocation is a cube map
1253 * @return true if the Allocation is a cube map
1260 * Returns number of accessible Elements in the Allocation
1261 * @return number of accessible Elements in the Allocation
1268 * Returns size in bytes of all Elements in the Allocation
1269 * @return size in bytes of all Elements in the Allocation
1319 void forEach(uint32_t slot, sp<const Allocation> in, sp<const Allocation> out,
1321 void bindAllocation(sp<Allocation> va, uint32_t slot) const;
1350 sp<Allocation> mAllocation;
1363 sp<const Allocation> getAllocation() {
1397 * allocation. The 8 nearest values are sampled and linearly interpolated. The
1414 * @param[in] ain input Allocation
1415 * @param[in] aout output Allocation
1417 void forEach(sp<Allocation> ain, sp<Allocation> aout);
1424 void setLUT(sp<Allocation> lut);
1443 * @param[in] in input Allocation
1444 * @param[in] out output Allocation
1446 void forEachClear(sp<Allocation> in, sp<Allocation> out);
1449 * @param[in] in input Allocation
1450 * @param[in] out output Allocation
1452 void forEachSrc(sp<Allocation> in, sp<Allocation> out);
1455 * @param[in] in input Allocation
1456 * @param[in] out output Allocation
1458 void forEachDst(sp<Allocation> in, sp<Allocation> out);
1461 * @param[in] in input Allocation
1462 * @param[in] out output Allocation
1464 void forEachSrcOver(sp<Allocation> in, sp<Allocation> out);
1467 * @param[in] in input Allocation
1468 * @param[in] out output Allocation
1470 void forEachDstOver(sp<Allocation> in, sp<Allocation> out);
1473 * @param[in] in input Allocation
1474 * @param[in] out output Allocation
1476 void forEachSrcIn(sp<Allocation> in, sp<Allocation> out);
1479 * @param[in] in input Allocation
1480 * @param[in] out output Allocation
1482 void forEachDstIn(sp<Allocation> in, sp<Allocation> out);
1485 * @param[in] in input Allocation
1486 * @param[in] out output Allocation
1488 void forEachSrcOut(sp<Allocation> in, sp<Allocation> out);
1491 * @param[in] in input Allocation
1492 * @param[in] out output Allocation
1494 void forEachDstOut(sp<Allocation> in, sp<Allocation> out);
1497 * @param[in] in input Allocation
1498 * @param[in] out output Allocation
1500 void forEachSrcAtop(sp<Allocation> in, sp<Allocation> out);
1503 * @param[in] in input Allocation
1504 * @param[in] out output Allocation
1506 void forEachDstAtop(sp<Allocation> in, sp<Allocation> out);
1509 * @param[in] in input Allocation
1510 * @param[in] out output Allocation
1512 void forEachXor(sp<Allocation> in, sp<Allocation> out);
1515 * @param[in] in input Allocation
1516 * @param[in] out output Allocation
1518 void forEachMultiply(sp<Allocation> in, sp<Allocation> out);
1521 * @param[in] in input Allocation
1522 * @param[in] out output Allocation
1524 void forEachAdd(sp<Allocation> in, sp<Allocation> out);
1527 * @param[in] in input Allocation
1528 * @param[in] out output Allocation
1530 void forEachSubtract(sp<Allocation> in, sp<Allocation> out);
1535 * radius to all elements of an Allocation.
1550 * @param[in] in input Allocation
1552 void setInput(sp<Allocation> in);
1555 * @param[in] output Allocation
1557 void forEach(sp<Allocation> out);
1585 * @param[in] in input Allocation
1586 * @param[out] out output Allocation
1588 void forEach(sp<Allocation> in, sp<Allocation> out);
1628 * Intrinsic for applying a 3x3 convolve to an allocation.
1644 * @param[in] in input Allocation
1646 void setInput(sp<Allocation> in);
1649 * @param[in] out output Allocation
1651 void forEach(sp<Allocation> out);
1660 * Intrinsic for applying a 5x5 convolve to an allocation.
1676 * @param[in] in input Allocation
1678 void setInput(sp<Allocation> in);
1681 * @param[in] out output Allocation
1683 void forEach(sp<Allocation> out);
1697 sp<Allocation> mOut;
1715 * @param[in] aout The output allocation
1717 void setOutput(sp<Allocation> aout);
1732 * allocation. The output allocation may be a narrower vector size
1742 void forEach(sp<Allocation> ain);
1745 * allocation. The dot product of the input channel and the
1753 void forEach_dot(sp<Allocation> ain);
1763 sp<Allocation> LUT;
1785 * @param[in] ain Input allocation
1786 * @param[in] aout Output allocation
1788 void forEach(sp<Allocation> ain, sp<Allocation> aout);
1823 * The input allocation should be supplied in a supported YUV format
1824 * as a YUV element Allocation. The output is RGBA; the alpha channel
1843 * Set the input YUV allocation.
1845 * @param[in] ain The input allocation.
1847 void setInput(sp<Allocation> in);
1852 * @param[in] aout Output allocation. Must match creation element
1855 void forEach(sp<Allocation> out);
1864 * Any Allocation used with a Sampler must have been created with
1866 * Allocation that was not created with