From edc3bb661e9c8964d3926cbd7344793a32a2c2cd Mon Sep 17 00:00:00 2001 From: Xia Wang Date: Mon, 17 Jun 2013 16:54:40 -0700 Subject: [PATCH 01/14] Disable a flaky test case Change-Id: I4ef780ed0c5394b67aa002baefc00e835018c4a0 --- core/tests/ConnectivityManagerTest/assets/accesspoints.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/tests/ConnectivityManagerTest/assets/accesspoints.xml b/core/tests/ConnectivityManagerTest/assets/accesspoints.xml index 5e3252ca24dfc..ce6eebcd46eb1 100644 --- a/core/tests/ConnectivityManagerTest/assets/accesspoints.xml +++ b/core/tests/ConnectivityManagerTest/assets/accesspoints.xml @@ -23,6 +23,10 @@ 192.168.14.1 192.168.1.9 + From 41b08da8198e76118ef7167058a88cb920f9fb74 Mon Sep 17 00:00:00 2001 From: Scott Main Date: Mon, 17 Jun 2013 17:47:36 -0700 Subject: [PATCH 02/14] replace 'developers strick back' with 'this week in android' playlist Change-Id: I0aa94f6332da8543d7a2eba80307a36c26d7654c --- docs/html/develop/index.jd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/html/develop/index.jd b/docs/html/develop/index.jd index e4dd2cb1049f7..7b5cb4ae4f599 100644 --- a/docs/html/develop/index.jd +++ b/docs/html/develop/index.jd @@ -321,8 +321,8 @@ var playlists = { 'bizdevbytes' : { 'ids': ["PLWz5rJ2EKKc8-Osr0TuHyTMEhKV0xJ6ql"] }, - 'developersstrikeback' : { - 'ids': ["PLWz5rJ2EKKc8nhhIOieejm1PxYHmPkIPh"] + 'thisweek' : { + 'ids': ["PLWz5rJ2EKKc9Wam5jE-9oY8l6RpeAx-XM"] }, 'googleio' : { 'ids': ["PLWz5rJ2EKKc9WGUwq2gQ-coU3fSyexgOx"] From 27a8508ee1236ded652cd452b93884a9193654fc Mon Sep 17 00:00:00 2001 From: Scott Main Date: Mon, 10 Jun 2013 10:39:48 -0700 Subject: [PATCH 03/14] add attributes reference for splimotionevents and layoutmode Change-Id: Id78f2957c994fc30a0837084f22766c8cfa70fe8 --- core/java/android/view/ViewGroup.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 382710da55e80..95d65eb3e7614 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -97,6 +97,8 @@ import static android.os.Build.VERSION_CODES.JELLY_BEAN_MR1; * @attr ref android.R.styleable#ViewGroup_addStatesFromChildren * @attr ref android.R.styleable#ViewGroup_descendantFocusability * @attr ref android.R.styleable#ViewGroup_animateLayoutChanges + * @attr ref android.R.styleable#ViewGroup_splitMotionEvents + * @attr ref android.R.styleable#ViewGroup_layoutMode */ public abstract class ViewGroup extends View implements ViewParent, ViewManager { private static final String TAG = "ViewGroup"; @@ -2249,6 +2251,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * @param split true to allow MotionEvents to be split and dispatched to multiple * child views. false to only allow one child view to be the target of * any MotionEvent received by this ViewGroup. + * @attr ref android.R.styleable#ViewGroup_splitMotionEvents */ public void setMotionEventSplittingEnabled(boolean split) { // TODO Applications really shouldn't change this setting mid-touch event, @@ -4816,6 +4819,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * @param layoutMode the layout mode to use during layout operations * * @see #getLayoutMode() + * @attr ref android.R.styleable#ViewGroup_layoutMode */ public void setLayoutMode(int layoutMode) { if (mLayoutMode != layoutMode) { From e442662330c972aa96986e6f09305be836b6a7f4 Mon Sep 17 00:00:00 2001 From: Scott Main Date: Wed, 22 May 2013 18:17:44 -0700 Subject: [PATCH 04/14] some extra docs for TextDirectionHeuristic Change-Id: I8ceac72a76a29bde0e25ed418110a6e4120654e3 --- core/java/android/text/BidiFormatter.java | 10 ++++++++-- core/java/android/text/TextDirectionHeuristics.java | 9 ++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/core/java/android/text/BidiFormatter.java b/core/java/android/text/BidiFormatter.java index 3fab35b567950..2a2589ae7ee33 100644 --- a/core/java/android/text/BidiFormatter.java +++ b/core/java/android/text/BidiFormatter.java @@ -25,8 +25,12 @@ import java.util.Locale; /** * Utility class for formatting text for display in a potentially opposite-directionality context * without garbling. The directionality of the context is set at formatter creation and the - * directionality of the text can be either estimated or passed in when known. Provides the - * following functionality: + * directionality of the text can be either estimated or passed in when known. + * + *

To support versions lower than {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}, + * you can use the support library's {@link android.support.v4.text.BidiFormatter} class. + * + *

These APIs provides the following functionality: *

* 1. Bidi Wrapping * When text in one language is mixed into a document in another, opposite-directionality language, @@ -370,6 +374,7 @@ public final class BidiFormatter { * * @param str The input string. * @param heuristic The algorithm to be used to estimate the string's overall direction. + * See {@link TextDirectionHeuristics} for pre-defined heuristics. * @param isolate Whether to directionally isolate the string to prevent it from garbling the * content around it * @return Input string after applying the above processing. @@ -401,6 +406,7 @@ public final class BidiFormatter { * * @param str The input string. * @param heuristic The algorithm to be used to estimate the string's overall direction. + * See {@link TextDirectionHeuristics} for pre-defined heuristics. * @return Input string after applying the above processing. */ public String unicodeWrap(String str, TextDirectionHeuristic heuristic) { diff --git a/core/java/android/text/TextDirectionHeuristics.java b/core/java/android/text/TextDirectionHeuristics.java index 7d7e3a935f94f..866137cc3a63f 100644 --- a/core/java/android/text/TextDirectionHeuristics.java +++ b/core/java/android/text/TextDirectionHeuristics.java @@ -22,7 +22,14 @@ import android.view.View; import java.nio.CharBuffer; /** - * Some objects that implement TextDirectionHeuristic. + * Some objects that implement {@link TextDirectionHeuristic}. Use these with + * the {@link BidiFormatter#unicodeWrap unicodeWrap()} methods in {@link BidiFormatter}. + * Also notice that these direction heuristics correspond to the same types of constants + * provided in the {@link android.view.View} class for {@link android.view.View#setTextDirection + * setTextDirection()}, such as {@link android.view.View#TEXT_DIRECTION_RTL}. + *

To support versions lower than {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}, + * you can use the support library's {@link android.support.v4.text.TextDirectionHeuristicsCompat} + * class. * */ public class TextDirectionHeuristics { From 1a0a50e7c23fb0ec5fe818a7069b890f22632691 Mon Sep 17 00:00:00 2001 From: Scott Main Date: Mon, 17 Jun 2013 19:19:38 -0700 Subject: [PATCH 05/14] add collapsed list items for 4.1 TOC Change-Id: I241fb5415a3b893df7c8491c7a549f3d0d304e74 --- docs/html/about/versions/android-4.1.jd | 85 +++++++++++++++++++++---- 1 file changed, 72 insertions(+), 13 deletions(-) diff --git a/docs/html/about/versions/android-4.1.jd b/docs/html/about/versions/android-4.1.jd index 060f0f40cf2b5..d4b9ebfee460a 100644 --- a/docs/html/about/versions/android-4.1.jd +++ b/docs/html/about/versions/android-4.1.jd @@ -6,19 +6,78 @@ sdk.platform.apiLevel=16

- -

In this document

-
    -
  1. App Components
  2. -
  3. Multimedia
  4. -
  5. Camera
  6. -
  7. Connectivity
  8. -
  9. Accessibility
  10. -
  11. Copy and Paste
  12. + +

    In this document + + show more +

    + +
      +
    1. App Components +
        +
      1. Isolated services
      2. +
      3. Memory management
      4. +
      5. Content providers
      6. +
      7. Live Wallpapers
      8. +
      9. App stack navigation
      10. +
      +
    2. +
    3. Multimedia +
        +
      1. Media codecs
      2. +
      3. Record audio on cue
      4. +
      5. Timed text tracks
      6. +
      7. Audio effects
      8. +
      9. Gapless playback
      10. +
      +
    4. +
    5. Camera +
        +
      1. Auto focus movement
      2. +
      3. Camera sounds
      4. +
      +
    6. +
    7. Connectivity +
        +
      1. Android Beam
      2. +
      3. Network service discovery
      4. +
      5. Wi-Fi Direct service discovery
      6. +
      7. Network usage
      8. +
      +
    8. +
    9. Accessibility +
        +
      1. Accessibility service APIs
      2. +
      3. Customizable app navigation
      4. +
      5. More accessible widgets
      6. +
      +
    10. +
    11. Copy and Paste +
        +
      1. Copy and paste with intents
      2. +
      +
    12. Renderscript
    13. -
    14. Animation
    15. -
    16. User Interface
    17. -
    18. Input Framework
    19. +
    20. Animation +
        +
      1. Activity launch animations
      2. +
      3. Time animator
      4. +
      +
    21. +
    22. User Interface +
        +
      1. Notifications
      2. +
      3. Controls for system UI
      4. +
      5. Remote views
      6. +
      7. Font families
      8. +
      +
    23. +
    24. Input Framework +
        +
      1. Multiple input devices
      2. +
      3. Vibrate for input controllers
      4. +
      +
    25. Permissions
    26. Device Features
    @@ -492,7 +551,7 @@ device becomes connected to Wi-Fi).

    Accessibility

    -

    Accessibility service APIs

    +

    Accessibility service APIs

    The reach of accessibility service APIs has been significantly increased in Android 4.1. It now allows you to build services that monitor and respond to more input events, such as complex gestures From 99700bfee02dd99e47bca5f0ab4e841239deda04 Mon Sep 17 00:00:00 2001 From: Scott Main Date: Tue, 18 Jun 2013 10:43:35 -0700 Subject: [PATCH 06/14] update supported media formats. as per I6372badc3d3a0fcbb1c132e3113331a79b17c26c Change-Id: If35f4bb35b8aabacb51dec79a00a0c353b8a5d3c --- docs/html/guide/appendix/media-formats.jd | 65 +++++++++++++++++++---- 1 file changed, 55 insertions(+), 10 deletions(-) diff --git a/docs/html/guide/appendix/media-formats.jd b/docs/html/guide/appendix/media-formats.jd index 069a603b643a2..907096834d99b 100644 --- a/docs/html/guide/appendix/media-formats.jd +++ b/docs/html/guide/appendix/media-formats.jd @@ -259,7 +259,7 @@ rates for raw PCM recordings at 8000, 16000 and 44100 Hz. VP8 -  +•
    (Android 4.3+) •
    (Android 2.3.3+) Streamable only in Android 4.0 and above @@ -272,9 +272,17 @@ rates for raw PCM recordings at 8000, 16000 and 44100 Hz.

    Video Encoding Recommendations

    -

    Table 2, below, lists examples of video encoding profiles and parameters that the Android media framework supports for playback. In addition to these encoding parameter recommendations, a device's available video recording profiles can be used as a proxy for media playback capabilities. These profiles can be inspected using the {@link android.media.CamcorderProfile CamcorderProfile} class, which is available since API level 8.

    +

    Table 2, below, lists examples of video encoding profiles and parameters that the Android +media framework supports for playback in the H.264 Baseline Profile codec. While +table 3 lists examples that the framework supports for playback in the VP8 media codec.

    -

    Table 2. Examples of supported video encoding parameters.

    +

    In addition to these encoding parameter recommendations, +a device's available video recording profiles can be used as a proxy for media playback +capabilities. These profiles can be inspected using the {@link android.media.CamcorderProfile +CamcorderProfile} class, which is available since API level 8.

    + +

    Table 2. +Examples of supported video encoding parameters for the H.264 Baseline Profile codec.

    @@ -282,16 +290,10 @@ rates for raw PCM recordings at 8000, 16000 and 44100 Hz. - + - - - - - - @@ -331,6 +333,49 @@ rates for raw PCM recordings at 8000, 16000 and 44100 Hz.
      SD (Low quality) SD (High quality)HD (Not available on all devices)HD 720p (N/A on all devices)
    Video codecH.264 Baseline ProfileH.264 Baseline ProfileH.264 Baseline Profile
    Video resolution 176 x 144 px
    + + +

    Table 3. +Examples of supported video encoding parameters for the VP8 codec.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     SD (Low quality)SD (High quality)HD 720p (N/A on all devices)HD 1080p (N/A on all devices)
    Video resolution320 x 180 px640 x 360 px1280 x 720 px1920 x 1080 px
    Video frame rate30 fps30 fps30 fps30 fps
    Video bitrate800 Kbps2 Mbps4 Mbps10 Mbps
    + + + +

    For video content that is streamed over HTTP or RTSP, there are additional requirements:

      From 65a90d0709db61455ac593b53602c34d8e69f2fd Mon Sep 17 00:00:00 2001 From: Wink Saville Date: Tue, 18 Jun 2013 14:47:14 -0700 Subject: [PATCH 07/14] Change default for config_show4GForLte to true. Bug: 9265217 Change-Id: I962910de7826ce9825de2d2dfb9e50b84d0e7c75 --- packages/SystemUI/res/values/config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index 4c81c886cb7d6..92df9b9d5ced4 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -104,6 +104,6 @@ true - false + true From 763bca7bf5c00958d3082438e655f96002c66f4d Mon Sep 17 00:00:00 2001 From: Scott Main Date: Fri, 14 Jun 2013 10:58:51 -0700 Subject: [PATCH 08/14] add Arabic Google Play badges to generator bug: 7994508 Change-Id: Ic9fa9e69ca3c8015f717455176aa7460a5ea5f16 --- .../distribute/googleplay/promote/badges.jd | 2 -- .../images/brand/ar_generic_rgb_wo_45.png | Bin 8061 -> 2895 bytes .../images/brand/ar_generic_rgb_wo_60.png | Bin 10180 -> 4082 bytes 3 files changed, 2 deletions(-) diff --git a/docs/html/distribute/googleplay/promote/badges.jd b/docs/html/distribute/googleplay/promote/badges.jd index 738e76badc38b..9a32921e2cbf3 100644 --- a/docs/html/distribute/googleplay/promote/badges.jd +++ b/docs/html/distribute/googleplay/promote/badges.jd @@ -201,10 +201,8 @@ $(document).ready(function() { onchange="changeBadgeLang()"> -
- - - + + + - - - - - - - - + + + + + + + + - +
rs_allocationOpaque handle to a Renderscript allocation
rs_elementOpaque handle to a Renderscript element
rs_fontOpaque handle to a Renderscript font object
rs_allocationOpaque handle to a RenderScript allocation
rs_elementOpaque handle to a RenderScript element
rs_fontOpaque handle to a RenderScript font object
rs_matrix2x22x2 float matrix
rs_matrix3x33x3 float matrix
rs_matrix4x44x4 float matrix
rs_meshOpaque handle to a Renderscript mesh object
rs_pathOpaque handle to a Renderscript Path object
rs_program_fragmentOpaque handle to a Renderscript ProgramFragment object
rs_program_rasterOpaque handle to a Renderscript ProgramRaster object
rs_program_storeOpaque handle to a Renderscript ProgramStore object
rs_program_vertexOpaque handle to a Renderscript ProgramVertex object
rs_samplerOpaque handle to a Renderscript sampler object
rs_scriptOpaque handle to a Renderscript script object
rs_meshOpaque handle to a RenderScript mesh object
rs_pathOpaque handle to a RenderScript Path object
rs_program_fragmentOpaque handle to a RenderScript ProgramFragment object
rs_program_rasterOpaque handle to a RenderScript ProgramRaster object
rs_program_storeOpaque handle to a RenderScript ProgramStore object
rs_program_vertexOpaque handle to a RenderScript ProgramVertex object
rs_samplerOpaque handle to a RenderScript sampler object
rs_scriptOpaque handle to a RenderScript script object
rs_script_call
rs_tm
rs_typeOpaque handle to a Renderscript type
rs_typeOpaque handle to a RenderScript type
diff --git a/docs/html/reference/renderscript/globals.html b/docs/html/reference/renderscript/globals.html index ffbd0525638a5..d149a0d5cf881 100644 --- a/docs/html/reference/renderscript/globals.html +++ b/docs/html/reference/renderscript/globals.html @@ -28,6 +28,7 @@
  • Functions
  • Typedefs
  • Enumerations
  • +
  • Enumerator
  •  
    diff --git a/docs/html/reference/renderscript/globals_func.html b/docs/html/reference/renderscript/globals_func.html index c1a622dfee8d5..bed106a31f290 100644 --- a/docs/html/reference/renderscript/globals_func.html +++ b/docs/html/reference/renderscript/globals_func.html @@ -28,6 +28,7 @@
  • Functions
  • Typedefs
  • Enumerations
  • +
  • Enumerator
  • -

    Renderscript is a high-performance runtime that provides graphics rendering and compute operations at the native level. Renderscript code is compiled on devices at runtime to allow platform-independence as well. This reference documentation describes the Renderscript runtime APIs, which you can utilize to write Renderscript code in C99. The Renderscript header files are automatically included for you.

    -

    To use Renderscript, you need to utilize the Renderscript runtime APIs documented here as well as the Android framework APIs for Renderscript. For documentation on the Android framework APIs, see the android.renderscript package reference.

    -

    For more information on how to develop with Renderscript and how the runtime and Android framework APIs interact, see the Renderscript developer guide and the Renderscript SDK samples.

    +

    RenderScript is a high-performance runtime that provides compute operations at the native level. RenderScript code is compiled on devices at runtime to allow platform-independence as well. This reference documentation describes the RenderScript runtime APIs, which you can utilize to write RenderScript code in C99. The RenderScript compute header files are automatically included for you.

    +

    To use RenderScript, you need to utilize the RenderScript runtime APIs documented here as well as the Android framework APIs for RenderScript. For documentation on the Android framework APIs, see the android.renderscript package reference. For more information on how to develop with RenderScript and how the runtime and Android framework APIs interact, see the RenderScript developer guide and the RenderScript samples.

    diff --git a/docs/html/reference/renderscript/rs__allocation_8rsh.html b/docs/html/reference/renderscript/rs__allocation_8rsh.html index 9dd06d3d354c2..31736a6876ba9 100644 --- a/docs/html/reference/renderscript/rs__allocation_8rsh.html +++ b/docs/html/reference/renderscript/rs__allocation_8rsh.html @@ -3,7 +3,7 @@ -rs_allocation.rsh File Reference +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_allocation.rsh File Reference @@ -27,7 +27,7 @@
    -
    rs_allocation.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_allocation.rsh File Reference
    @@ -39,15 +39,202 @@ Functions - - - + + + + + + + + + + + + + + +
    uint32_t rsAllocationGetDimZ (rs_allocation)
    uint32_t rsAllocationGetDimLOD (rs_allocation)
    uint32_t rsAllocationGetDimFaces (rs_allocation)
    const void * rsGetElementAt (rs_allocation, uint32_t x)
    const void * rsGetElementAt (rs_allocation, uint32_t x, uint32_t y)
    const void * rsGetElementAt (rs_allocation, uint32_t x, uint32_t y, uint32_t z)
    void rsAllocationCopy1DRange (rs_allocation dstAlloc, uint32_t dstOff, uint32_t dstMip, uint32_t count, rs_allocation srcAlloc, uint32_t srcOff, uint32_t srcMip)
    void rsAllocationCopy2DRange (rs_allocation dstAlloc, uint32_t dstXoff, uint32_t dstYoff, uint32_t dstMip, rs_allocation_cubemap_face dstFace, uint32_t width, uint32_t height, rs_allocation srcAlloc, uint32_t srcXoff, uint32_t srcYoff, uint32_t srcMip, rs_allocation_cubemap_face srcFace)
    const void * rsGetElementAt (rs_allocation a, uint32_t x)
    const void * rsGetElementAt (rs_allocation a, uint32_t x, uint32_t y)
    const void * rsGetElementAt (rs_allocation a, uint32_t x, uint32_t y, uint32_t z)
    const void rsAllocationIoSend (rs_allocation a)
    const void rsAllocationIoReceive (rs_allocation a)
    rs_element rsAllocationGetElement (rs_allocation a)
    const float4 rsSample (rs_allocation a, rs_sampler s, float location)
    const float4 rsSample (rs_allocation a, rs_sampler s, float location, float lod)
    void rsSetElementAt (rs_allocation a, void *ptr, uint32_t x)
    void rsSetElementAt (rs_allocation a, void *ptr, uint32_t x, uint32_t y)
    const uchar rsGetElementAtYuv_uchar_Y (rs_allocation a, uint32_t x, uint32_t y)
    const uchar rsGetElementAtYuv_uchar_U (rs_allocation a, uint32_t x, uint32_t y)
    const uchar rsGetElementAtYuv_uchar_V (rs_allocation a, uint32_t x, uint32_t y)

    Detailed Description

    Allocation routines.

    Definition in file rs_allocation.rsh.


    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void rsAllocationCopy1DRange (rs_allocation dstAlloc,
    uint32_t dstOff,
    uint32_t dstMip,
    uint32_t count,
    rs_allocation srcAlloc,
    uint32_t srcOff,
    uint32_t srcMip 
    )
    +
    +
    +

    Copy part of an allocation from another allocation.

    +
    Parameters:
    + + + + + + + + +
    dstAllocAllocation to copy data into.
    dstOffThe offset of the first element to be copied in the destination allocation.
    dstMipMip level in the destination allocation.
    countThe number of elements to be copied.
    srcAllocThe source data allocation.
    srcOffThe offset of the first element in data to be copied in the source allocation.
    srcMipMip level in the source allocation.
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void rsAllocationCopy2DRange (rs_allocation dstAlloc,
    uint32_t dstXoff,
    uint32_t dstYoff,
    uint32_t dstMip,
    rs_allocation_cubemap_face dstFace,
    uint32_t width,
    uint32_t height,
    rs_allocation srcAlloc,
    uint32_t srcXoff,
    uint32_t srcYoff,
    uint32_t srcMip,
    rs_allocation_cubemap_face srcFace 
    )
    +
    +
    +

    Copy a rectangular region into the allocation from another allocation.

    +
    Parameters:
    + + + + + + + + + + + + + +
    dstAllocallocation to copy data into.
    dstXoffX offset of the region to update in the destination allocation.
    dstYoffY offset of the region to update in the destination allocation.
    dstMipMip level in the destination allocation.
    dstFaceCubemap face of the destination allocation, ignored for allocations that aren't cubemaps.
    widthWidth of the incoming region to update.
    heightHeight of the incoming region to update.
    srcAllocThe source data allocation.
    srcXoffX offset in data of the source allocation.
    srcYoffY offset in data of the source allocation.
    srcMipMip level in the source allocation.
    srcFaceCubemap face of the source allocation, ignored for allocations that aren't cubemaps.
    +
    +
    + +
    +
    @@ -141,6 +328,79 @@ Functions

    Query the dimension of an allocation.

    Returns:
    uint32_t The Z dimension of the allocation.
    +
    +
    + +
    +
    + + + + + + + + +
    rs_element rsAllocationGetElement (rs_allocation a)
    +
    +
    +

    Get the element object describing the allocation's layout

    +
    Parameters:
    + + +
    aallocation to get data from
    +
    +
    +
    Returns:
    element describing allocation layout
    + +
    +
    + +
    +
    + + + + + + + + +
    const void rsAllocationIoReceive (rs_allocation a)
    +
    +
    +

    Receive a new set of contents from the queue.

    +
    Parameters:
    + + +
    aallocation to work on
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    const void rsAllocationIoSend (rs_allocation a)
    +
    +
    +

    Send the contents of the Allocation to the queue.

    +
    Parameters:
    + + +
    aallocation to work on
    +
    +
    +
    @@ -157,11 +417,12 @@ Functions
    -

    Returns the Allocation for a given pointer. The pointer should point within a valid allocation. The results are undefined if the pointer is not from a valid allocation.

    +

    Returns the Allocation for a given pointer. The pointer should point within a valid allocation. The results are undefined if the pointer is not from a valid allocation.

    +

    This function is deprecated and will be removed in the SDK from a future release.

    - +
    @@ -169,7 +430,7 @@ Functions - + @@ -189,7 +450,7 @@ Functions - +
    const void* rsGetElementAt ( rs_allocation , a,
    @@ -197,7 +458,7 @@ Functions - + @@ -223,7 +484,7 @@ Functions - +
    const void* rsGetElementAt ( rs_allocation , a,
    @@ -231,7 +492,7 @@ Functions - + @@ -261,6 +522,294 @@ Functions

    This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

    +
    + + +
    +
    +
    const void* rsGetElementAt ( rs_allocation , a,
    + + + + + + + + + + + + + + + + + + + + + + + +
    const uchar rsGetElementAtYuv_uchar_U (rs_allocation a,
    uint32_t x,
    uint32_t y 
    )
    +
    +
    +

    Extract a single element from an allocation.

    +

    Coordinates are in the dimensions of the Y plane

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    const uchar rsGetElementAtYuv_uchar_V (rs_allocation a,
    uint32_t x,
    uint32_t y 
    )
    +
    +
    +

    Extract a single element from an allocation.

    +

    Coordinates are in the dimensions of the Y plane

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    const uchar rsGetElementAtYuv_uchar_Y (rs_allocation a,
    uint32_t x,
    uint32_t y 
    )
    +
    +
    +

    Extract a single element from an allocation.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    const float4 rsSample (rs_allocation a,
    rs_sampler s,
    float location 
    )
    +
    +
    +

    Fetch allocation in a way described by the sampler

    +
    Parameters:
    + + + + +
    a1D allocation to sample from
    ssampler state
    locationto sample from
    +
    +
    +

    Fetch allocation in a way described by the sampler

    +
    Parameters:
    + + + + +
    a2D allocation to sample from
    ssampler state
    locationto sample from
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    const float4 rsSample (rs_allocation a,
    rs_sampler s,
    float location,
    float lod 
    )
    +
    +
    +

    Fetch allocation in a way described by the sampler

    +
    Parameters:
    + + + + + +
    a1D allocation to sample from
    ssampler state
    locationto sample from
    lodmip level to sample from, for fractional values mip levels will be interpolated if RS_SAMPLER_LINEAR_MIP_LINEAR is used
    +
    +
    +

    Fetch allocation in a way described by the sampler

    +
    Parameters:
    + + + + + +
    a2D allocation to sample from
    ssampler state
    locationto sample from
    lodmip level to sample from, for fractional values mip levels will be interpolated if RS_SAMPLER_LINEAR_MIP_LINEAR is used
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void rsSetElementAt (rs_allocation a,
    void * ptr,
    uint32_t x 
    )
    +
    +
    +

    Set single element of an allocation.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void rsSetElementAt (rs_allocation a,
    void * ptr,
    uint32_t x,
    uint32_t y 
    )
    +
    +
    +

    This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

    +
    diff --git a/docs/html/reference/renderscript/rs__allocation_8rsh_source.html b/docs/html/reference/renderscript/rs__allocation_8rsh_source.html index 3358cff92c92b..6d925a848adb4 100644 --- a/docs/html/reference/renderscript/rs__allocation_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__allocation_8rsh_source.html @@ -3,7 +3,7 @@ -rs_allocation.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_allocation.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_allocation.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_allocation.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -46,81 +46,221 @@
     00023 #ifndef __RS_ALLOCATION_RSH__
     00024 #define __RS_ALLOCATION_RSH__
     00025 
    -00031 extern rs_allocation __attribute__((overloadable))
    -00032     rsGetAllocation(const void *);
    -00033 
    -00039 extern uint32_t __attribute__((overloadable))
    -00040     rsAllocationGetDimX(rs_allocation);
    -00041 
    -00047 extern uint32_t __attribute__((overloadable))
    -00048     rsAllocationGetDimY(rs_allocation);
    -00049 
    -00055 extern uint32_t __attribute__((overloadable))
    -00056     rsAllocationGetDimZ(rs_allocation);
    -00057 
    -00063 extern uint32_t __attribute__((overloadable))
    -00064     rsAllocationGetDimLOD(rs_allocation);
    -00065 
    -00071 extern uint32_t __attribute__((overloadable))
    -00072     rsAllocationGetDimFaces(rs_allocation);
    -00073 
    -00074 #if (defined(RS_VERSION) && (RS_VERSION >= 14))
    -00075 
    -00089 extern void __attribute__((overloadable))
    -00090     rsAllocationCopy1DRange(rs_allocation dstAlloc,
    -00091                             uint32_t dstOff, uint32_t dstMip,
    -00092                             uint32_t count,
    -00093                             rs_allocation srcAlloc,
    -00094                             uint32_t srcOff, uint32_t srcMip);
    -00095 
    -00117 extern void __attribute__((overloadable))
    -00118     rsAllocationCopy2DRange(rs_allocation dstAlloc,
    -00119                             uint32_t dstXoff, uint32_t dstYoff,
    -00120                             uint32_t dstMip,
    -00121                             rs_allocation_cubemap_face dstFace,
    -00122                             uint32_t width, uint32_t height,
    -00123                             rs_allocation srcAlloc,
    -00124                             uint32_t srcXoff, uint32_t srcYoff,
    -00125                             uint32_t srcMip,
    -00126                             rs_allocation_cubemap_face srcFace);
    -00127 
    -00128 #endif //defined(RS_VERSION) && (RS_VERSION >= 14)
    -00129 
    -00133 extern const void * __attribute__((overloadable))
    -00134     rsGetElementAt(rs_allocation, uint32_t x);
    -00138 extern const void * __attribute__((overloadable))
    -00139     rsGetElementAt(rs_allocation, uint32_t x, uint32_t y);
    -00143 extern const void * __attribute__((overloadable))
    -00144     rsGetElementAt(rs_allocation, uint32_t x, uint32_t y, uint32_t z);
    -00145 
    -00146 // New API's
    -00147 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
    -00148 
    -00153 extern const void __attribute__((overloadable))
    -00154     rsAllocationIoSend(rs_allocation a);
    -00155 
    -00160 extern const void __attribute__((overloadable))
    -00161     rsAllocationIoReceive(rs_allocation a);
    -00162 
    -00163 
    -00169 extern rs_element __attribute__((overloadable))
    -00170     rsAllocationGetElement(rs_allocation a);
    -00171 
    -00178 extern const float4 __attribute__((overloadable))
    -00179     rsSample(rs_allocation a, rs_sampler s, float location);
    -00189 extern const float4 __attribute__((overloadable))
    -00190     rsSample(rs_allocation a, rs_sampler s, float location, float lod);
    -00191 
    -00198 extern const float4 __attribute__((overloadable))
    -00199     rsSample(rs_allocation a, rs_sampler s, float2 location);
    -00200 
    -00210 extern const float4 __attribute__((overloadable))
    -00211     rsSample(rs_allocation a, rs_sampler s, float2 location, float lod);
    -00212 
    -00213 #endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
    -00214 
    -00215 #endif
    +00034 extern rs_allocation __attribute__((overloadable))
    +00035     rsGetAllocation(const void *);
    +00036 
    +00042 extern uint32_t __attribute__((overloadable))
    +00043     rsAllocationGetDimX(rs_allocation);
    +00044 
    +00050 extern uint32_t __attribute__((overloadable))
    +00051     rsAllocationGetDimY(rs_allocation);
    +00052 
    +00058 extern uint32_t __attribute__((overloadable))
    +00059     rsAllocationGetDimZ(rs_allocation);
    +00060 
    +00066 extern uint32_t __attribute__((overloadable))
    +00067     rsAllocationGetDimLOD(rs_allocation);
    +00068 
    +00074 extern uint32_t __attribute__((overloadable))
    +00075     rsAllocationGetDimFaces(rs_allocation);
    +00076 
    +00077 #if (defined(RS_VERSION) && (RS_VERSION >= 14))
    +00078 
    +00092 extern void __attribute__((overloadable))
    +00093     rsAllocationCopy1DRange(rs_allocation dstAlloc,
    +00094                             uint32_t dstOff, uint32_t dstMip,
    +00095                             uint32_t count,
    +00096                             rs_allocation srcAlloc,
    +00097                             uint32_t srcOff, uint32_t srcMip);
    +00098 
    +00120 extern void __attribute__((overloadable))
    +00121     rsAllocationCopy2DRange(rs_allocation dstAlloc,
    +00122                             uint32_t dstXoff, uint32_t dstYoff,
    +00123                             uint32_t dstMip,
    +00124                             rs_allocation_cubemap_face dstFace,
    +00125                             uint32_t width, uint32_t height,
    +00126                             rs_allocation srcAlloc,
    +00127                             uint32_t srcXoff, uint32_t srcYoff,
    +00128                             uint32_t srcMip,
    +00129                             rs_allocation_cubemap_face srcFace);
    +00130 
    +00131 #endif //defined(RS_VERSION) && (RS_VERSION >= 14)
    +00132 
    +00136 extern const void * __attribute__((overloadable))
    +00137     rsGetElementAt(rs_allocation a, uint32_t x);
    +00141 extern const void * __attribute__((overloadable))
    +00142     rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y);
    +00146 extern const void * __attribute__((overloadable))
    +00147     rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
    +00148 
    +00149 
    +00150 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
    +00151     #define GET_ELEMENT_AT(T) \
    +00152     extern T __attribute__((overloadable)) \
    +00153             rsGetElementAt_##T(rs_allocation a, uint32_t x); \
    +00154     extern T __attribute__((overloadable)) \
    +00155             rsGetElementAt_##T(rs_allocation a, uint32_t x, uint32_t y);  \
    +00156     extern T __attribute__((overloadable)) \
    +00157             rsGetElementAt_##T(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
    +00158 #else
    +00159     #define GET_ELEMENT_AT(T) \
    +00160     static inline T __attribute__((overloadable)) \
    +00161             rsGetElementAt_##T(rs_allocation a, uint32_t x) {  \
    +00162         return ((T *)rsGetElementAt(a, x))[0]; \
    +00163     } \
    +00164     static inline T __attribute__((overloadable)) \
    +00165             rsGetElementAt_##T(rs_allocation a, uint32_t x, uint32_t y) {  \
    +00166         return ((T *)rsGetElementAt(a, x, y))[0]; \
    +00167     } \
    +00168     static inline T __attribute__((overloadable)) \
    +00169             rsGetElementAt_##T(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {  \
    +00170         return ((T *)rsGetElementAt(a, x, y, z))[0]; \
    +00171     }
    +00172 #endif
    +00173 
    +00174 GET_ELEMENT_AT(char)
    +00175 GET_ELEMENT_AT(char2)
    +00176 GET_ELEMENT_AT(char3)
    +00177 GET_ELEMENT_AT(char4)
    +00178 GET_ELEMENT_AT(uchar)
    +00179 GET_ELEMENT_AT(uchar2)
    +00180 GET_ELEMENT_AT(uchar3)
    +00181 GET_ELEMENT_AT(uchar4)
    +00182 GET_ELEMENT_AT(short)
    +00183 GET_ELEMENT_AT(short2)
    +00184 GET_ELEMENT_AT(short3)
    +00185 GET_ELEMENT_AT(short4)
    +00186 GET_ELEMENT_AT(ushort)
    +00187 GET_ELEMENT_AT(ushort2)
    +00188 GET_ELEMENT_AT(ushort3)
    +00189 GET_ELEMENT_AT(ushort4)
    +00190 GET_ELEMENT_AT(int)
    +00191 GET_ELEMENT_AT(int2)
    +00192 GET_ELEMENT_AT(int3)
    +00193 GET_ELEMENT_AT(int4)
    +00194 GET_ELEMENT_AT(uint)
    +00195 GET_ELEMENT_AT(uint2)
    +00196 GET_ELEMENT_AT(uint3)
    +00197 GET_ELEMENT_AT(uint4)
    +00198 GET_ELEMENT_AT(long)
    +00199 GET_ELEMENT_AT(long2)
    +00200 GET_ELEMENT_AT(long3)
    +00201 GET_ELEMENT_AT(long4)
    +00202 GET_ELEMENT_AT(ulong)
    +00203 GET_ELEMENT_AT(ulong2)
    +00204 GET_ELEMENT_AT(ulong3)
    +00205 GET_ELEMENT_AT(ulong4)
    +00206 GET_ELEMENT_AT(float)
    +00207 GET_ELEMENT_AT(float2)
    +00208 GET_ELEMENT_AT(float3)
    +00209 GET_ELEMENT_AT(float4)
    +00210 GET_ELEMENT_AT(double)
    +00211 GET_ELEMENT_AT(double2)
    +00212 GET_ELEMENT_AT(double3)
    +00213 GET_ELEMENT_AT(double4)
    +00214 
    +00215 #undef GET_ELEMENT_AT
     00216 
    +00217 // Jelly Bean
    +00218 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
    +00219 
    +00224 extern const void __attribute__((overloadable))
    +00225     rsAllocationIoSend(rs_allocation a);
    +00226 
    +00231 extern const void __attribute__((overloadable))
    +00232     rsAllocationIoReceive(rs_allocation a);
    +00233 
    +00234 
    +00240 extern rs_element __attribute__((overloadable))
    +00241     rsAllocationGetElement(rs_allocation a);
    +00242 
    +00249 extern const float4 __attribute__((overloadable))
    +00250     rsSample(rs_allocation a, rs_sampler s, float location);
    +00260 extern const float4 __attribute__((overloadable))
    +00261     rsSample(rs_allocation a, rs_sampler s, float location, float lod);
    +00262 
    +00269 extern const float4 __attribute__((overloadable))
    +00270     rsSample(rs_allocation a, rs_sampler s, float2 location);
    +00271 
    +00281 extern const float4 __attribute__((overloadable))
    +00282     rsSample(rs_allocation a, rs_sampler s, float2 location, float lod);
    +00283 
    +00284 #endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
    +00285 
    +00286 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
    +00287 
    +00291 extern void __attribute__((overloadable))
    +00292     rsSetElementAt(rs_allocation a, void* ptr, uint32_t x);
    +00293 
    +00297 extern void __attribute__((overloadable))
    +00298     rsSetElementAt(rs_allocation a, void* ptr, uint32_t x, uint32_t y);
    +00299 
    +00300 #define SET_ELEMENT_AT(T)                                               \
    +00301     extern void __attribute__((overloadable))                           \
    +00302     rsSetElementAt_##T(rs_allocation a, T val, uint32_t x);             \
    +00303     extern void __attribute__((overloadable))                           \
    +00304     rsSetElementAt_##T(rs_allocation a, T val, uint32_t x, uint32_t y); \
    +00305     extern void __attribute__((overloadable))                           \
    +00306     rsSetElementAt_##T(rs_allocation a, T val, uint32_t x, uint32_t y, uint32_t z);
    +00307 
    +00308 
    +00309 SET_ELEMENT_AT(char)
    +00310 SET_ELEMENT_AT(char2)
    +00311 SET_ELEMENT_AT(char3)
    +00312 SET_ELEMENT_AT(char4)
    +00313 SET_ELEMENT_AT(uchar)
    +00314 SET_ELEMENT_AT(uchar2)
    +00315 SET_ELEMENT_AT(uchar3)
    +00316 SET_ELEMENT_AT(uchar4)
    +00317 SET_ELEMENT_AT(short)
    +00318 SET_ELEMENT_AT(short2)
    +00319 SET_ELEMENT_AT(short3)
    +00320 SET_ELEMENT_AT(short4)
    +00321 SET_ELEMENT_AT(ushort)
    +00322 SET_ELEMENT_AT(ushort2)
    +00323 SET_ELEMENT_AT(ushort3)
    +00324 SET_ELEMENT_AT(ushort4)
    +00325 SET_ELEMENT_AT(int)
    +00326 SET_ELEMENT_AT(int2)
    +00327 SET_ELEMENT_AT(int3)
    +00328 SET_ELEMENT_AT(int4)
    +00329 SET_ELEMENT_AT(uint)
    +00330 SET_ELEMENT_AT(uint2)
    +00331 SET_ELEMENT_AT(uint3)
    +00332 SET_ELEMENT_AT(uint4)
    +00333 SET_ELEMENT_AT(long)
    +00334 SET_ELEMENT_AT(long2)
    +00335 SET_ELEMENT_AT(long3)
    +00336 SET_ELEMENT_AT(long4)
    +00337 SET_ELEMENT_AT(ulong)
    +00338 SET_ELEMENT_AT(ulong2)
    +00339 SET_ELEMENT_AT(ulong3)
    +00340 SET_ELEMENT_AT(ulong4)
    +00341 SET_ELEMENT_AT(float)
    +00342 SET_ELEMENT_AT(float2)
    +00343 SET_ELEMENT_AT(float3)
    +00344 SET_ELEMENT_AT(float4)
    +00345 SET_ELEMENT_AT(double)
    +00346 SET_ELEMENT_AT(double2)
    +00347 SET_ELEMENT_AT(double3)
    +00348 SET_ELEMENT_AT(double4)
    +00349 
    +00350 #undef SET_ELEMENT_AT
    +00351 
    +00352 
    +00356 extern const uchar __attribute__((overloadable))
    +00357     rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y);
    +00358 
    +00364 extern const uchar __attribute__((overloadable))
    +00365     rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y);
    +00366 
    +00372 extern const uchar __attribute__((overloadable))
    +00373     rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y);
    +00374 
    +00375 #endif // (defined(RS_VERSION) && (RS_VERSION >= 18))
    +00376 
    +00377 #endif
    +00378 
     
    diff --git a/docs/html/reference/renderscript/rs__atomic_8rsh.html b/docs/html/reference/renderscript/rs__atomic_8rsh.html index bb33fc3096256..94c16efa586d6 100644 --- a/docs/html/reference/renderscript/rs__atomic_8rsh.html +++ b/docs/html/reference/renderscript/rs__atomic_8rsh.html @@ -3,7 +3,7 @@ -rs_atomic.rsh File Reference +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_atomic.rsh File Reference @@ -24,15 +24,734 @@
    +
    -
    rs_atomic.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_atomic.rsh File Reference
    + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    int32_t rsAtomicInc (volatile int32_t *addr)
    uint32_t rsAtomicInc (volatile uint32_t *addr)
    int32_t rsAtomicDec (volatile int32_t *addr)
    uint32_t rsAtomicDec (volatile uint32_t *addr)
    int32_t rsAtomicAdd (volatile int32_t *addr, int32_t value)
    uint32_t rsAtomicAdd (volatile uint32_t *addr, uint32_t value)
    int32_t rsAtomicSub (volatile int32_t *addr, int32_t value)
    uint32_t rsAtomicSub (volatile uint32_t *addr, uint32_t value)
    int32_t rsAtomicAnd (volatile int32_t *addr, int32_t value)
    uint32_t rsAtomicAnd (volatile uint32_t *addr, uint32_t value)
    int32_t rsAtomicOr (volatile int32_t *addr, int32_t value)
    uint32_t rsAtomicOr (volatile uint32_t *addr, uint32_t value)
    uint32_t rsAtomicXor (volatile uint32_t *addr, uint32_t value)
    int32_t rsAtomicXor (volatile int32_t *addr, int32_t value)
    uint32_t rsAtomicMin (volatile uint32_t *addr, uint32_t value)
    int32_t rsAtomicMin (volatile int32_t *addr, int32_t value)
    uint32_t rsAtomicMax (volatile uint32_t *addr, uint32_t value)
    int32_t rsAtomicMax (volatile int32_t *addr, int32_t value)
    int32_t rsAtomicCas (volatile int32_t *addr, int32_t compareValue, int32_t newValue)
    uint32_t rsAtomicCas (volatile uint32_t *addr, uint32_t compareValue, uint32_t newValue)

    Detailed Description

    Atomic routines.

    Definition in file rs_atomic.rsh.

    -
    +

    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t rsAtomicAdd (volatile int32_t * addr,
    int32_t value 
    )
    +
    +
    +

    Atomic add a value to the value at addr. addr[0] += value

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valueAmount to add to the value at addr
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint32_t rsAtomicAdd (volatile uint32_t * addr,
    uint32_t value 
    )
    +
    +
    +

    Atomic add a value to the value at addr. addr[0] += value

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valueAmount to add to the value at addr
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t rsAtomicAnd (volatile int32_t * addr,
    int32_t value 
    )
    +
    +
    +

    Atomic Bitwise and a value from the value at addr. addr[0] &= value

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valueAmount to and with the value at addr
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint32_t rsAtomicAnd (volatile uint32_t * addr,
    uint32_t value 
    )
    +
    +
    +

    Atomic Bitwise and a value from the value at addr. addr[0] &= value

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valueAmount to and with the value at addr
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int32_t rsAtomicCas (volatile int32_t * addr,
    int32_t compareValue,
    int32_t newValue 
    )
    +
    +
    +

    Compare-and-set operation with a full memory barrier.

    +

    If the value at addr matches compareValue then newValue is written.

    +
    Parameters:
    + + + + +
    addrThe address to compare and replace if the compare passes.
    compareValueThe value to test addr[0] against.
    newValueThe value to write if the test passes.
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    uint32_t rsAtomicCas (volatile uint32_t * addr,
    uint32_t compareValue,
    uint32_t newValue 
    )
    +
    +
    +

    Compare-and-set operation with a full memory barrier.

    +

    If the value at addr matches compareValue then newValue is written.

    +
    Parameters:
    + + + + +
    addrThe address to compare and replace if the compare passes.
    compareValueThe value to test addr[0] against.
    newValueThe value to write if the test passes.
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + +
    int32_t rsAtomicDec (volatile int32_t * addr)
    +
    +
    +

    Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1)

    +
    Parameters:
    + + +
    addrAddress of value to decrement
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + +
    uint32_t rsAtomicDec (volatile uint32_t * addr)
    +
    +
    +

    Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1)

    +
    Parameters:
    + + +
    addrAddress of value to decrement
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + +
    int32_t rsAtomicInc (volatile int32_t * addr)
    +
    +
    +

    Atomic add one to the value at addr. Equal to rsAtomicAdd(addr, 1)

    +
    Parameters:
    + + +
    addrAddress of value to increment
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + +
    uint32_t rsAtomicInc (volatile uint32_t * addr)
    +
    +
    +

    Atomic add one to the value at addr. Equal to rsAtomicAdd(addr, 1)

    +
    Parameters:
    + + +
    addrAddress of value to increment
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint32_t rsAtomicMax (volatile uint32_t * addr,
    uint32_t value 
    )
    +
    +
    +

    Atomic Set the value at addr to the max of addr and value addr[0] = rsMax(addr[0], value)

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valuecomparison value
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t rsAtomicMax (volatile int32_t * addr,
    int32_t value 
    )
    +
    +
    +

    Atomic Set the value at addr to the max of addr and value addr[0] = rsMin(addr[0], value)

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valuecomparison value
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint32_t rsAtomicMin (volatile uint32_t * addr,
    uint32_t value 
    )
    +
    +
    +

    Atomic Set the value at addr to the min of addr and value addr[0] = rsMin(addr[0], value)

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valuecomparison value
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t rsAtomicMin (volatile int32_t * addr,
    int32_t value 
    )
    +
    +
    +

    Atomic Set the value at addr to the min of addr and value addr[0] = rsMin(addr[0], value)

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valuecomparison value
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t rsAtomicOr (volatile int32_t * addr,
    int32_t value 
    )
    +
    +
    +

    Atomic Bitwise or a value from the value at addr. addr[0] |= value

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valueAmount to or with the value at addr
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint32_t rsAtomicOr (volatile uint32_t * addr,
    uint32_t value 
    )
    +
    +
    +

    Atomic Bitwise or a value from the value at addr. addr[0] |= value

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valueAmount to or with the value at addr
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t rsAtomicSub (volatile int32_t * addr,
    int32_t value 
    )
    +
    +
    +

    Atomic Subtract a value from the value at addr. addr[0] -= value

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valueAmount to subtract from the value at addr
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint32_t rsAtomicSub (volatile uint32_t * addr,
    uint32_t value 
    )
    +
    +
    +

    Atomic Subtract a value from the value at addr. addr[0] -= value

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valueAmount to subtract from the value at addr
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint32_t rsAtomicXor (volatile uint32_t * addr,
    uint32_t value 
    )
    +
    +
    +

    Atomic Bitwise xor a value from the value at addr. addr[0] ^= value

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valueAmount to xor with the value at addr
    +
    +
    +
    Returns:
    old value
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int32_t rsAtomicXor (volatile int32_t * addr,
    int32_t value 
    )
    +
    +
    +

    Atomic Bitwise xor a value from the value at addr. addr[0] ^= value

    +
    Parameters:
    + + + +
    addrAddress of value to modify
    valueAmount to xor with the value at addr
    +
    +
    +
    Returns:
    old value
    + +
    +
    + diff --git a/docs/html/reference/renderscript/rs__atomic_8rsh_source.html b/docs/html/reference/renderscript/rs__atomic_8rsh_source.html index 63d1a68099fe4..2136df4ab342f 100644 --- a/docs/html/reference/renderscript/rs__atomic_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__atomic_8rsh_source.html @@ -3,7 +3,7 @@ -rs_atomic.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_atomic.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_atomic.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_atomic.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -49,55 +49,55 @@
     00026 #if (defined(RS_VERSION) && (RS_VERSION >= 14))
     00027 
     00036 extern int32_t __attribute__((overloadable))
    -00037     rsAtomicInc(volatile int32_t* addr);
    +00037     rsAtomicInc(volatile int32_t* addr);
     00046 extern uint32_t __attribute__((overloadable))
    -00047     rsAtomicInc(volatile uint32_t* addr);
    +00047     rsAtomicInc(volatile uint32_t* addr);
     00048 
     00056 extern int32_t __attribute__((overloadable))
    -00057     rsAtomicDec(volatile int32_t* addr);
    +00057     rsAtomicDec(volatile int32_t* addr);
     00065 extern uint32_t __attribute__((overloadable))
    -00066     rsAtomicDec(volatile uint32_t* addr);
    +00066     rsAtomicDec(volatile uint32_t* addr);
     00067 
     00076 extern int32_t __attribute__((overloadable))
    -00077     rsAtomicAdd(volatile int32_t* addr, int32_t value);
    +00077     rsAtomicAdd(volatile int32_t* addr, int32_t value);
     00086 extern uint32_t __attribute__((overloadable))
    -00087     rsAtomicAdd(volatile uint32_t* addr, uint32_t value);
    +00087     rsAtomicAdd(volatile uint32_t* addr, uint32_t value);
     00088 
     00097 extern int32_t __attribute__((overloadable))
    -00098     rsAtomicSub(volatile int32_t* addr, int32_t value);
    +00098     rsAtomicSub(volatile int32_t* addr, int32_t value);
     00107 extern uint32_t __attribute__((overloadable))
    -00108     rsAtomicSub(volatile uint32_t* addr, uint32_t value);
    +00108     rsAtomicSub(volatile uint32_t* addr, uint32_t value);
     00109 
     00118 extern int32_t __attribute__((overloadable))
    -00119     rsAtomicAnd(volatile int32_t* addr, int32_t value);
    +00119     rsAtomicAnd(volatile int32_t* addr, int32_t value);
     00128 extern uint32_t __attribute__((overloadable))
    -00129     rsAtomicAnd(volatile uint32_t* addr, uint32_t value);
    +00129     rsAtomicAnd(volatile uint32_t* addr, uint32_t value);
     00130 
     00139 extern int32_t __attribute__((overloadable))
    -00140     rsAtomicOr(volatile int32_t* addr, int32_t value);
    +00140     rsAtomicOr(volatile int32_t* addr, int32_t value);
     00149 extern uint32_t __attribute__((overloadable))
    -00150     rsAtomicOr(volatile uint32_t* addr, uint32_t value);
    +00150     rsAtomicOr(volatile uint32_t* addr, uint32_t value);
     00151 
     00160 extern uint32_t __attribute__((overloadable))
    -00161     rsAtomicXor(volatile uint32_t* addr, uint32_t value);
    +00161     rsAtomicXor(volatile uint32_t* addr, uint32_t value);
     00170 extern int32_t __attribute__((overloadable))
    -00171     rsAtomicXor(volatile int32_t* addr, int32_t value);
    +00171     rsAtomicXor(volatile int32_t* addr, int32_t value);
     00172 
     00182 extern uint32_t __attribute__((overloadable))
    -00183     rsAtomicMin(volatile uint32_t* addr, uint32_t value);
    +00183     rsAtomicMin(volatile uint32_t* addr, uint32_t value);
     00193 extern int32_t __attribute__((overloadable))
    -00194     rsAtomicMin(volatile int32_t* addr, int32_t value);
    +00194     rsAtomicMin(volatile int32_t* addr, int32_t value);
     00195 
     00205 extern uint32_t __attribute__((overloadable))
    -00206     rsAtomicMax(volatile uint32_t* addr, uint32_t value);
    +00206     rsAtomicMax(volatile uint32_t* addr, uint32_t value);
     00216 extern int32_t __attribute__((overloadable))
    -00217     rsAtomicMax(volatile int32_t* addr, int32_t value);
    +00217     rsAtomicMax(volatile int32_t* addr, int32_t value);
     00218 
     00230 extern int32_t __attribute__((overloadable))
    -00231     rsAtomicCas(volatile int32_t* addr, int32_t compareValue, int32_t newValue);
    +00231     rsAtomicCas(volatile int32_t* addr, int32_t compareValue, int32_t newValue);
     00232 
     00244 extern uint32_t __attribute__((overloadable))
    -00245     rsAtomicCas(volatile uint32_t* addr, uint32_t compareValue, uint32_t newValue);
    +00245     rsAtomicCas(volatile uint32_t* addr, uint32_t compareValue, uint32_t newValue);
     00246 
     00247 #endif //defined(RS_VERSION) && (RS_VERSION >= 14)
     00248 
    diff --git a/docs/html/reference/renderscript/rs__cl_8rsh.html b/docs/html/reference/renderscript/rs__cl_8rsh.html
    index 999fe0d92121a..2a781b67ddf9a 100644
    --- a/docs/html/reference/renderscript/rs__cl_8rsh.html
    +++ b/docs/html/reference/renderscript/rs__cl_8rsh.html
    @@ -3,7 +3,7 @@
     
     
     
    -rs_cl.rsh File Reference
    +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_cl.rsh File Reference
     
     
     
    @@ -27,35 +27,42 @@
       
       
    -
    rs_cl.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_cl.rsh File Reference
    + + + + + + + - + - + - - + + - + - + @@ -64,7 +71,8 @@ Functions - + + @@ -73,46 +81,78 @@ Functions - + - - + + - + - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

    Functions

    char2 convert_char2 (uchar2 v)
    uchar2 convert_uchar2 (uchar2 v)
    short2 convert_short2 (uchar2 v)
    ushort2 convert_ushort2 (uchar2 v)
    int2 convert_int2 (uchar2 v)
    uint2 convert_uint2 (uchar2 v)
    float2 convert_float2 (uchar2 v)
    float acos (float)
    float acosh (float)
    _RS_RUNTIME float acospi (float v)
    float acospi (float v)
    float asin (float)
    float asinh (float)
    _RS_RUNTIME float asinpi (float v)
    float asinpi (float v)
    float atan (float)
    float atan2 (float y, float x)
    float atanh (float)
    _RS_RUNTIME float atanpi (float v)
    _RS_RUNTIME float atan2pi (float y, float x)
    float atanpi (float v)
    float atan2pi (float y, float x)
    float cbrt (float)
    float ceil (float)
    float copysign (float x, float y)
    float cos (float)
    float cosh (float)
    _RS_RUNTIME float cospi (float v)
    float cospi (float v)
    float erfc (float)
    float erf (float)
    float exp (float)
    float exp2 (float)
    float pow (float x, float y)
    _RS_RUNTIME float exp10 (float v)
    float exp10 (float v)
    float expm1 (float)
    float fabs (float)
    float fdim (float, float)
    float fmax (float x, float y)
    float fmin (float x, float y)
    float fmod (float x, float y)
    _RS_RUNTIME float fract (float v, float *iptr)
    float fract (float v, float *iptr)
    static float fract (float v)
    float frexp (float v, int *iptr)
    float hypot (float x, float y)
    int ilogb (float)
    float lgamma (float x, int *y)
    float log (float)
    float log10 (float)
    _RS_RUNTIME float log2 (float v)
    float log2 (float v)
    float log1p (float v)
    float logb (float)
    float mad (float a, float b, float c)
    float modf (float x, float *iret)
    float nextafter (float x, float y)
    _RS_RUNTIME float pown (float v, int p)
    _RS_RUNTIME float powr (float v, float p)
    float pown (float v, int p)
    float powr (float v, float p)
    float remainder (float x, float y)
    float rint (float)
    _RS_RUNTIME float rootn (float v, int n)
    float rootn (float v, int n)
    float round (float)
    float sqrt (float)
    _RS_RUNTIME float rsqrt (float v)
    float rsqrt (float v)
    float sin (float v)
    _RS_RUNTIME float sincos (float v, float *cosptr)
    float sincos (float v, float *cosptr)
    float sinh (float)
    _RS_RUNTIME float sinpi (float v)
    float sinpi (float v)
    float tan (float v)
    float tanh (float)
    _RS_RUNTIME float tanpi (float v)
    float tanpi (float v)
    float tgamma (float)
    float trunc (float)
    _RS_RUNTIME float clamp (float amount, float low, float high)
    _RS_RUNTIME float degrees (float radians)
    _RS_RUNTIME float mix (float start, float stop, float amount)
    _RS_RUNTIME float radians (float degrees)
    _RS_RUNTIME float step (float edge, float v)
    _RS_RUNTIME float sign (float v)
    _RS_RUNTIME float3 cross (float3 lhs, float3 rhs)
    _RS_RUNTIME float dot (float lhs, float rhs)
    _RS_RUNTIME float length (float v)
    _RS_RUNTIME float distance (float lhs, float rhs)
    _RS_RUNTIME float normalize (float v)
    uchar abs (char v)
    uchar clz (uchar v)
    uchar min (uchar v1, uchar v2)
    uchar max (uchar v1, uchar v2)
    float clamp (float amount, float low, float high)
    float degrees (float radians)
    float mix (float start, float stop, float amount)
    float radians (float degrees)
    float step (float edge, float v)
    float sign (float v)
    float3 cross (float3 lhs, float3 rhs)
    float dot (float lhs, float rhs)
    float length (float v)
    float distance (float lhs, float rhs)
    float normalize (float v)
    float half_recip (float)
    float half_sqrt (float)
    float half_rsqrt (float v)
    float fast_length (float v)
    float fast_distance (float lhs, float rhs)
    float fast_normalize (float v)
    float native_exp2 (float v)
    float native_exp (float v)
    float native_exp10 (float v)

    Detailed Description

    Basic math functions.

    Definition in file rs_cl.rsh.


    Function Documentation

    + +
    +
    + + + + + + + + +
    uchar abs (char v)
    +
    +
    +

    Return the absolute value of a value.

    +

    Supports 1,2,3,4 components of char, short, int.

    + +
    +
    @@ -151,12 +191,12 @@ Functions
    - +
    - + @@ -208,12 +248,12 @@ Functions - +
    _RS_RUNTIME float acospi float acospi ( float  v)
    - + @@ -282,12 +322,12 @@ Functions - +
    _RS_RUNTIME float asinpi float asinpi ( float  v)
    - + @@ -337,12 +377,12 @@ Functions - +
    _RS_RUNTIME float atan2pi float atan2pi ( float  y,
    - + @@ -394,12 +434,12 @@ Functions - +
    _RS_RUNTIME float atanpi float atanpi ( float  v)
    - + @@ -424,9 +464,7 @@ Functions
    _RS_RUNTIME float4 clamp float clamp ( float  amount,
    -

    Return the minimum of two values.

    -

    Supports 1,2,3,4 components of uchar, char, ushort, short, uint, int, float. Return the maximum of two values.

    -

    Supports 1,2,3,4 components of uchar, char, ushort, short, uint, int, float. Clamp a value to a specified high and low bound.

    +

    Clamp a value to a specified high and low bound.

    Parameters:
    @@ -436,6 +474,158 @@ Functions + + + +
    +
    +
    amountvalue to be clamped. Supports 1,2,3,4 components
    + + + + + + + +
    uchar clz (uchar v)
    +
    +
    +

    Return the number of leading 0-bits in a value.

    +

    Supports 1,2,3,4 components of uchar, char, ushort, short, uint, int.

    + +
    +
    + +
    +
    + + + + + + + + +
    char2 convert_char2 (uchar2 v)
    +
    +
    +

    Convert to char.

    +

    Supports 2,3,4 components of uchar, char, ushort, short, uint, int, float.

    + +
    +
    + +
    +
    + + + + + + + + +
    float2 convert_float2 (uchar2 v)
    +
    +
    +

    Convert to float.

    +

    Supports 2,3,4 components of uchar, char, ushort, short, uint, int, float.

    + +
    +
    + +
    +
    + + + + + + + + +
    int2 convert_int2 (uchar2 v)
    +
    +
    +

    Convert to int.

    +

    Supports 2,3,4 components of uchar, char, ushort, short, uint, int, float.

    + +
    +
    + +
    +
    + + + + + + + + +
    short2 convert_short2 (uchar2 v)
    +
    +
    +

    Convert to short.

    +

    Supports 2,3,4 components of uchar, char, ushort, short, uint, int, float.

    + +
    +
    + +
    +
    + + + + + + + + +
    uchar2 convert_uchar2 (uchar2 v)
    +
    +
    +

    Convert to unsigned char.

    +

    Supports 2,3,4 components of uchar, char, ushort, short, uint, int, float.

    + +
    +
    + +
    +
    + + + + + + + + +
    uint2 convert_uint2 (uchar2 v)
    +
    +
    +

    Convert to unsigned int.

    +

    Supports 2,3,4 components of uchar, char, ushort, short, uint, int, float.

    + +
    +
    + +
    +
    + + + + + + + + +
    ushort2 convert_ushort2 (uchar2 v)
    +
    +
    +

    Convert to unsigned short.

    +

    Supports 2,3,4 components of uchar, char, ushort, short, uint, int, float.

    +
    @@ -512,12 +702,12 @@ Functions
    - +
    - + @@ -531,12 +721,12 @@ Functions - +
    _RS_RUNTIME float cospi float cospi ( float  v)
    - + @@ -560,12 +750,12 @@ Functions - +
    _RS_RUNTIME float4 cross float4 cross ( float3  lhs,
    - + @@ -579,12 +769,12 @@ Functions - +
    _RS_RUNTIME float degrees float degrees ( float  radians)
    - + @@ -608,12 +798,12 @@ Functions - +
    _RS_RUNTIME float distance float distance ( float  lhs,
    - + @@ -694,12 +884,12 @@ Functions - +
    _RS_RUNTIME float dot float dot ( float  lhs,
    - + @@ -768,6 +958,73 @@ Functions

    Return the absolute value of a value.

    Supports float, float2, float3, float4.

    + + + +
    +
    +
    _RS_RUNTIME float exp10 float exp10 ( float  v)
    + + + + + + + + + + + + + + + + + +
    float fast_distance (float lhs,
    float rhs 
    )
    +
    +
    +

    Compute the approximate distance between two points.

    +

    Supports 1,2,3,4 components

    + +
    +
    + +
    +
    + + + + + + + + +
    float fast_length (float v)
    +
    +
    +

    Compute the approximate length of a vector.

    +

    Supports 1,2,3,4 components

    + +
    +
    + +
    +
    + + + + + + + + +
    float fast_normalize (float v)
    +
    +
    +

    Approximately normalize a vector.

    +

    Supports 1,2,3,4 components

    +
    @@ -953,12 +1210,12 @@ Functions - +
    - + @@ -985,6 +1242,27 @@ Functions + + + +
    +
    +
    _RS_RUNTIME float fract float fract ( float  v,
    + + + + + + + +
    static float4 fract (float v) [inline, static]
    +
    +
    +

    Return fractional part of v

    +

    Supports float, float2, float3, float4.

    + +

    Definition at line 485 of file rs_cl.rsh.

    +
    @@ -1020,6 +1298,63 @@ Functions + + + +
    +
    + + + + + + + + +
    float half_recip (float )
    +
    +
    +

    Return the approximate reciprocal of a value.

    +

    Supports 1,2,3,4 components

    + +
    +
    + +
    +
    + + + + + + + + +
    float half_rsqrt (float v)
    +
    +
    +

    Return the approximate value of (1 / sqrt(value)).

    +

    Supports 1,2,3,4 components

    + +
    +
    + +
    +
    + + + + + + + + +
    float half_sqrt (float )
    +
    +
    +

    Return the approximate square root of a value.

    +

    Supports 1,2,3,4 components

    +
    @@ -1105,12 +1440,12 @@ Functions - +
    - + @@ -1235,12 +1570,12 @@ Functions - +
    _RS_RUNTIME float length float length ( float  v)
    - + @@ -1308,12 +1643,70 @@ Functions - +
    _RS_RUNTIME float log2 float log2 ( float  v)
    - + + + + + + + + + + + + + + + + +
    _RS_RUNTIME float4 mix uchar max (uchar v1,
    uchar v2 
    )
    +
    +
    +

    Return the maximum of two values.

    +

    Supports 1,2,3,4 components of uchar, char, ushort, short, uint, int, float.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uchar min (uchar v1,
    uchar v2 
    )
    +
    +
    +

    Return the minimum of two values.

    +

    Supports 1,2,3,4 components of uchar, char, ushort, short, uint, int, float.

    + +
    +
    + +
    +
    + + + @@ -1367,7 +1760,7 @@ Functions
    float mix ( float  start,
    -

    Return the integral and fractional components of a number Supports 1,2,3,4 components

    +

    Return the integral and fractional components of a number. Supports 1,2,3,4 components

    Parameters:
    @@ -1377,6 +1770,63 @@ Functions
    Returns:
    The floating point portion of the value.
    + + + +
    +
    +
    xSource value
    + + + + + + + +
    float native_exp (float v)
    +
    +
    +

    Fast approximate exp valid for inputs -86.f to 86.f Max 8192 ulps of error

    +

    Supports 1,2,3,4 components

    + +
    +
    + +
    +
    + + + + + + + + +
    float native_exp10 (float v)
    +
    +
    +

    Fast approximate exp10 valid for inputs -37.f to 37.f Max 8192 ulps of error

    +

    Supports 1,2,3,4 components

    + +
    +
    + +
    +
    + + + + + + + + +
    float native_exp2 (float v)
    +
    +
    +

    Fast approximate exp2 valid for inputs -125.f to 125.f Max 8192 ulps of error

    +

    Supports 1,2,3,4 components

    +
    @@ -1408,12 +1858,12 @@ Functions - +
    - + @@ -1456,12 +1906,12 @@ Functions - +
    _RS_RUNTIME float4 normalize float normalize ( float  v)
    - + @@ -1485,12 +1935,12 @@ Functions - +
    _RS_RUNTIME float pown float pown ( float  v,
    - + @@ -1520,12 +1970,12 @@ Functions - +
    _RS_RUNTIME float powr float powr ( float  v,
    - + @@ -1587,12 +2037,12 @@ Functions - +
    _RS_RUNTIME float radians float radians ( float  degrees)
    - + @@ -1635,12 +2085,12 @@ Functions - +
    _RS_RUNTIME float rootn float rootn ( float  v,
    - + @@ -1650,21 +2100,16 @@ Functions

    Return (1 / sqrt(value)).

    -
    Parameters:
    -
    _RS_RUNTIME float rsqrt float rsqrt ( float  v)
    - -
    vThe incoming value in radians Supports 1,2,3,4 components
    - - +

    Supports 1,2,3,4 components

    - +
    - + @@ -1673,6 +2118,7 @@ Functions
    _RS_RUNTIME float sign float sign ( float  v)
    +

    Return the sign of a value.

    if (v < 0) return -1.f; else if (v > 0) return 1.f; else return 0.f;

    Supports 1,2,3,4 components

    @@ -1702,12 +2148,12 @@ Functions
    - +
    - + @@ -1758,12 +2204,12 @@ Functions - +
    _RS_RUNTIME float sincos float sincos ( float  v,
    - + @@ -1796,12 +2242,12 @@ Functions - +
    _RS_RUNTIME float sinpi float sinpi ( float  v)
    - + @@ -1875,12 +2321,12 @@ Functions - +
    _RS_RUNTIME float4 step float step ( float  edge,
    - + diff --git a/docs/html/reference/renderscript/rs__cl_8rsh_source.html b/docs/html/reference/renderscript/rs__cl_8rsh_source.html index 8cc3cb75bf245..ae5f70e9877d5 100644 --- a/docs/html/reference/renderscript/rs__cl_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__cl_8rsh_source.html @@ -3,7 +3,7 @@ -rs_cl.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_cl.rsh Source File @@ -24,11 +24,11 @@
    -
    rs_cl.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_cl.rsh
    Go to the documentation of this file.
    00001 /*
    -00002  * Copyright (C) 2011 The Android Open Source Project
    +00002  * Copyright (C) 2011-2012 The Android Open Source Project
     00003  *
     00004  * Licensed under the Apache License, Version 2.0 (the "License");
     00005  * you may not use this file except in compliance with the License.
    @@ -48,11 +48,11 @@
     00025 
     00026 // Conversions
     00027 #define CVT_FUNC_2(typeout, typein)                             \
    -00028 _RS_RUNTIME typeout##2 __attribute__((overloadable))             \
    +00028 _RS_RUNTIME typeout##2 __attribute__((overloadable))            \
     00029         convert_##typeout##2(typein##2 v);                      \
    -00030 _RS_RUNTIME typeout##3 __attribute__((overloadable))             \
    +00030 _RS_RUNTIME typeout##3 __attribute__((overloadable))            \
     00031         convert_##typeout##3(typein##3 v);                      \
    -00032 _RS_RUNTIME typeout##4 __attribute__((overloadable))             \
    +00032 _RS_RUNTIME typeout##4 __attribute__((overloadable))            \
     00033         convert_##typeout##4(typein##4 v);
     00034 
     00035 
    @@ -64,410 +64,537 @@
     00041                         CVT_FUNC_2(type, int)       \
     00042                         CVT_FUNC_2(type, float)
     00043 
    -00044 CVT_FUNC(char)
    -00045 CVT_FUNC(uchar)
    -00046 CVT_FUNC(short)
    -00047 CVT_FUNC(ushort)
    -00048 CVT_FUNC(int)
    -00049 CVT_FUNC(uint)
    -00050 CVT_FUNC(float)
    +00049 CVT_FUNC(char)
    +00050 
     00051 
    -00052 // Float ops, 6.11.2
    -00053 
    -00054 #define FN_FUNC_FN(fnc)                                         \
    -00055 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v);  \
    -00056 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v);  \
    -00057 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v);
    -00058 
    -00059 #define IN_FUNC_FN(fnc)                                         \
    -00060 _RS_RUNTIME int2 __attribute__((overloadable)) fnc(float2 v);    \
    -00061 _RS_RUNTIME int3 __attribute__((overloadable)) fnc(float3 v);    \
    -00062 _RS_RUNTIME int4 __attribute__((overloadable)) fnc(float4 v);
    -00063 
    -00064 #define FN_FUNC_FN_FN(fnc)                                                  \
    -00065 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v1, float2 v2);  \
    -00066 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v1, float3 v2);  \
    -00067 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v1, float4 v2);
    -00068 
    -00069 #define FN_FUNC_FN_F(fnc)                                                   \
    -00070 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v1, float v2);   \
    -00071 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v1, float v2);   \
    -00072 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v1, float v2);
    -00073 
    -00074 #define FN_FUNC_FN_IN(fnc)                                                  \
    -00075 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v1, int2 v2);    \
    -00076 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v1, int3 v2);    \
    -00077 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v1, int4 v2);    \
    -00078 
    -00079 #define FN_FUNC_FN_I(fnc)                                                   \
    -00080 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v1, int v2);     \
    -00081 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v1, int v2);     \
    -00082 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v1, int v2);
    -00083 
    -00084 #define FN_FUNC_FN_PFN(fnc)                     \
    -00085 _RS_RUNTIME float2 __attribute__((overloadable)) \
    -00086         fnc(float2 v1, float2 *v2);             \
    -00087 _RS_RUNTIME float3 __attribute__((overloadable)) \
    -00088         fnc(float3 v1, float3 *v2);             \
    -00089 _RS_RUNTIME float4 __attribute__((overloadable)) \
    -00090         fnc(float4 v1, float4 *v2);
    -00091 
    -00092 #define FN_FUNC_FN_PIN(fnc)                                                 \
    -00093 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v1, int2 *v2);   \
    -00094 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v1, int3 *v2);   \
    -00095 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v1, int4 *v2);
    +00056 CVT_FUNC(uchar)
    +00057 
    +00063 CVT_FUNC(short)
    +00064 
    +00070 CVT_FUNC(ushort)
    +00071 
    +00077 CVT_FUNC(int)
    +00078 
    +00084 CVT_FUNC(uint)
    +00085 
    +00091 CVT_FUNC(float)
    +00092 
    +00093 // Float ops, 6.11.2
    +00094 
    +00095 #ifdef DOXYGEN
     00096 
    -00097 #define FN_FUNC_FN_FN_FN(fnc)                   \
    -00098 _RS_RUNTIME float2 __attribute__((overloadable)) \
    -00099         fnc(float2 v1, float2 v2, float2 v3);   \
    -00100 _RS_RUNTIME float3 __attribute__((overloadable)) \
    -00101         fnc(float3 v1, float3 v2, float3 v3);   \
    -00102 _RS_RUNTIME float4 __attribute__((overloadable)) \
    -00103         fnc(float4 v1, float4 v2, float4 v3);
    -00104 
    -00105 #define FN_FUNC_FN_FN_PIN(fnc)                  \
    -00106 _RS_RUNTIME float2 __attribute__((overloadable)) \
    -00107         fnc(float2 v1, float2 v2, int2 *v3);    \
    -00108 _RS_RUNTIME float3 __attribute__((overloadable)) \
    -00109         fnc(float3 v1, float3 v2, int3 *v3);    \
    -00110 _RS_RUNTIME float4 __attribute__((overloadable)) \
    -00111         fnc(float4 v1, float4 v2, int4 *v3);
    -00112 
    -00113 
    -00119 extern float __attribute__((overloadable)) acos(float);
    -00120 FN_FUNC_FN(acos)
    -00121 
    -00127 extern float __attribute__((overloadable)) acosh(float);
    -00128 FN_FUNC_FN(acosh)
    -00129 
    -00135 _RS_RUNTIME float __attribute__((overloadable)) acospi(float v);
    -00136 FN_FUNC_FN(acospi)
    -00137 
    -00143 extern float __attribute__((overloadable)) asin(float);
    -00144 FN_FUNC_FN(asin)
    -00145 
    -00151 extern float __attribute__((overloadable)) asinh(float);
    -00152 FN_FUNC_FN(asinh)
    -00153 
    -00154 
    -00160 _RS_RUNTIME float __attribute__((overloadable)) asinpi(float v);
    -00161 FN_FUNC_FN(asinpi)
    -00162 
    -00168 extern float __attribute__((overloadable)) atan(float);
    -00169 FN_FUNC_FN(atan)
    -00170 
    -00180 extern float __attribute__((overloadable)) atan2(float y, float x);
    -00181 FN_FUNC_FN_FN(atan2)
    -00182 
    -00188 extern float __attribute__((overloadable)) atanh(float);
    -00189 FN_FUNC_FN(atanh)
    -00190 
    -00196 _RS_RUNTIME float __attribute__((overloadable)) atanpi(float v);
    -00197 FN_FUNC_FN(atanpi)
    -00198 
    -00208 _RS_RUNTIME float __attribute__((overloadable)) atan2pi(float y, float x);
    -00209 FN_FUNC_FN_FN(atan2pi)
    -00210 
    -00211 
    -00217 extern float __attribute__((overloadable)) cbrt(float);
    -00218 FN_FUNC_FN(cbrt)
    -00219 
    -00225 extern float __attribute__((overloadable)) ceil(float);
    -00226 FN_FUNC_FN(ceil)
    -00227 
    -00237 extern float __attribute__((overloadable)) copysign(float x, float y);
    -00238 FN_FUNC_FN_FN(copysign)
    -00239 
    -00245 extern float __attribute__((overloadable)) cos(float);
    -00246 FN_FUNC_FN(cos)
    -00247 
    -00253 extern float __attribute__((overloadable)) cosh(float);
    -00254 FN_FUNC_FN(cosh)
    -00255 
    -00261 _RS_RUNTIME float __attribute__((overloadable)) cospi(float v);
    -00262 FN_FUNC_FN(cospi)
    -00263 
    -00269 extern float __attribute__((overloadable)) erfc(float);
    -00270 FN_FUNC_FN(erfc)
    -00271 
    -00277 extern float __attribute__((overloadable)) erf(float);
    -00278 FN_FUNC_FN(erf)
    -00279 
    -00285 extern float __attribute__((overloadable)) exp(float);
    -00286 FN_FUNC_FN(exp)
    -00287 
    -00293 extern float __attribute__((overloadable)) exp2(float);
    -00294 FN_FUNC_FN(exp2)
    -00295 
    -00302 extern float __attribute__((overloadable)) pow(float x, float y);
    -00303 FN_FUNC_FN_FN(pow)
    -00304 
    -00310 _RS_RUNTIME float __attribute__((overloadable)) exp10(float v);
    -00311 FN_FUNC_FN(exp10)
    -00312 
    -00318 extern float __attribute__((overloadable)) expm1(float);
    -00319 FN_FUNC_FN(expm1)
    -00320 
    -00326 extern float __attribute__((overloadable)) fabs(float);
    -00327 FN_FUNC_FN(fabs)
    -00328 
    -00335 extern float __attribute__((overloadable)) fdim(float, float);
    -00336 FN_FUNC_FN_FN(fdim)
    -00337 
    -00343 extern float __attribute__((overloadable)) floor(float);
    -00344 FN_FUNC_FN(floor)
    -00345 
    -00351 extern float __attribute__((overloadable)) fma(float a, float b, float c);
    -00352 FN_FUNC_FN_FN_FN(fma)
    -00353 
    -00361 extern float __attribute__((overloadable)) fmax(float x, float y);
    -00362 FN_FUNC_FN_FN(fmax);
    -00363 FN_FUNC_FN_F(fmax);
    -00364 
    -00371 extern float __attribute__((overloadable)) fmin(float x, float y);
    -00372 FN_FUNC_FN_FN(fmin);
    -00373 FN_FUNC_FN_F(fmin);
    -00374 
    -00380 extern float __attribute__((overloadable)) fmod(float x, float y);
    -00381 FN_FUNC_FN_FN(fmod)
    -00382 
    +00097 #define FN_FUNC_FN(fnc)
    +00098 #define F_FUNC_FN(fnc)
    +00099 #define IN_FUNC_FN(fnc)
    +00100 #define FN_FUNC_FN_FN(fnc)
    +00101 #define F_FUNC_FN_FN(fnc)
    +00102 #define FN_FUNC_FN_F(fnc)
    +00103 #define FN_FUNC_FN_IN(fnc)
    +00104 #define FN_FUNC_FN_I(fnc)
    +00105 #define FN_FUNC_FN_PFN(fnc)
    +00106 #define FN_FUNC_FN_PIN(fnc)
    +00107 #define FN_FUNC_FN_FN_FN(fnc)
    +00108 #define FN_FUNC_FN_FN_F(fnc)
    +00109 #define FN_FUNC_FN_F_F(fnc)
    +00110 #define FN_FUNC_FN_FN_PIN(fnc)
    +00111 
    +00112 #else
    +00113 
    +00114 #define FN_FUNC_FN(fnc)                                         \
    +00115 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v); \
    +00116 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v); \
    +00117 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v);
    +00118 
    +00119 #define F_FUNC_FN(fnc)                                          \
    +00120 _RS_RUNTIME float __attribute__((overloadable)) fnc(float2 v);  \
    +00121 _RS_RUNTIME float __attribute__((overloadable)) fnc(float3 v);  \
    +00122 _RS_RUNTIME float __attribute__((overloadable)) fnc(float4 v);
    +00123 
    +00124 #define IN_FUNC_FN(fnc)                                         \
    +00125 _RS_RUNTIME int2 __attribute__((overloadable)) fnc(float2 v);   \
    +00126 _RS_RUNTIME int3 __attribute__((overloadable)) fnc(float3 v);   \
    +00127 _RS_RUNTIME int4 __attribute__((overloadable)) fnc(float4 v);
    +00128 
    +00129 #define FN_FUNC_FN_FN(fnc)                                                  \
    +00130 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v1, float2 v2); \
    +00131 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v1, float3 v2); \
    +00132 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v1, float4 v2);
    +00133 
    +00134 #define F_FUNC_FN_FN(fnc)                                                   \
    +00135 _RS_RUNTIME float __attribute__((overloadable)) fnc(float2 v1, float2 v2);  \
    +00136 _RS_RUNTIME float __attribute__((overloadable)) fnc(float3 v1, float3 v2);  \
    +00137 _RS_RUNTIME float __attribute__((overloadable)) fnc(float4 v1, float4 v2);
    +00138 
    +00139 #define FN_FUNC_FN_F(fnc)                                                   \
    +00140 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v1, float v2);  \
    +00141 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v1, float v2);  \
    +00142 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v1, float v2);
    +00143 
    +00144 #define FN_FUNC_FN_IN(fnc)                                                  \
    +00145 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v1, int2 v2);   \
    +00146 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v1, int3 v2);   \
    +00147 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v1, int4 v2);   \
    +00148 
    +00149 #define FN_FUNC_FN_I(fnc)                                                   \
    +00150 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v1, int v2);    \
    +00151 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v1, int v2);    \
    +00152 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v1, int v2);
    +00153 
    +00154 #define FN_FUNC_FN_PFN(fnc)                         \
    +00155 _RS_RUNTIME float2 __attribute__((overloadable))    \
    +00156         fnc(float2 v1, float2 *v2);                 \
    +00157 _RS_RUNTIME float3 __attribute__((overloadable))    \
    +00158         fnc(float3 v1, float3 *v2);                 \
    +00159 _RS_RUNTIME float4 __attribute__((overloadable))    \
    +00160         fnc(float4 v1, float4 *v2);
    +00161 
    +00162 #define FN_FUNC_FN_PIN(fnc)                                                 \
    +00163 _RS_RUNTIME float2 __attribute__((overloadable)) fnc(float2 v1, int2 *v2);  \
    +00164 _RS_RUNTIME float3 __attribute__((overloadable)) fnc(float3 v1, int3 *v2);  \
    +00165 _RS_RUNTIME float4 __attribute__((overloadable)) fnc(float4 v1, int4 *v2);
    +00166 
    +00167 #define FN_FUNC_FN_FN_FN(fnc)                       \
    +00168 _RS_RUNTIME float2 __attribute__((overloadable))    \
    +00169         fnc(float2 v1, float2 v2, float2 v3);       \
    +00170 _RS_RUNTIME float3 __attribute__((overloadable))    \
    +00171         fnc(float3 v1, float3 v2, float3 v3);       \
    +00172 _RS_RUNTIME float4 __attribute__((overloadable))    \
    +00173         fnc(float4 v1, float4 v2, float4 v3);
    +00174 
    +00175 #define FN_FUNC_FN_FN_F(fnc)                        \
    +00176 _RS_RUNTIME float2 __attribute__((overloadable))    \
    +00177         fnc(float2 v1, float2 v2, float v3);        \
    +00178 _RS_RUNTIME float3 __attribute__((overloadable))    \
    +00179         fnc(float3 v1, float3 v2, float v3);        \
    +00180 _RS_RUNTIME float4 __attribute__((overloadable))    \
    +00181         fnc(float4 v1, float4 v2, float v3);
    +00182 
    +00183 #define FN_FUNC_FN_F_F(fnc)                         \
    +00184 _RS_RUNTIME float2 __attribute__((overloadable))    \
    +00185         fnc(float2 v1, float v2, float v3);         \
    +00186 _RS_RUNTIME float3 __attribute__((overloadable))    \
    +00187         fnc(float3 v1, float v2, float v3);         \
    +00188 _RS_RUNTIME float4 __attribute__((overloadable))    \
    +00189         fnc(float4 v1, float v2, float v3);
    +00190 
    +00191 #define FN_FUNC_FN_FN_PIN(fnc)                      \
    +00192 _RS_RUNTIME float2 __attribute__((overloadable))    \
    +00193         fnc(float2 v1, float2 v2, int2 *v3);        \
    +00194 _RS_RUNTIME float3 __attribute__((overloadable))    \
    +00195         fnc(float3 v1, float3 v2, int3 *v3);        \
    +00196 _RS_RUNTIME float4 __attribute__((overloadable))    \
    +00197         fnc(float4 v1, float4 v2, int4 *v3);
    +00198 
    +00199 #endif  // DOXYGEN
    +00200 
    +00201 
    +00207 extern float __attribute__((overloadable)) acos(float);
    +00208 FN_FUNC_FN(acos)
    +00209 
    +00215 extern float __attribute__((overloadable)) acosh(float);
    +00216 FN_FUNC_FN(acosh)
    +00217 
    +00223 _RS_RUNTIME float __attribute__((overloadable)) acospi(float v);
    +00224 FN_FUNC_FN(acospi)
    +00225 
    +00231 extern float __attribute__((overloadable)) asin(float);
    +00232 FN_FUNC_FN(asin)
    +00233 
    +00239 extern float __attribute__((overloadable)) asinh(float);
    +00240 FN_FUNC_FN(asinh)
    +00241 
    +00242 
    +00248 _RS_RUNTIME float __attribute__((overloadable)) asinpi(float v);
    +00249 FN_FUNC_FN(asinpi)
    +00250 
    +00256 extern float __attribute__((overloadable)) atan(float);
    +00257 FN_FUNC_FN(atan)
    +00258 
    +00268 extern float __attribute__((overloadable)) atan2(float y, float x);
    +00269 FN_FUNC_FN_FN(atan2)
    +00270 
    +00276 extern float __attribute__((overloadable)) atanh(float);
    +00277 FN_FUNC_FN(atanh)
    +00278 
    +00284 _RS_RUNTIME float __attribute__((overloadable)) atanpi(float v);
    +00285 FN_FUNC_FN(atanpi)
    +00286 
    +00296 _RS_RUNTIME float __attribute__((overloadable)) atan2pi(float y, float x);
    +00297 FN_FUNC_FN_FN(atan2pi)
    +00298 
    +00299 
    +00305 extern float __attribute__((overloadable)) cbrt(float);
    +00306 FN_FUNC_FN(cbrt)
    +00307 
    +00313 extern float __attribute__((overloadable)) ceil(float);
    +00314 FN_FUNC_FN(ceil)
    +00315 
    +00325 extern float __attribute__((overloadable)) copysign(float x, float y);
    +00326 FN_FUNC_FN_FN(copysign)
    +00327 
    +00333 extern float __attribute__((overloadable)) cos(float);
    +00334 FN_FUNC_FN(cos)
    +00335 
    +00341 extern float __attribute__((overloadable)) cosh(float);
    +00342 FN_FUNC_FN(cosh)
    +00343 
    +00349 _RS_RUNTIME float __attribute__((overloadable)) cospi(float v);
    +00350 FN_FUNC_FN(cospi)
    +00351 
    +00357 extern float __attribute__((overloadable)) erfc(float);
    +00358 FN_FUNC_FN(erfc)
    +00359 
    +00365 extern float __attribute__((overloadable)) erf(float);
    +00366 FN_FUNC_FN(erf)
    +00367 
    +00373 extern float __attribute__((overloadable)) exp(float);
    +00374 FN_FUNC_FN(exp)
    +00375 
    +00381 extern float __attribute__((overloadable)) exp2(float);
    +00382 FN_FUNC_FN(exp2)
     00383 
    -00390 _RS_RUNTIME float __attribute__((overloadable)) fract(float v, float *iptr);
    -00391 FN_FUNC_FN_PFN(fract)
    +00390 extern float __attribute__((overloadable)) pow(float x, float y);
    +00391 FN_FUNC_FN_FN(pow)
     00392 
    -00399 extern float __attribute__((overloadable)) frexp(float v, int *iptr);
    -00400 FN_FUNC_FN_PIN(frexp)
    -00401 
    -00407 extern float __attribute__((overloadable)) hypot(float x, float y);
    -00408 FN_FUNC_FN_FN(hypot)
    -00409 
    -00415 extern int __attribute__((overloadable)) ilogb(float);
    -00416 IN_FUNC_FN(ilogb)
    -00417 
    -00424 extern float __attribute__((overloadable)) ldexp(float x, int y);
    -00425 FN_FUNC_FN_IN(ldexp)
    -00426 FN_FUNC_FN_I(ldexp)
    -00427 
    -00433 extern float __attribute__((overloadable)) lgamma(float);
    -00434 FN_FUNC_FN(lgamma)
    -00435 
    -00442 extern float __attribute__((overloadable)) lgamma(float x, int* y);
    -00443 FN_FUNC_FN_PIN(lgamma)
    -00444 
    -00450 extern float __attribute__((overloadable)) log(float);
    -00451 FN_FUNC_FN(log)
    +00398 _RS_RUNTIME float __attribute__((overloadable)) exp10(float v);
    +00399 FN_FUNC_FN(exp10)
    +00400 
    +00406 extern float __attribute__((overloadable)) expm1(float);
    +00407 FN_FUNC_FN(expm1)
    +00408 
    +00414 extern float __attribute__((overloadable)) fabs(float);
    +00415 FN_FUNC_FN(fabs)
    +00416 
    +00423 extern float __attribute__((overloadable)) fdim(float, float);
    +00424 FN_FUNC_FN_FN(fdim)
    +00425 
    +00431 extern float __attribute__((overloadable)) floor(float);
    +00432 FN_FUNC_FN(floor)
    +00433 
    +00439 extern float __attribute__((overloadable)) fma(float a, float b, float c);
    +00440 FN_FUNC_FN_FN_FN(fma)
    +00441 
    +00449 extern float __attribute__((overloadable)) fmax(float x, float y);
    +00450 FN_FUNC_FN_FN(fmax);
    +00451 FN_FUNC_FN_F(fmax);
     00452 
    -00458 extern float __attribute__((overloadable)) log10(float);
    -00459 FN_FUNC_FN(log10)
    -00460 
    -00466 _RS_RUNTIME float __attribute__((overloadable)) log2(float v);
    -00467 FN_FUNC_FN(log2)
    -00468 
    -00474 extern float __attribute__((overloadable)) log1p(float v);
    -00475 FN_FUNC_FN(log1p)
    -00476 
    -00482 extern float __attribute__((overloadable)) logb(float);
    -00483 FN_FUNC_FN(logb)
    -00484 
    -00490 extern float __attribute__((overloadable)) mad(float a, float b, float c);
    -00491 FN_FUNC_FN_FN_FN(mad)
    -00492 
    -00501 extern float __attribute__((overloadable)) modf(float x, float *iret);
    -00502 FN_FUNC_FN_PFN(modf);
    -00503 
    -00504 extern float __attribute__((overloadable)) nan(uint);
    -00505 
    -00511 extern float __attribute__((overloadable)) nextafter(float x, float y);
    -00512 FN_FUNC_FN_FN(nextafter)
    +00459 extern float __attribute__((overloadable)) fmin(float x, float y);
    +00460 FN_FUNC_FN_FN(fmin);
    +00461 FN_FUNC_FN_F(fmin);
    +00462 
    +00468 extern float __attribute__((overloadable)) fmod(float x, float y);
    +00469 FN_FUNC_FN_FN(fmod)
    +00470 
    +00477 _RS_RUNTIME float __attribute__((overloadable)) fract(float v, float *iptr);
    +00478 FN_FUNC_FN_PFN(fract)
    +00479 
    +00485 static inline float __attribute__((overloadable)) fract(float v) {
    +00486     float unused;
    +00487     return fract(v, &unused);
    +00488 }
    +00489 
    +00490 static inline float2 __attribute__((overloadable)) fract(float2 v) {
    +00491     float2 unused;
    +00492     return fract(v, &unused);
    +00493 }
    +00494 
    +00495 static inline float3 __attribute__((overloadable)) fract(float3 v) {
    +00496     float3 unused;
    +00497     return fract(v, &unused);
    +00498 }
    +00499 
    +00500 static inline float4 __attribute__((overloadable)) fract(float4 v) {
    +00501     float4 unused;
    +00502     return fract(v, &unused);
    +00503 }
    +00504 
    +00511 extern float __attribute__((overloadable)) frexp(float v, int *iptr);
    +00512 FN_FUNC_FN_PIN(frexp)
     00513 
    -00519 _RS_RUNTIME float __attribute__((overloadable)) pown(float v, int p);
    -00520 FN_FUNC_FN_IN(pown)
    +00519 extern float __attribute__((overloadable)) hypot(float x, float y);
    +00520 FN_FUNC_FN_FN(hypot)
     00521 
    -00528 _RS_RUNTIME float __attribute__((overloadable)) powr(float v, float p);
    -00529 FN_FUNC_FN_FN(powr)
    -00530 
    -00536 extern float __attribute__((overloadable)) remainder(float x, float y);
    -00537 FN_FUNC_FN_FN(remainder)
    -00538 
    -00539 // document once we know the precision of bionic
    -00540 extern float __attribute__((overloadable)) remquo(float, float, int *);
    -00541 FN_FUNC_FN_FN_PIN(remquo)
    -00542 
    -00548 extern float __attribute__((overloadable)) rint(float);
    -00549 FN_FUNC_FN(rint)
    -00550 
    -00556 _RS_RUNTIME float __attribute__((overloadable)) rootn(float v, int n);
    -00557 FN_FUNC_FN_IN(rootn)
    -00558 
    -00564 extern float __attribute__((overloadable)) round(float);
    -00565 FN_FUNC_FN(round)
    -00566 
    -00572 extern float __attribute__((overloadable)) sqrt(float);
    -00573 FN_FUNC_FN(sqrt)
    -00574 
    -00581 _RS_RUNTIME float __attribute__((overloadable)) rsqrt(float v);
    -00582 FN_FUNC_FN(rsqrt)
    -00583 
    -00590 extern float __attribute__((overloadable)) sin(float v);
    -00591 FN_FUNC_FN(sin)
    -00592 
    -00602 _RS_RUNTIME float __attribute__((overloadable)) sincos(float v, float *cosptr);
    -00603 FN_FUNC_FN_PFN(sincos);
    +00527 extern int __attribute__((overloadable)) ilogb(float);
    +00528 IN_FUNC_FN(ilogb)
    +00529 
    +00536 extern float __attribute__((overloadable)) ldexp(float x, int y);
    +00537 FN_FUNC_FN_IN(ldexp)
    +00538 FN_FUNC_FN_I(ldexp)
    +00539 
    +00545 extern float __attribute__((overloadable)) lgamma(float);
    +00546 FN_FUNC_FN(lgamma)
    +00547 
    +00554 extern float __attribute__((overloadable)) lgamma(float x, int* y);
    +00555 FN_FUNC_FN_PIN(lgamma)
    +00556 
    +00562 extern float __attribute__((overloadable)) log(float);
    +00563 FN_FUNC_FN(log)
    +00564 
    +00570 extern float __attribute__((overloadable)) log10(float);
    +00571 FN_FUNC_FN(log10)
    +00572 
    +00578 _RS_RUNTIME float __attribute__((overloadable)) log2(float v);
    +00579 FN_FUNC_FN(log2)
    +00580 
    +00586 extern float __attribute__((overloadable)) log1p(float v);
    +00587 FN_FUNC_FN(log1p)
    +00588 
    +00594 extern float __attribute__((overloadable)) logb(float);
    +00595 FN_FUNC_FN(logb)
    +00596 
    +00602 extern float __attribute__((overloadable)) mad(float a, float b, float c);
    +00603 FN_FUNC_FN_FN_FN(mad)
     00604 
    -00610 extern float __attribute__((overloadable)) sinh(float);
    -00611 FN_FUNC_FN(sinh)
    -00612 
    -00618 _RS_RUNTIME float __attribute__((overloadable)) sinpi(float v);
    -00619 FN_FUNC_FN(sinpi)
    -00620 
    -00627 extern float __attribute__((overloadable)) tan(float v);
    -00628 FN_FUNC_FN(tan)
    -00629 
    -00636 extern float __attribute__((overloadable)) tanh(float);
    -00637 FN_FUNC_FN(tanh)
    -00638 
    -00644 _RS_RUNTIME float __attribute__((overloadable)) tanpi(float v);
    -00645 FN_FUNC_FN(tanpi)
    -00646 
    -00652 extern float __attribute__((overloadable)) tgamma(float);
    -00653 FN_FUNC_FN(tgamma)
    +00613 extern float __attribute__((overloadable)) modf(float x, float *iret);
    +00614 FN_FUNC_FN_PFN(modf);
    +00615 
    +00616 extern float __attribute__((overloadable)) nan(uint);
    +00617 
    +00623 extern float __attribute__((overloadable)) nextafter(float x, float y);
    +00624 FN_FUNC_FN_FN(nextafter)
    +00625 
    +00631 _RS_RUNTIME float __attribute__((overloadable)) pown(float v, int p);
    +00632 FN_FUNC_FN_IN(pown)
    +00633 
    +00640 _RS_RUNTIME float __attribute__((overloadable)) powr(float v, float p);
    +00641 FN_FUNC_FN_FN(powr)
    +00642 
    +00648 extern float __attribute__((overloadable)) remainder(float x, float y);
    +00649 FN_FUNC_FN_FN(remainder)
    +00650 
    +00651 // document once we know the precision of bionic
    +00652 extern float __attribute__((overloadable)) remquo(float, float, int *);
    +00653 FN_FUNC_FN_FN_PIN(remquo)
     00654 
    -00660 extern float __attribute__((overloadable)) trunc(float);
    -00661 FN_FUNC_FN(trunc)
    +00660 extern float __attribute__((overloadable)) rint(float);
    +00661 FN_FUNC_FN(rint)
     00662 
    -00663 
    -00664 #define XN_FUNC_YN(typeout, fnc, typein)                                \
    -00665 extern typeout __attribute__((overloadable)) fnc(typein);               \
    -00666 _RS_RUNTIME typeout##2 __attribute__((overloadable)) fnc(typein##2 v);   \
    -00667 _RS_RUNTIME typeout##3 __attribute__((overloadable)) fnc(typein##3 v);   \
    -00668 _RS_RUNTIME typeout##4 __attribute__((overloadable)) fnc(typein##4 v);
    -00669 
    -00670 #define UIN_FUNC_IN(fnc)          \
    -00671 XN_FUNC_YN(uchar, fnc, char)      \
    -00672 XN_FUNC_YN(ushort, fnc, short)    \
    -00673 XN_FUNC_YN(uint, fnc, int)
    -00674 
    -00675 #define IN_FUNC_IN(fnc)           \
    -00676 XN_FUNC_YN(uchar, fnc, uchar)     \
    -00677 XN_FUNC_YN(char, fnc, char)       \
    -00678 XN_FUNC_YN(ushort, fnc, ushort)   \
    -00679 XN_FUNC_YN(short, fnc, short)     \
    -00680 XN_FUNC_YN(uint, fnc, uint)       \
    -00681 XN_FUNC_YN(int, fnc, int)
    -00682 
    -00683 
    -00684 #define XN_FUNC_XN_XN_BODY(type, fnc, body)         \
    -00685 _RS_RUNTIME type __attribute__((overloadable))       \
    -00686         fnc(type v1, type v2);                      \
    -00687 _RS_RUNTIME type##2 __attribute__((overloadable))    \
    -00688         fnc(type##2 v1, type##2 v2);                \
    -00689 _RS_RUNTIME type##3 __attribute__((overloadable))    \
    -00690         fnc(type##3 v1, type##3 v2);                \
    -00691 _RS_RUNTIME type##4 __attribute__((overloadable))    \
    -00692         fnc(type##4 v1, type##4 v2);
    -00693 
    -00694 #define IN_FUNC_IN_IN_BODY(fnc, body) \
    -00695 XN_FUNC_XN_XN_BODY(uchar, fnc, body)  \
    -00696 XN_FUNC_XN_XN_BODY(char, fnc, body)   \
    -00697 XN_FUNC_XN_XN_BODY(ushort, fnc, body) \
    -00698 XN_FUNC_XN_XN_BODY(short, fnc, body)  \
    -00699 XN_FUNC_XN_XN_BODY(uint, fnc, body)   \
    -00700 XN_FUNC_XN_XN_BODY(int, fnc, body)    \
    -00701 XN_FUNC_XN_XN_BODY(float, fnc, body)
    -00702 
    -00703 UIN_FUNC_IN(abs)
    -00704 IN_FUNC_IN(clz)
    -00705 
    -00711 IN_FUNC_IN_IN_BODY(min, (v1 < v2 ? v1 : v2))
    -00712 FN_FUNC_FN_F(min)
    -00713 
    -00719 IN_FUNC_IN_IN_BODY(max, (v1 > v2 ? v1 : v2))
    -00720 FN_FUNC_FN_F(max)
    -00721 
    -00729 _RS_RUNTIME float __attribute__((overloadable)) clamp(float amount, float low, float high);
    -00730 _RS_RUNTIME float2 __attribute__((overloadable)) clamp(float2 amount, float2 low, float2 high);
    -00731 _RS_RUNTIME float3 __attribute__((overloadable)) clamp(float3 amount, float3 low, float3 high);
    -00732 _RS_RUNTIME float4 __attribute__((overloadable)) clamp(float4 amount, float4 low, float4 high);
    -00733 _RS_RUNTIME float2 __attribute__((overloadable)) clamp(float2 amount, float low, float high);
    -00734 _RS_RUNTIME float3 __attribute__((overloadable)) clamp(float3 amount, float low, float high);
    -00735 _RS_RUNTIME float4 __attribute__((overloadable)) clamp(float4 amount, float low, float high);
    -00736 
    -00742 _RS_RUNTIME float __attribute__((overloadable)) degrees(float radians);
    -00743 FN_FUNC_FN(degrees)
    -00744 
    -00750 _RS_RUNTIME float __attribute__((overloadable)) mix(float start, float stop, float amount);
    -00751 _RS_RUNTIME float2 __attribute__((overloadable)) mix(float2 start, float2 stop, float2 amount);
    -00752 _RS_RUNTIME float3 __attribute__((overloadable)) mix(float3 start, float3 stop, float3 amount);
    -00753 _RS_RUNTIME float4 __attribute__((overloadable)) mix(float4 start, float4 stop, float4 amount);
    -00754 _RS_RUNTIME float2 __attribute__((overloadable)) mix(float2 start, float2 stop, float amount);
    -00755 _RS_RUNTIME float3 __attribute__((overloadable)) mix(float3 start, float3 stop, float amount);
    -00756 _RS_RUNTIME float4 __attribute__((overloadable)) mix(float4 start, float4 stop, float amount);
    +00668 _RS_RUNTIME float __attribute__((overloadable)) rootn(float v, int n);
    +00669 FN_FUNC_FN_IN(rootn)
    +00670 
    +00676 extern float __attribute__((overloadable)) round(float);
    +00677 FN_FUNC_FN(round)
    +00678 
    +00684 extern float __attribute__((overloadable)) sqrt(float);
    +00685 FN_FUNC_FN(sqrt)
    +00686 
    +00692 _RS_RUNTIME float __attribute__((overloadable)) rsqrt(float v);
    +00693 FN_FUNC_FN(rsqrt)
    +00694 
    +00701 extern float __attribute__((overloadable)) sin(float v);
    +00702 FN_FUNC_FN(sin)
    +00703 
    +00713 _RS_RUNTIME float __attribute__((overloadable)) sincos(float v, float *cosptr);
    +00714 FN_FUNC_FN_PFN(sincos);
    +00715 
    +00721 extern float __attribute__((overloadable)) sinh(float);
    +00722 FN_FUNC_FN(sinh)
    +00723 
    +00729 _RS_RUNTIME float __attribute__((overloadable)) sinpi(float v);
    +00730 FN_FUNC_FN(sinpi)
    +00731 
    +00738 extern float __attribute__((overloadable)) tan(float v);
    +00739 FN_FUNC_FN(tan)
    +00740 
    +00747 extern float __attribute__((overloadable)) tanh(float);
    +00748 FN_FUNC_FN(tanh)
    +00749 
    +00755 _RS_RUNTIME float __attribute__((overloadable)) tanpi(float v);
    +00756 FN_FUNC_FN(tanpi)
     00757 
    -00763 _RS_RUNTIME float __attribute__((overloadable)) radians(float degrees);
    -00764 FN_FUNC_FN(radians)
    +00763 extern float __attribute__((overloadable)) tgamma(float);
    +00764 FN_FUNC_FN(tgamma)
     00765 
    -00774 _RS_RUNTIME float __attribute__((overloadable)) step(float edge, float v);
    -00775 _RS_RUNTIME float2 __attribute__((overloadable)) step(float2 edge, float2 v);
    -00776 _RS_RUNTIME float3 __attribute__((overloadable)) step(float3 edge, float3 v);
    -00777 _RS_RUNTIME float4 __attribute__((overloadable)) step(float4 edge, float4 v);
    -00778 _RS_RUNTIME float2 __attribute__((overloadable)) step(float2 edge, float v);
    -00779 _RS_RUNTIME float3 __attribute__((overloadable)) step(float3 edge, float v);
    -00780 _RS_RUNTIME float4 __attribute__((overloadable)) step(float4 edge, float v);
    -00781 
    -00782 // not implemented
    -00783 extern float __attribute__((overloadable)) smoothstep(float, float, float);
    -00784 extern float2 __attribute__((overloadable)) smoothstep(float2, float2, float2);
    -00785 extern float3 __attribute__((overloadable)) smoothstep(float3, float3, float3);
    -00786 extern float4 __attribute__((overloadable)) smoothstep(float4, float4, float4);
    -00787 extern float2 __attribute__((overloadable)) smoothstep(float, float, float2);
    -00788 extern float3 __attribute__((overloadable)) smoothstep(float, float, float3);
    -00789 extern float4 __attribute__((overloadable)) smoothstep(float, float, float4);
    -00790 
    -00798 _RS_RUNTIME float __attribute__((overloadable)) sign(float v);
    -00799 FN_FUNC_FN(sign)
    -00800 
    -00806 _RS_RUNTIME float3 __attribute__((overloadable)) cross(float3 lhs, float3 rhs);
    -00807 _RS_RUNTIME float4 __attribute__((overloadable)) cross(float4 lhs, float4 rhs);
    -00808 
    -00814 _RS_RUNTIME float __attribute__((overloadable)) dot(float lhs, float rhs);
    -00815 _RS_RUNTIME float __attribute__((overloadable)) dot(float2 lhs, float2 rhs);
    -00816 _RS_RUNTIME float __attribute__((overloadable)) dot(float3 lhs, float3 rhs);
    -00817 _RS_RUNTIME float __attribute__((overloadable)) dot(float4 lhs, float4 rhs);
    -00818 
    -00824 _RS_RUNTIME float __attribute__((overloadable)) length(float v);
    -00825 _RS_RUNTIME float __attribute__((overloadable)) length(float2 v);
    -00826 _RS_RUNTIME float __attribute__((overloadable)) length(float3 v);
    -00827 _RS_RUNTIME float __attribute__((overloadable)) length(float4 v);
    -00828 
    -00834 _RS_RUNTIME float __attribute__((overloadable)) distance(float lhs, float rhs);
    -00835 _RS_RUNTIME float __attribute__((overloadable)) distance(float2 lhs, float2 rhs);
    -00836 _RS_RUNTIME float __attribute__((overloadable)) distance(float3 lhs, float3 rhs);
    -00837 _RS_RUNTIME float __attribute__((overloadable)) distance(float4 lhs, float4 rhs);
    -00838 
    -00844 _RS_RUNTIME float __attribute__((overloadable)) normalize(float v);
    -00845 _RS_RUNTIME float2 __attribute__((overloadable)) normalize(float2 v);
    -00846 _RS_RUNTIME float3 __attribute__((overloadable)) normalize(float3 v);
    -00847 _RS_RUNTIME float4 __attribute__((overloadable)) normalize(float4 v);
    -00848 
    -00849 #undef CVT_FUNC
    -00850 #undef CVT_FUNC_2
    -00851 #undef FN_FUNC_FN
    -00852 #undef IN_FUNC_FN
    -00853 #undef FN_FUNC_FN_FN
    -00854 #undef FN_FUNC_FN_F
    -00855 #undef FN_FUNC_FN_IN
    -00856 #undef FN_FUNC_FN_I
    -00857 #undef FN_FUNC_FN_PFN
    -00858 #undef FN_FUNC_FN_PIN
    -00859 #undef FN_FUNC_FN_FN_FN
    -00860 #undef FN_FUNC_FN_FN_PIN
    -00861 #undef XN_FUNC_YN
    -00862 #undef UIN_FUNC_IN
    -00863 #undef IN_FUNC_IN
    -00864 #undef XN_FUNC_XN_XN_BODY
    -00865 #undef IN_FUNC_IN_IN_BODY
    -00866 
    -00867 #endif
    +00771 extern float __attribute__((overloadable)) trunc(float);
    +00772 FN_FUNC_FN(trunc)
    +00773 
    +00774 #ifdef DOXYGEN
    +00775 
    +00776 #define XN_FUNC_YN(typeout, fnc, typein)                                \
    +00777 extern typeout __attribute__((overloadable)) fnc(typein v);
    +00778 
    +00779 #define XN_FUNC_XN_XN_BODY(type, fnc, body)         \
    +00780 _RS_RUNTIME type __attribute__((overloadable))      \
    +00781         fnc(type v1, type v2);
    +00782 
    +00783 #else
    +00784 
    +00785 #define XN_FUNC_YN(typeout, fnc, typein)                                \
    +00786 extern typeout __attribute__((overloadable)) fnc(typein v);             \
    +00787 _RS_RUNTIME typeout##2 __attribute__((overloadable)) fnc(typein##2 v);  \
    +00788 _RS_RUNTIME typeout##3 __attribute__((overloadable)) fnc(typein##3 v);  \
    +00789 _RS_RUNTIME typeout##4 __attribute__((overloadable)) fnc(typein##4 v);
    +00790 
    +00791 #define XN_FUNC_XN_XN_BODY(type, fnc, body)         \
    +00792 _RS_RUNTIME type __attribute__((overloadable))      \
    +00793         fnc(type v1, type v2);                      \
    +00794 _RS_RUNTIME type##2 __attribute__((overloadable))   \
    +00795         fnc(type##2 v1, type##2 v2);                \
    +00796 _RS_RUNTIME type##3 __attribute__((overloadable))   \
    +00797         fnc(type##3 v1, type##3 v2);                \
    +00798 _RS_RUNTIME type##4 __attribute__((overloadable))   \
    +00799         fnc(type##4 v1, type##4 v2);
    +00800 
    +00801 #endif  // DOXYGEN
    +00802 
    +00803 #define UIN_FUNC_IN(fnc)          \
    +00804 XN_FUNC_YN(uchar, fnc, char)      \
    +00805 XN_FUNC_YN(ushort, fnc, short)    \
    +00806 XN_FUNC_YN(uint, fnc, int)
    +00807 
    +00808 #define IN_FUNC_IN(fnc)           \
    +00809 XN_FUNC_YN(uchar, fnc, uchar)     \
    +00810 XN_FUNC_YN(char, fnc, char)       \
    +00811 XN_FUNC_YN(ushort, fnc, ushort)   \
    +00812 XN_FUNC_YN(short, fnc, short)     \
    +00813 XN_FUNC_YN(uint, fnc, uint)       \
    +00814 XN_FUNC_YN(int, fnc, int)
    +00815 
    +00816 #define IN_FUNC_IN_IN_BODY(fnc, body)   \
    +00817 XN_FUNC_XN_XN_BODY(uchar, fnc, body)    \
    +00818 XN_FUNC_XN_XN_BODY(char, fnc, body)     \
    +00819 XN_FUNC_XN_XN_BODY(ushort, fnc, body)   \
    +00820 XN_FUNC_XN_XN_BODY(short, fnc, body)    \
    +00821 XN_FUNC_XN_XN_BODY(uint, fnc, body)     \
    +00822 XN_FUNC_XN_XN_BODY(int, fnc, body)      \
    +00823 XN_FUNC_XN_XN_BODY(float, fnc, body)
    +00824 
    +00831 UIN_FUNC_IN(abs)
    +00832 
    +00833 
    +00838 IN_FUNC_IN(clz)
    +00839 
    +00845 IN_FUNC_IN_IN_BODY(min, (v1 < v2 ? v1 : v2))
    +00846 FN_FUNC_FN_F(min)
    +00847 
    +00853 IN_FUNC_IN_IN_BODY(max, (v1 > v2 ? v1 : v2))
    +00854 FN_FUNC_FN_F(max)
    +00855 
    +00863 _RS_RUNTIME float __attribute__((overloadable)) clamp(float amount, float low, float high);
    +00864 FN_FUNC_FN_FN_FN(clamp)
    +00865 FN_FUNC_FN_F_F(clamp)
    +00866 
    +00872 _RS_RUNTIME float __attribute__((overloadable)) degrees(float radians);
    +00873 FN_FUNC_FN(degrees)
    +00874 
    +00880 _RS_RUNTIME float __attribute__((overloadable)) mix(float start, float stop, float amount);
    +00881 FN_FUNC_FN_FN_FN(mix)
    +00882 FN_FUNC_FN_FN_F(mix)
    +00883 
    +00889 _RS_RUNTIME float __attribute__((overloadable)) radians(float degrees);
    +00890 FN_FUNC_FN(radians)
    +00891 
    +00900 _RS_RUNTIME float __attribute__((overloadable)) step(float edge, float v);
    +00901 FN_FUNC_FN_FN(step)
    +00902 FN_FUNC_FN_F(step)
    +00903 
    +00904 // not implemented
    +00905 extern float __attribute__((overloadable)) smoothstep(float, float, float);
    +00906 extern float2 __attribute__((overloadable)) smoothstep(float2, float2, float2);
    +00907 extern float3 __attribute__((overloadable)) smoothstep(float3, float3, float3);
    +00908 extern float4 __attribute__((overloadable)) smoothstep(float4, float4, float4);
    +00909 extern float2 __attribute__((overloadable)) smoothstep(float, float, float2);
    +00910 extern float3 __attribute__((overloadable)) smoothstep(float, float, float3);
    +00911 extern float4 __attribute__((overloadable)) smoothstep(float, float, float4);
    +00912 
    +00922 _RS_RUNTIME float __attribute__((overloadable)) sign(float v);
    +00923 FN_FUNC_FN(sign)
    +00924 
    +00930 _RS_RUNTIME float3 __attribute__((overloadable)) cross(float3 lhs, float3 rhs);
    +00931 _RS_RUNTIME float4 __attribute__((overloadable)) cross(float4 lhs, float4 rhs);
    +00932 
    +00938 _RS_RUNTIME float __attribute__((overloadable)) dot(float lhs, float rhs);
    +00939 F_FUNC_FN_FN(dot)
    +00940 
    +00946 _RS_RUNTIME float __attribute__((overloadable)) length(float v);
    +00947 F_FUNC_FN(length)
    +00948 
    +00954 _RS_RUNTIME float __attribute__((overloadable)) distance(float lhs, float rhs);
    +00955 F_FUNC_FN_FN(distance)
    +00956 
    +00962 _RS_RUNTIME float __attribute__((overloadable)) normalize(float v);
    +00963 FN_FUNC_FN(normalize)
    +00964 
    +00965 
    +00966 // New approx API functions
    +00967 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
    +00968 
    +00974 _RS_RUNTIME float __attribute__((overloadable)) half_recip(float);
    +00975 FN_FUNC_FN(half_recip)
    +00976 
    +00982 _RS_RUNTIME float __attribute__((overloadable)) half_sqrt(float);
    +00983 FN_FUNC_FN(half_sqrt)
    +00984 
    +00990 _RS_RUNTIME float __attribute__((overloadable)) half_rsqrt(float v);
    +00991 FN_FUNC_FN(half_rsqrt)
    +00992 
    +00998 _RS_RUNTIME float __attribute__((overloadable)) fast_length(float v);
    +00999 F_FUNC_FN(fast_length)
    +01000 
    +01006 _RS_RUNTIME float __attribute__((overloadable)) fast_distance(float lhs, float rhs);
    +01007 F_FUNC_FN_FN(fast_distance)
    +01008 
    +01014 _RS_RUNTIME float __attribute__((overloadable)) fast_normalize(float v);
    +01015 F_FUNC_FN(fast_normalize)
    +01016 
    +01017 #endif  // (defined(RS_VERSION) && (RS_VERSION >= 17))
    +01018 
    +01019 
    +01020 
    +01021 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
    +01022 // Fast native math functions.
    +01023 
    +01024 
    +01032 _RS_RUNTIME float __attribute__((overloadable)) native_exp2(float v);
    +01033 FN_FUNC_FN(native_exp2)
    +01034 
    +01042 _RS_RUNTIME float __attribute__((overloadable)) native_exp(float v);
    +01043 FN_FUNC_FN(native_exp)
    +01044 
    +01052 _RS_RUNTIME float __attribute__((overloadable)) native_exp10(float v);
    +01053 FN_FUNC_FN(native_exp10)
    +01054 
    +01055 
    +01056 _RS_RUNTIME float __attribute__((overloadable)) native_log2(float v);
    +01057 FN_FUNC_FN(native_log2)
    +01058 
    +01059 _RS_RUNTIME float __attribute__((overloadable)) native_log(float v);
    +01060 FN_FUNC_FN(native_log)
    +01061 
    +01062 _RS_RUNTIME float __attribute__((overloadable)) native_log10(float v);
    +01063 FN_FUNC_FN(native_log10)
    +01064 
    +01065 
    +01066 _RS_RUNTIME float __attribute__((overloadable)) native_powr(float v, float y);
    +01067 FN_FUNC_FN_FN(native_powr)
    +01068 
    +01069 
    +01070 #endif  // (defined(RS_VERSION) && (RS_VERSION >= 18))
    +01071 
    +01072 
    +01073 #undef CVT_FUNC
    +01074 #undef CVT_FUNC_2
    +01075 #undef FN_FUNC_FN
    +01076 #undef F_FUNC_FN
    +01077 #undef IN_FUNC_FN
    +01078 #undef FN_FUNC_FN_FN
    +01079 #undef F_FUNC_FN_FN
    +01080 #undef FN_FUNC_FN_F
    +01081 #undef FN_FUNC_FN_IN
    +01082 #undef FN_FUNC_FN_I
    +01083 #undef FN_FUNC_FN_PFN
    +01084 #undef FN_FUNC_FN_PIN
    +01085 #undef FN_FUNC_FN_FN_FN
    +01086 #undef FN_FUNC_FN_FN_F
    +01087 #undef FN_FUNC_FN_F_F
    +01088 #undef FN_FUNC_FN_FN_PIN
    +01089 #undef XN_FUNC_YN
    +01090 #undef UIN_FUNC_IN
    +01091 #undef IN_FUNC_IN
    +01092 #undef XN_FUNC_XN_XN_BODY
    +01093 #undef IN_FUNC_IN_IN_BODY
    +01094 
    +01095 #endif
     
    diff --git a/docs/html/reference/renderscript/rs__core_8rsh.html b/docs/html/reference/renderscript/rs__core_8rsh.html index 62125983bb7ed..132488d942297 100644 --- a/docs/html/reference/renderscript/rs__core_8rsh.html +++ b/docs/html/reference/renderscript/rs__core_8rsh.html @@ -3,7 +3,7 @@ -rs_core.rsh File Reference +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_core.rsh File Reference @@ -30,7 +30,7 @@ Enumerations | Functions
    -
    rs_core.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_core.rsh File Reference
    #include "rs_types.rsh"
    @@ -61,11 +61,13 @@ Functions
    - - + + +
    _RS_RUNTIME float tanpi float tanpi ( float  v)
    bool rsSendToClient (int cmdID, const void *data, uint len)
    void rsSendToClientBlocking (int cmdID)
    void rsSendToClientBlocking (int cmdID, const void *data, uint len)
    void rsForEach (rs_script script, rs_allocation input, rs_allocation output, const void *usrData, const rs_script_call_t *sc)
    void rsForEach (rs_script script, rs_allocation input, rs_allocation output, const void *usrData)
    void rsForEach (rs_script script, rs_allocation input, rs_allocation output, const void *usrData, size_t usrDataLen, const rs_script_call_t *)
    void rsForEach (rs_script script, rs_allocation input, rs_allocation output, const void *usrData, size_t usrDataLen)
    void rsForEach (rs_script script, rs_allocation input, rs_allocation output)

    Detailed Description

    -
    +

    todo-jsams

    +

    Definition in file rs_core.rsh.


    Typedef Documentation

    @@ -96,12 +98,12 @@ Functions

    Launch order hint for rsForEach calls. This provides a hint to the system to determine in which order the root function of the target is called with each cell of the allocation.

    This is a hint and implementations may not obey the order.

    -

    Definition at line 92 of file rs_core.rsh.

    +

    Definition at line 96 of file rs_core.rsh.


    Function Documentation

    - +
    @@ -129,11 +131,17 @@ Functions + + + + + + - + @@ -150,6 +158,12 @@ Functions + + + + + +
    const void *  usrData,
    size_t usrDataLen,
    const rs_script_call_t * sc  
    inputThe allocation to source data from
    outputthe allocation to write date into
    usrDataThe user definied params to pass to the root script. May be NULL.
    scExtra control infomation used to select a sub-region of the allocation to be processed or suggest a walking strategy. May be NULL. Make a script to script call to launch work. One of the input or output is required to be a valid object. The input and output must be of the same dimensions. API 14+
    scriptThe target script to call
    inputThe allocation to source data from
    outputthe allocation to write date into
    usrDataThe user definied params to pass to the root script. May be NULL.
    usrDataLenThe size of the userData structure. This will be used to perform a shallow copy of the data if necessary.
    scExtra control infomation used to select a sub-region of the allocation to be processed or suggest a walking strategy. May be NULL.
    @@ -157,7 +171,7 @@ Functions
    - +
    @@ -183,7 +197,47 @@ Functions - + + + + + + + + + + + + + +
    const void * usrData usrData,
    size_t usrDataLen 
    )
    +
    +
    +

    This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + diff --git a/docs/html/reference/renderscript/rs__core_8rsh_source.html b/docs/html/reference/renderscript/rs__core_8rsh_source.html index 888a8b4cffcc3..ddc870df5de43 100644 --- a/docs/html/reference/renderscript/rs__core_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__core_8rsh_source.html @@ -3,7 +3,7 @@ -rs_core.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_core.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_core.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_core.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -43,81 +43,81 @@
     00014  * limitations under the License.
     00015  */
     00016 
    -00042 #ifndef __RS_CORE_RSH__
    -00043 #define __RS_CORE_RSH__
    -00044 
    -00045 #define _RS_RUNTIME extern
    -00046 
    -00047 #include "rs_types.rsh"
    -00048 #include "rs_allocation.rsh"
    -00049 #include "rs_atomic.rsh"
    -00050 #include "rs_cl.rsh"
    -00051 #include "rs_debug.rsh"
    -00052 #include "rs_element.rsh"
    -00053 #include "rs_math.rsh"
    -00054 #include "rs_matrix.rsh"
    -00055 #include "rs_object.rsh"
    -00056 #include "rs_quaternion.rsh"
    -00057 #include "rs_sampler.rsh"
    -00058 #include "rs_time.rsh"
    -00059 
    -00065 extern bool __attribute__((overloadable))
    -00066     rsSendToClient(int cmdID);
    -00070 extern bool __attribute__((overloadable))
    -00071     rsSendToClient(int cmdID, const void *data, uint len);
    -00076 extern void __attribute__((overloadable))
    -00077     rsSendToClientBlocking(int cmdID);
    -00081 extern void __attribute__((overloadable))
    -00082     rsSendToClientBlocking(int cmdID, const void *data, uint len);
    -00083 
    -00084 
    -00092 enum rs_for_each_strategy {
    -00093     RS_FOR_EACH_STRATEGY_SERIAL,
    -00094     RS_FOR_EACH_STRATEGY_DONT_CARE,
    -00095     RS_FOR_EACH_STRATEGY_DST_LINEAR,
    -00096     RS_FOR_EACH_STRATEGY_TILE_SMALL,
    -00097     RS_FOR_EACH_STRATEGY_TILE_MEDIUM,
    -00098     RS_FOR_EACH_STRATEGY_TILE_LARGE
    -00099 };
    -00100 
    -00101 
    -00106 typedef struct rs_script_call {
    -00107     enum rs_for_each_strategy strategy;
    -00108     uint32_t xStart;
    -00109     uint32_t xEnd;
    -00110     uint32_t yStart;
    -00111     uint32_t yEnd;
    -00112     uint32_t zStart;
    -00113     uint32_t zEnd;
    -00114     uint32_t arrayStart;
    -00115     uint32_t arrayEnd;
    -00116 } rs_script_call_t;
    -00117 
    -00134 #if !defined(RS_VERSION) || (RS_VERSION < 14)
    -00135 extern void __attribute__((overloadable))
    -00136     rsForEach(rs_script script, rs_allocation input,
    -00137               rs_allocation output, const void * usrData,
    -00138               const rs_script_call_t *sc);
    -00142 extern void __attribute__((overloadable))
    -00143     rsForEach(rs_script script, rs_allocation input,
    -00144               rs_allocation output, const void * usrData);
    -00145 #else
    -00146 
    -00165 extern void __attribute__((overloadable))
    -00166     rsForEach(rs_script script, rs_allocation input, rs_allocation output,
    -00167               const void * usrData, size_t usrDataLen, const rs_script_call_t *);
    -00171 extern void __attribute__((overloadable))
    -00172     rsForEach(rs_script script, rs_allocation input, rs_allocation output,
    -00173               const void * usrData, size_t usrDataLen);
    -00177 extern void __attribute__((overloadable))
    -00178     rsForEach(rs_script script, rs_allocation input, rs_allocation output);
    -00179 #endif
    -00180 
    -00181 
    -00182 
    -00183 #undef _RS_RUNTIME
    +00046 #ifndef __RS_CORE_RSH__
    +00047 #define __RS_CORE_RSH__
    +00048 
    +00049 #define _RS_RUNTIME extern
    +00050 
    +00051 #include "rs_types.rsh"
    +00052 #include "rs_allocation.rsh"
    +00053 #include "rs_atomic.rsh"
    +00054 #include "rs_cl.rsh"
    +00055 #include "rs_debug.rsh"
    +00056 #include "rs_element.rsh"
    +00057 #include "rs_math.rsh"
    +00058 #include "rs_matrix.rsh"
    +00059 #include "rs_object.rsh"
    +00060 #include "rs_quaternion.rsh"
    +00061 #include "rs_sampler.rsh"
    +00062 #include "rs_time.rsh"
    +00063 
    +00069 extern bool __attribute__((overloadable))
    +00070     rsSendToClient(int cmdID);
    +00074 extern bool __attribute__((overloadable))
    +00075     rsSendToClient(int cmdID, const void *data, uint len);
    +00080 extern void __attribute__((overloadable))
    +00081     rsSendToClientBlocking(int cmdID);
    +00085 extern void __attribute__((overloadable))
    +00086     rsSendToClientBlocking(int cmdID, const void *data, uint len);
    +00087 
    +00088 
    +00096 enum rs_for_each_strategy {
    +00097     RS_FOR_EACH_STRATEGY_SERIAL = 0,
    +00098     RS_FOR_EACH_STRATEGY_DONT_CARE = 1,
    +00099     RS_FOR_EACH_STRATEGY_DST_LINEAR = 2,
    +00100     RS_FOR_EACH_STRATEGY_TILE_SMALL= 3,
    +00101     RS_FOR_EACH_STRATEGY_TILE_MEDIUM = 4,
    +00102     RS_FOR_EACH_STRATEGY_TILE_LARGE = 5
    +00103 };
    +00104 
    +00105 
    +00110 typedef struct rs_script_call {
    +00111     enum rs_for_each_strategy strategy;
    +00112     uint32_t xStart;
    +00113     uint32_t xEnd;
    +00114     uint32_t yStart;
    +00115     uint32_t yEnd;
    +00116     uint32_t zStart;
    +00117     uint32_t zEnd;
    +00118     uint32_t arrayStart;
    +00119     uint32_t arrayEnd;
    +00120 } rs_script_call_t;
    +00121 
    +00138 #if !defined(RS_VERSION) || (RS_VERSION < 14)
    +00139 extern void __attribute__((overloadable))
    +00140     rsForEach(rs_script script, rs_allocation input,
    +00141               rs_allocation output, const void * usrData,
    +00142               const rs_script_call_t *sc);
    +00146 extern void __attribute__((overloadable))
    +00147     rsForEach(rs_script script, rs_allocation input,
    +00148               rs_allocation output, const void * usrData);
    +00149 #else
    +00150 
    +00169 extern void __attribute__((overloadable))
    +00170     rsForEach(rs_script script, rs_allocation input, rs_allocation output,
    +00171               const void * usrData, size_t usrDataLen, const rs_script_call_t *);
    +00175 extern void __attribute__((overloadable))
    +00176     rsForEach(rs_script script, rs_allocation input, rs_allocation output,
    +00177               const void * usrData, size_t usrDataLen);
    +00181 extern void __attribute__((overloadable))
    +00182     rsForEach(rs_script script, rs_allocation input, rs_allocation output);
    +00183 #endif
     00184 
    -00185 #endif
    +00185 
    +00186 
    +00187 #undef _RS_RUNTIME
    +00188 
    +00189 #endif
     
    diff --git a/docs/html/reference/renderscript/rs__debug_8rsh.html b/docs/html/reference/renderscript/rs__debug_8rsh.html index 7259cf2acd3da..cb7eb65cc6d29 100644 --- a/docs/html/reference/renderscript/rs__debug_8rsh.html +++ b/docs/html/reference/renderscript/rs__debug_8rsh.html @@ -3,7 +3,7 @@ -rs_debug.rsh File Reference +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_debug.rsh File Reference @@ -27,13 +27,13 @@
    -
    rs_debug.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_debug.rsh File Reference
    void rsForEach (rs_script script,
    rs_allocation input,
    rs_allocation output 
    - + @@ -46,6 +46,13 @@ Functions + + + + + + +

    Functions

    void rsDebug (const char *, float)
    void rsDebug (const char *, float)
    void rsDebug (const char *, float, float)
    void rsDebug (const char *, float, float, float)
    void rsDebug (const char *, float, float, float, float)
    void rsDebug (const char *, long)
    void rsDebug (const char *, unsigned long)
    void rsDebug (const char *, const void *)
    void rsDebug (const char *, char)
    void rsDebug (const char *, unsigned char)
    void rsDebug (const char *, uchar2)
    void rsDebug (const char *, short)
    void rsDebug (const char *, ushort2)
    void rsDebug (const char *, long2)
    void rsDebug (const char *, ulong2)

    Detailed Description

    Utility debugging routines.

    @@ -53,12 +60,12 @@ Functions

    Definition in file rs_debug.rsh.


    Function Documentation

    - +
    - + @@ -451,6 +458,202 @@ Functions

    Debug function. Prints a string and value to the log.

    +
    + + +
    +
    +
    _RS_RUNTIME void rsDebug void rsDebug ( const char *  ,
    + + + + + + + + + + + + + + + + + +
    void rsDebug (const char * ,
    char  
    )
    +
    +
    +

    Debug function. Prints a string and value to the log.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rsDebug (const char * ,
    unsigned char 
    )
    +
    +
    +

    Debug function. Prints a string and value to the log.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rsDebug (const char * ,
    uchar2  
    )
    +
    +
    +

    Debug function. Prints a string and value to the log.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rsDebug (const char * ,
    short  
    )
    +
    +
    +

    Debug function. Prints a string and value to the log.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rsDebug (const char * ,
    ushort2  
    )
    +
    +
    +

    Debug function. Prints a string and value to the log.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rsDebug (const char * ,
    long2  
    )
    +
    +
    +

    Debug function. Prints a string and value to the log.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rsDebug (const char * ,
    ulong2  
    )
    +
    +
    +

    Debug function. Prints a string and value to the log.

    +
    diff --git a/docs/html/reference/renderscript/rs__debug_8rsh_source.html b/docs/html/reference/renderscript/rs__debug_8rsh_source.html index b1589aa19997e..cd5895d637ce8 100644 --- a/docs/html/reference/renderscript/rs__debug_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__debug_8rsh_source.html @@ -3,7 +3,7 @@ -rs_debug.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_debug.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_debug.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_debug.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -47,46 +47,107 @@
     00027 #define __RS_DEBUG_RSH__
     00028 
     00029 
    -00030 
    -00034 extern void __attribute__((overloadable))
    -00035     rsDebug(const char *, float);
    -00039 extern void __attribute__((overloadable))
    -00040     rsDebug(const char *, float, float);
    -00044 extern void __attribute__((overloadable))
    -00045     rsDebug(const char *, float, float, float);
    -00049 extern void __attribute__((overloadable))
    -00050     rsDebug(const char *, float, float, float, float);
    -00054 extern void __attribute__((overloadable))
    -00055     rsDebug(const char *, double);
    -00059 extern void __attribute__((overloadable))
    -00060     rsDebug(const char *, const rs_matrix4x4 *);
    -00064 extern void __attribute__((overloadable))
    -00065     rsDebug(const char *, const rs_matrix3x3 *);
    -00069 extern void __attribute__((overloadable))
    -00070     rsDebug(const char *, const rs_matrix2x2 *);
    -00074 extern void __attribute__((overloadable))
    -00075     rsDebug(const char *, int);
    -00079 extern void __attribute__((overloadable))
    -00080     rsDebug(const char *, uint);
    -00084 extern void __attribute__((overloadable))
    -00085     rsDebug(const char *, long);
    -00089 extern void __attribute__((overloadable))
    -00090     rsDebug(const char *, unsigned long);
    -00094 extern void __attribute__((overloadable))
    -00095     rsDebug(const char *, long long);
    -00099 extern void __attribute__((overloadable))
    -00100     rsDebug(const char *, unsigned long long);
    -00104 extern void __attribute__((overloadable))
    -00105     rsDebug(const char *, const void *);
    -00106 #define RS_DEBUG(a) rsDebug(#a, a)
    -00107 #define RS_DEBUG_MARKER rsDebug(__FILE__, __LINE__)
    -00108 
    -00109 
    -00113 _RS_RUNTIME void __attribute__((overloadable)) rsDebug(const char *s, float2 v);
    -00117 _RS_RUNTIME void __attribute__((overloadable)) rsDebug(const char *s, float3 v);
    -00121 _RS_RUNTIME void __attribute__((overloadable)) rsDebug(const char *s, float4 v);
    -00122 
    -00123 #endif
    +00033 extern void __attribute__((overloadable))
    +00034     rsDebug(const char *, float);
    +00038 extern void __attribute__((overloadable))
    +00039     rsDebug(const char *, float, float);
    +00043 extern void __attribute__((overloadable))
    +00044     rsDebug(const char *, float, float, float);
    +00048 extern void __attribute__((overloadable))
    +00049     rsDebug(const char *, float, float, float, float);
    +00053 extern void __attribute__((overloadable))
    +00054     rsDebug(const char *, float2);
    +00058 extern void __attribute__((overloadable))
    +00059     rsDebug(const char *, float3);
    +00063 extern void __attribute__((overloadable))
    +00064     rsDebug(const char *, float4);
    +00068 extern void __attribute__((overloadable))
    +00069     rsDebug(const char *, double);
    +00073 extern void __attribute__((overloadable))
    +00074     rsDebug(const char *, const rs_matrix4x4 *);
    +00078 extern void __attribute__((overloadable))
    +00079     rsDebug(const char *, const rs_matrix3x3 *);
    +00083 extern void __attribute__((overloadable))
    +00084     rsDebug(const char *, const rs_matrix2x2 *);
    +00088 extern void __attribute__((overloadable))
    +00089     rsDebug(const char *, int);
    +00093 extern void __attribute__((overloadable))
    +00094     rsDebug(const char *, uint);
    +00098 extern void __attribute__((overloadable))
    +00099     rsDebug(const char *, long);
    +00103 extern void __attribute__((overloadable))
    +00104     rsDebug(const char *, unsigned long);
    +00108 extern void __attribute__((overloadable))
    +00109     rsDebug(const char *, long long);
    +00113 extern void __attribute__((overloadable))
    +00114     rsDebug(const char *, unsigned long long);
    +00118 extern void __attribute__((overloadable))
    +00119     rsDebug(const char *, const void *);
    +00120 
    +00121 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
    +00122 
    +00125 extern void __attribute__((overloadable))
    +00126     rsDebug(const char *, char);
    +00130 extern void __attribute__((overloadable))
    +00131     rsDebug(const char *, char2);
    +00135 extern void __attribute__((overloadable))
    +00136     rsDebug(const char *, char3);
    +00140 extern void __attribute__((overloadable))
    +00141     rsDebug(const char *, char4);
    +00145 extern void __attribute__((overloadable))
    +00146     rsDebug(const char *, unsigned char);
    +00150 extern void __attribute__((overloadable))
    +00151     rsDebug(const char *, uchar2);
    +00155 extern void __attribute__((overloadable))
    +00156     rsDebug(const char *, uchar3);
    +00160 extern void __attribute__((overloadable))
    +00161     rsDebug(const char *, uchar4);
    +00165 extern void __attribute__((overloadable))
    +00166     rsDebug(const char *, short);
    +00170 extern void __attribute__((overloadable))
    +00171     rsDebug(const char *, short2);
    +00175 extern void __attribute__((overloadable))
    +00176     rsDebug(const char *, short3);
    +00180 extern void __attribute__((overloadable))
    +00181     rsDebug(const char *, short4);
    +00185 extern void __attribute__((overloadable))
    +00186     rsDebug(const char *, unsigned short);
    +00190 extern void __attribute__((overloadable))
    +00191     rsDebug(const char *, ushort2);
    +00195 extern void __attribute__((overloadable))
    +00196     rsDebug(const char *, ushort3);
    +00200 extern void __attribute__((overloadable))
    +00201     rsDebug(const char *, ushort4);
    +00205 extern void __attribute__((overloadable))
    +00206     rsDebug(const char *, int2);
    +00210 extern void __attribute__((overloadable))
    +00211     rsDebug(const char *, int3);
    +00215 extern void __attribute__((overloadable))
    +00216     rsDebug(const char *, int4);
    +00220 extern void __attribute__((overloadable))
    +00221     rsDebug(const char *, uint2);
    +00225 extern void __attribute__((overloadable))
    +00226     rsDebug(const char *, uint3);
    +00230 extern void __attribute__((overloadable))
    +00231     rsDebug(const char *, uint4);
    +00235 extern void __attribute__((overloadable))
    +00236     rsDebug(const char *, long2);
    +00240 extern void __attribute__((overloadable))
    +00241     rsDebug(const char *, long3);
    +00245 extern void __attribute__((overloadable))
    +00246     rsDebug(const char *, long4);
    +00250 extern void __attribute__((overloadable))
    +00251     rsDebug(const char *, ulong2);
    +00255 extern void __attribute__((overloadable))
    +00256     rsDebug(const char *, ulong3);
    +00260 extern void __attribute__((overloadable))
    +00261     rsDebug(const char *, ulong4);
    +00262 #endif  // (defined(RS_VERSION) && (RS_VERSION >= 17))
    +00263 
    +00264 #define RS_DEBUG(a) rsDebug(#a, a)
    +00265 #define RS_DEBUG_MARKER rsDebug(__FILE__, __LINE__)
    +00266 
    +00267 #endif
     
    diff --git a/docs/html/reference/renderscript/rs__element_8rsh.html b/docs/html/reference/renderscript/rs__element_8rsh.html index 5f23ae96fe4c0..201f71cea87b0 100644 --- a/docs/html/reference/renderscript/rs__element_8rsh.html +++ b/docs/html/reference/renderscript/rs__element_8rsh.html @@ -3,7 +3,7 @@ -rs_element.rsh File Reference +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_element.rsh File Reference @@ -24,15 +24,351 @@
    +
    -
    rs_element.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_element.rsh File Reference
    +

    Function Documentation

    + +
    +
    + + + + + + + + +
    uint32_t rsElementGetBytesSize (rs_element e)
    +
    +
    +

    Returns the size of element in bytes

    +
    Parameters:
    + + +
    eelement to get data from
    +
    +
    +
    Returns:
    total size of the element in bytes
    + +
    +
    + +
    +
    + + + + + + + + +
    rs_data_kind rsElementGetDataKind (rs_element e)
    +
    +
    +

    Returns the element's data kind

    +
    Parameters:
    + + +
    eelement to get data from
    +
    +
    +
    Returns:
    element's data size
    + +
    +
    + +
    +
    + + + + + + + + +
    rs_data_type rsElementGetDataType (rs_element e)
    +
    +
    +

    Returns the element's data type

    +
    Parameters:
    + + +
    eelement to get data from
    +
    +
    +
    Returns:
    element's data type
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    rs_element rsElementGetSubElement (rs_element ,
    uint32_t index 
    )
    +
    +
    +

    For complex elements, this function will return the sub-element at index

    +
    Parameters:
    + + + +
    eelement to get data from
    indexindex of the sub-element to return
    +
    +
    +
    Returns:
    sub-element in this element at given index
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint32_t rsElementGetSubElementArraySize (rs_element e,
    uint32_t index 
    )
    +
    +
    +

    For complex elements, some sub-elements could be statically sized arrays. This function will return the array size for sub-element at index

    +
    Parameters:
    + + + +
    eelement to get data from
    indexindex of the sub-element
    +
    +
    +
    Returns:
    array size of sub-element in this element at given index
    + +
    +
    + +
    +
    + + + + + + + + +
    uint32_t rsElementGetSubElementCount (rs_element e)
    +
    +
    +

    Elements could be simple, such as an int or a float, or a structure with multiple sub elements, such as a collection of floats, float2, float4. This function returns zero for simple elements or the number of sub-elements otherwise.

    +
    Parameters:
    + + +
    eelement to get data from
    +
    +
    +
    Returns:
    number of sub-elements in this element
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    uint32_t rsElementGetSubElementName (rs_element e,
    uint32_t index,
    char * name,
    uint32_t nameLength 
    )
    +
    +
    +

    For complex elements, this function will return the sub-element name at index

    +
    Parameters:
    + + + + + +
    eelement to get data from
    indexindex of the sub-element
    namearray to store the name into
    nameLengthlength of the provided name array
    +
    +
    +
    Returns:
    number of characters actually written, excluding the null terminator
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint32_t rsElementGetSubElementNameLength (rs_element e,
    uint32_t index 
    )
    +
    +
    +

    For complex elements, this function will return the length of sub-element name at index

    +
    Parameters:
    + + + +
    eelement to get data from
    indexindex of the sub-element to return
    +
    +
    +
    Returns:
    length of the sub-element name including the null terminator (size of buffer needed to write the name)
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    uint32_t rsElementGetSubElementOffsetBytes (rs_element e,
    uint32_t index 
    )
    +
    +
    +

    This function specifies the location of a sub-element within the element

    +
    Parameters:
    + + + +
    eelement to get data from
    indexindex of the sub-element
    +
    +
    +
    Returns:
    offset in bytes of sub-element in this element at given index
    + +
    +
    + +
    +
    + + + + + + + + +
    uint32_t rsElementGetVectorSize (rs_element e)
    +
    +
    +

    Returns the element's vector size

    +
    Parameters:
    + + +
    eelement to get data from
    +
    +
    +
    Returns:
    length of the element vector (for float2, float3, etc.)
    + +
    +
    + diff --git a/docs/html/reference/renderscript/rs__element_8rsh_source.html b/docs/html/reference/renderscript/rs__element_8rsh_source.html index 47ebb4d0a16eb..1d2601e266636 100644 --- a/docs/html/reference/renderscript/rs__element_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__element_8rsh_source.html @@ -3,7 +3,7 @@ -rs_element.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_element.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_element.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_element.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -50,34 +50,34 @@
     00027 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
     00028 
     00038 extern uint32_t __attribute__((overloadable))
    -00039     rsElementGetSubElementCount(rs_element e);
    +00039     rsElementGetSubElementCount(rs_element e);
     00040 
    -00049 extern rs_element __attribute__((overloadable))
    -00050     rsElementGetSubElement(rs_element, uint32_t index);
    +00049 extern rs_element __attribute__((overloadable))
    +00050     rsElementGetSubElement(rs_element, uint32_t index);
     00051 
     00061 extern uint32_t __attribute__((overloadable))
    -00062     rsElementGetSubElementNameLength(rs_element e, uint32_t index);
    +00062     rsElementGetSubElementNameLength(rs_element e, uint32_t index);
     00063 
     00075 extern uint32_t __attribute__((overloadable))
    -00076     rsElementGetSubElementName(rs_element e, uint32_t index, char *name, uint32_t nameLength);
    +00076     rsElementGetSubElementName(rs_element e, uint32_t index, char *name, uint32_t nameLength);
     00077 
     00088 extern uint32_t __attribute__((overloadable))
    -00089     rsElementGetSubElementArraySize(rs_element e, uint32_t index);
    +00089     rsElementGetSubElementArraySize(rs_element e, uint32_t index);
     00090 
     00100 extern uint32_t __attribute__((overloadable))
    -00101     rsElementGetSubElementOffsetBytes(rs_element e, uint32_t index);
    +00101     rsElementGetSubElementOffsetBytes(rs_element e, uint32_t index);
     00102 
     00109 extern uint32_t __attribute__((overloadable))
    -00110     rsElementGetBytesSize(rs_element e);
    +00110     rsElementGetBytesSize(rs_element e);
     00111 
    -00118 extern rs_data_type __attribute__((overloadable))
    -00119     rsElementGetDataType(rs_element e);
    +00118 extern rs_data_type __attribute__((overloadable))
    +00119     rsElementGetDataType(rs_element e);
     00120 
    -00127 extern rs_data_kind __attribute__((overloadable))
    -00128     rsElementGetDataKind(rs_element e);
    +00127 extern rs_data_kind __attribute__((overloadable))
    +00128     rsElementGetDataKind(rs_element e);
     00129 
     00137 extern uint32_t __attribute__((overloadable))
    -00138     rsElementGetVectorSize(rs_element e);
    +00138     rsElementGetVectorSize(rs_element e);
     00139 
     00140 #endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
     00141 
    diff --git a/docs/html/reference/renderscript/rs__math_8rsh.html b/docs/html/reference/renderscript/rs__math_8rsh.html
    index 96d5e8f0bc7da..7379f54258796 100644
    --- a/docs/html/reference/renderscript/rs__math_8rsh.html
    +++ b/docs/html/reference/renderscript/rs__math_8rsh.html
    @@ -3,7 +3,7 @@
     
     
     
    -rs_math.rsh File Reference
    +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_math.rsh File Reference
     
     
     
    @@ -27,7 +27,7 @@
       
       
    -
    rs_math.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_math.rsh File Reference
    @@ -38,30 +38,30 @@ Functions - - - - - - + + + + + + - - - - + + + +
    float rsRand (float max_value)
    float rsRand (float min_value, float max_value)
    float rsFrac (float)
    _RS_RUNTIME uint rsClamp (uint amount, uint low, uint high)
    _RS_RUNTIME int rsClamp (int amount, int low, int high)
    _RS_RUNTIME ushort rsClamp (ushort amount, ushort low, ushort high)
    _RS_RUNTIME short rsClamp (short amount, short low, short high)
    _RS_RUNTIME uchar rsClamp (uchar amount, uchar low, uchar high)
    _RS_RUNTIME char rsClamp (char amount, char low, char high)
    uint rsClamp (uint amount, uint low, uint high)
    int rsClamp (int amount, int low, int high)
    ushort rsClamp (ushort amount, ushort low, ushort high)
    short rsClamp (short amount, short low, short high)
    uchar rsClamp (uchar amount, uchar low, uchar high)
    char rsClamp (char amount, char low, char high)
    static __inline__ void rsExtractFrustumPlanes (const rs_matrix4x4 *viewProj, float4 *left, float4 *right, float4 *top, float4 *bottom, float4 *near, float4 *far)
    static __inline__ bool rsIsSphereInFrustum (float4 *sphere, float4 *left, float4 *right, float4 *top, float4 *bottom, float4 *near, float4 *far)
    _RS_RUNTIME uchar4 rsPackColorTo8888 (float r, float g, float b)
    _RS_RUNTIME uchar4 rsPackColorTo8888 (float r, float g, float b, float a)
    _RS_RUNTIME uchar4 rsPackColorTo8888 (float3 color)
    _RS_RUNTIME float4 rsUnpackColor8888 (uchar4 c)
    uchar4 rsPackColorTo8888 (float r, float g, float b)
    uchar4 rsPackColorTo8888 (float r, float g, float b, float a)
    uchar4 rsPackColorTo8888 (float3 color)
    float4 rsUnpackColor8888 (uchar4 c)

    Detailed Description

    todo-jsams

    Definition in file rs_math.rsh.


    Function Documentation

    - +
    - + @@ -98,12 +98,12 @@ Functions - +
    _RS_RUNTIME uint rsClamp uint rsClamp ( uint  amount,
    - + @@ -132,12 +132,12 @@ Functions - +
    _RS_RUNTIME int rsClamp int rsClamp ( int  amount,
    - + @@ -166,12 +166,12 @@ Functions - +
    _RS_RUNTIME ushort rsClamp ushort rsClamp ( ushort  amount,
    - + @@ -200,12 +200,12 @@ Functions - +
    _RS_RUNTIME short rsClamp short rsClamp ( short  amount,
    - + @@ -234,12 +234,12 @@ Functions - +
    _RS_RUNTIME uchar rsClamp uchar rsClamp ( uchar  amount,
    - + @@ -430,12 +430,12 @@ Functions - +
    _RS_RUNTIME char rsClamp char rsClamp ( char  amount,
    - + @@ -473,12 +473,12 @@ Functions - +
    _RS_RUNTIME uchar4 rsPackColorTo8888 uchar4 rsPackColorTo8888 ( float  r,
    - + @@ -523,12 +523,12 @@ Functions - +
    _RS_RUNTIME uchar4 rsPackColorTo8888 uchar4 rsPackColorTo8888 ( float  r,
    - + @@ -648,12 +648,12 @@ Functions - +
    _RS_RUNTIME uchar4 rsPackColorTo8888 uchar4 rsPackColorTo8888 ( float3  color)
    - + diff --git a/docs/html/reference/renderscript/rs__math_8rsh_source.html b/docs/html/reference/renderscript/rs__math_8rsh_source.html index eb4ddacad7693..513ce48dddd6b 100644 --- a/docs/html/reference/renderscript/rs__math_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__math_8rsh_source.html @@ -3,7 +3,7 @@ -rs_math.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_math.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_math.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_math.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -62,13 +62,13 @@
     00055 
     00057 // int ops
     00059 
    -00067 _RS_RUNTIME uint __attribute__((overloadable, always_inline)) rsClamp(uint amount, uint low, uint high);
    +00067 _RS_RUNTIME uint __attribute__((overloadable, always_inline)) rsClamp(uint amount, uint low, uint high);
     00068 
    -00072 _RS_RUNTIME int __attribute__((overloadable, always_inline)) rsClamp(int amount, int low, int high);
    -00076 _RS_RUNTIME ushort __attribute__((overloadable, always_inline)) rsClamp(ushort amount, ushort low, ushort high);
    -00080 _RS_RUNTIME short __attribute__((overloadable, always_inline)) rsClamp(short amount, short low, short high);
    -00084 _RS_RUNTIME uchar __attribute__((overloadable, always_inline)) rsClamp(uchar amount, uchar low, uchar high);
    -00088 _RS_RUNTIME char __attribute__((overloadable, always_inline)) rsClamp(char amount, char low, char high);
    +00072 _RS_RUNTIME int __attribute__((overloadable, always_inline)) rsClamp(int amount, int low, int high);
    +00076 _RS_RUNTIME ushort __attribute__((overloadable, always_inline)) rsClamp(ushort amount, ushort low, ushort high);
    +00080 _RS_RUNTIME short __attribute__((overloadable, always_inline)) rsClamp(short amount, short low, short high);
    +00084 _RS_RUNTIME uchar __attribute__((overloadable, always_inline)) rsClamp(uchar amount, uchar low, uchar high);
    +00088 _RS_RUNTIME char __attribute__((overloadable, always_inline)) rsClamp(char amount, char low, char high);
     00089 
     00090 
     00101 __inline__ static void __attribute__((overloadable, always_inline))
    @@ -107,17 +107,17 @@
     00134     far->z = viewProj->m[11] - viewProj->m[10];
     00135     far->w = viewProj->m[15] - viewProj->m[14];
     00136 
    -00137     float len = length(left->xyz);
    +00137     float len = length(left->xyz);
     00138     *left /= len;
    -00139     len = length(right->xyz);
    +00139     len = length(right->xyz);
     00140     *right /= len;
    -00141     len = length(top->xyz);
    +00141     len = length(top->xyz);
     00142     *top /= len;
    -00143     len = length(bottom->xyz);
    +00143     len = length(bottom->xyz);
     00144     *bottom /= len;
    -00145     len = length(near->xyz);
    +00145     len = length(near->xyz);
     00146     *near /= len;
    -00147     len = length(far->xyz);
    +00147     len = length(far->xyz);
     00148     *far /= len;
     00149 }
     00150 
    @@ -127,27 +127,27 @@
     00164                       float4 *top, float4 *bottom,
     00165                       float4 *near, float4 *far) {
     00166 
    -00167     float distToCenter = dot(left->xyz, sphere->xyz) + left->w;
    +00167     float distToCenter = dot(left->xyz, sphere->xyz) + left->w;
     00168     if (distToCenter < -sphere->w) {
     00169         return false;
     00170     }
    -00171     distToCenter = dot(right->xyz, sphere->xyz) + right->w;
    +00171     distToCenter = dot(right->xyz, sphere->xyz) + right->w;
     00172     if (distToCenter < -sphere->w) {
     00173         return false;
     00174     }
    -00175     distToCenter = dot(top->xyz, sphere->xyz) + top->w;
    +00175     distToCenter = dot(top->xyz, sphere->xyz) + top->w;
     00176     if (distToCenter < -sphere->w) {
     00177         return false;
     00178     }
    -00179     distToCenter = dot(bottom->xyz, sphere->xyz) + bottom->w;
    +00179     distToCenter = dot(bottom->xyz, sphere->xyz) + bottom->w;
     00180     if (distToCenter < -sphere->w) {
     00181         return false;
     00182     }
    -00183     distToCenter = dot(near->xyz, sphere->xyz) + near->w;
    +00183     distToCenter = dot(near->xyz, sphere->xyz) + near->w;
     00184     if (distToCenter < -sphere->w) {
     00185         return false;
     00186     }
    -00187     distToCenter = dot(far->xyz, sphere->xyz) + far->w;
    +00187     distToCenter = dot(far->xyz, sphere->xyz) + far->w;
     00188     if (distToCenter < -sphere->w) {
     00189         return false;
     00190     }
    @@ -155,18 +155,21 @@
     00192 }
     00193 
     00194 
    -00205 _RS_RUNTIME uchar4 __attribute__((overloadable)) rsPackColorTo8888(float r, float g, float b);
    +00205 _RS_RUNTIME uchar4 __attribute__((overloadable)) rsPackColorTo8888(float r, float g, float b);
     00206 
    -00217 _RS_RUNTIME uchar4 __attribute__((overloadable)) rsPackColorTo8888(float r, float g, float b, float a);
    +00217 _RS_RUNTIME uchar4 __attribute__((overloadable)) rsPackColorTo8888(float r, float g, float b, float a);
     00218 
    -00227 _RS_RUNTIME uchar4 __attribute__((overloadable)) rsPackColorTo8888(float3 color);
    +00227 _RS_RUNTIME uchar4 __attribute__((overloadable)) rsPackColorTo8888(float3 color);
     00228 
    -00236 _RS_RUNTIME uchar4 __attribute__((overloadable)) rsPackColorTo8888(float4 color);
    +00236 _RS_RUNTIME uchar4 __attribute__((overloadable)) rsPackColorTo8888(float4 color);
     00237 
    -00245 _RS_RUNTIME float4 rsUnpackColor8888(uchar4 c);
    +00245 _RS_RUNTIME float4 rsUnpackColor8888(uchar4 c);
     00246 
    -00247 
    -00248 #endif
    +00247 _RS_RUNTIME uchar4 __attribute__((overloadable)) rsYuvToRGBA_uchar4(uchar y, uchar u, uchar v);
    +00248 _RS_RUNTIME float4 __attribute__((overloadable)) rsYuvToRGBA_float4(uchar y, uchar u, uchar v);
    +00249 
    +00250 
    +00251 #endif
     
    diff --git a/docs/html/reference/renderscript/rs__matrix_8rsh.html b/docs/html/reference/renderscript/rs__matrix_8rsh.html index 583a92a849443..69cc37380e65d 100644 --- a/docs/html/reference/renderscript/rs__matrix_8rsh.html +++ b/docs/html/reference/renderscript/rs__matrix_8rsh.html @@ -3,7 +3,7 @@ -rs_matrix.rsh File Reference +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_matrix.rsh File Reference @@ -27,18 +27,18 @@
    -
    rs_matrix.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_matrix.rsh File Reference
    _RS_RUNTIME float4 rsUnpackColor8888 float4 rsUnpackColor8888 ( uchar4  c)
    - - - - - - + + + + + + @@ -65,9 +65,9 @@ Functions - - - + + + @@ -79,12 +79,12 @@ Functions

    Definition in file rs_matrix.rsh.


    Function Documentation

    - +

    Functions

    _RS_RUNTIME void rsMatrixSet (rs_matrix4x4 *m, uint32_t row, uint32_t col, float v)
    _RS_RUNTIME void rsMatrixSet (rs_matrix3x3 *m, uint32_t row, uint32_t col, float v)
    _RS_RUNTIME void rsMatrixSet (rs_matrix2x2 *m, uint32_t row, uint32_t col, float v)
    _RS_RUNTIME float rsMatrixGet (const rs_matrix4x4 *m, uint32_t row, uint32_t col)
    _RS_RUNTIME float rsMatrixGet (const rs_matrix3x3 *m, uint32_t row, uint32_t col)
    _RS_RUNTIME float rsMatrixGet (const rs_matrix2x2 *m, uint32_t row, uint32_t col)
    void rsMatrixSet (rs_matrix4x4 *m, uint32_t row, uint32_t col, float v)
    void rsMatrixSet (rs_matrix3x3 *m, uint32_t row, uint32_t col, float v)
    void rsMatrixSet (rs_matrix2x2 *m, uint32_t row, uint32_t col, float v)
    float rsMatrixGet (const rs_matrix4x4 *m, uint32_t row, uint32_t col)
    float rsMatrixGet (const rs_matrix3x3 *m, uint32_t row, uint32_t col)
    float rsMatrixGet (const rs_matrix2x2 *m, uint32_t row, uint32_t col)
    void rsMatrixLoadIdentity (rs_matrix4x4 *m)
    void rsMatrixLoadIdentity (rs_matrix3x3 *m)
    void rsMatrixLoadIdentity (rs_matrix2x2 *m)
    void rsMatrixLoadOrtho (rs_matrix4x4 *m, float left, float right, float bottom, float top, float near, float far)
    void rsMatrixLoadFrustum (rs_matrix4x4 *m, float left, float right, float bottom, float top, float near, float far)
    void rsMatrixLoadPerspective (rs_matrix4x4 *m, float fovy, float aspect, float near, float far)
    _RS_RUNTIME float4 rsMatrixMultiply (rs_matrix4x4 *m, float4 in)
    _RS_RUNTIME float3 rsMatrixMultiply (rs_matrix3x3 *m, float3 in)
    _RS_RUNTIME float2 rsMatrixMultiply (rs_matrix2x2 *m, float2 in)
    float4 rsMatrixMultiply (const rs_matrix4x4 *m, float4 in)
    float3 rsMatrixMultiply (const rs_matrix3x3 *m, float3 in)
    float2 rsMatrixMultiply (const rs_matrix2x2 *m, float2 in)
    bool rsMatrixInverse (rs_matrix4x4 *m)
    bool rsMatrixInverseTranspose (rs_matrix4x4 *m)
    void rsMatrixTranspose (rs_matrix4x4 *m)
    - + @@ -122,12 +122,12 @@ Functions - +
    _RS_RUNTIME float rsMatrixGet float rsMatrixGet ( const rs_matrix4x4 *  m,
    - + @@ -156,12 +156,12 @@ Functions - +
    _RS_RUNTIME float rsMatrixGet float rsMatrixGet ( const rs_matrix3x3 *  m,
    - + @@ -1085,14 +1085,14 @@ Functions - +
    _RS_RUNTIME float rsMatrixGet float rsMatrixGet ( const rs_matrix2x2 *  m,
    - + - + @@ -1109,19 +1109,19 @@ Functions
    _RS_RUNTIME float4 rsMatrixMultiply float4 rsMatrixMultiply (rs_matrix4x4 * const rs_matrix4x4 *  m,
    -

    Multiply a vector by a matrix and return the result vector. API version 10-13

    +

    Multiply a vector by a matrix and return the result vector. API version 14+

    This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

    - +
    - + - + @@ -1142,14 +1142,14 @@ Functions - +
    _RS_RUNTIME float3 rsMatrixMultiply float3 rsMatrixMultiply (rs_matrix3x3 * const rs_matrix3x3 *  m,
    - + - + @@ -1275,12 +1275,12 @@ Functions - +
    _RS_RUNTIME float2 rsMatrixMultiply float2 rsMatrixMultiply (rs_matrix2x2 * const rs_matrix2x2 *  m,
    - + @@ -1325,12 +1325,12 @@ Functions - +
    _RS_RUNTIME void rsMatrixSet void rsMatrixSet ( rs_matrix4x4 *  m,
    - + @@ -1365,12 +1365,12 @@ Functions - +
    _RS_RUNTIME void rsMatrixSet void rsMatrixSet ( rs_matrix3x3 *  m,
    - + diff --git a/docs/html/reference/renderscript/rs__matrix_8rsh_source.html b/docs/html/reference/renderscript/rs__matrix_8rsh_source.html index be83c9be4df6d..c1aaeb294def9 100644 --- a/docs/html/reference/renderscript/rs__matrix_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__matrix_8rsh_source.html @@ -3,7 +3,7 @@ -rs_matrix.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_matrix.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_matrix.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_matrix.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -47,18 +47,18 @@
     00024 #define __RS_MATRIX_RSH__
     00025 
     00036 _RS_RUNTIME void __attribute__((overloadable))
    -00037 rsMatrixSet(rs_matrix4x4 *m, uint32_t row, uint32_t col, float v);
    +00037 rsMatrixSet(rs_matrix4x4 *m, uint32_t row, uint32_t col, float v);
     00041 _RS_RUNTIME void __attribute__((overloadable))
    -00042 rsMatrixSet(rs_matrix3x3 *m, uint32_t row, uint32_t col, float v);
    +00042 rsMatrixSet(rs_matrix3x3 *m, uint32_t row, uint32_t col, float v);
     00046 _RS_RUNTIME void __attribute__((overloadable))
    -00047 rsMatrixSet(rs_matrix2x2 *m, uint32_t row, uint32_t col, float v);
    +00047 rsMatrixSet(rs_matrix2x2 *m, uint32_t row, uint32_t col, float v);
     00048 
     00058 _RS_RUNTIME float __attribute__((overloadable))
    -00059 rsMatrixGet(const rs_matrix4x4 *m, uint32_t row, uint32_t col);
    +00059 rsMatrixGet(const rs_matrix4x4 *m, uint32_t row, uint32_t col);
     00063 _RS_RUNTIME float __attribute__((overloadable))
    -00064 rsMatrixGet(const rs_matrix3x3 *m, uint32_t row, uint32_t col);
    +00064 rsMatrixGet(const rs_matrix3x3 *m, uint32_t row, uint32_t col);
     00068 _RS_RUNTIME float __attribute__((overloadable))
    -00069 rsMatrixGet(const rs_matrix2x2 *m, uint32_t row, uint32_t col);
    +00069 rsMatrixGet(const rs_matrix2x2 *m, uint32_t row, uint32_t col);
     00070 
     00076 extern void __attribute__((overloadable)) rsMatrixLoadIdentity(rs_matrix4x4 *m);
     00080 extern void __attribute__((overloadable)) rsMatrixLoadIdentity(rs_matrix3x3 *m);
    diff --git a/docs/html/reference/renderscript/rs__mesh_8rsh.html b/docs/html/reference/renderscript/rs__mesh_8rsh.html
    index 81ac93eee986a..82824adc4c3d1 100644
    --- a/docs/html/reference/renderscript/rs__mesh_8rsh.html
    +++ b/docs/html/reference/renderscript/rs__mesh_8rsh.html
    @@ -3,7 +3,7 @@
     
     
     
    -rs_mesh.rsh File Reference
    +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_mesh.rsh File Reference
     
     
     
    @@ -24,15 +24,185 @@
       
    +
    -
    rs_mesh.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_mesh.rsh File Reference
    +
    _RS_RUNTIME void rsMatrixSet void rsMatrixSet ( rs_matrix2x2 *  m,
    + + + + + + +

    +Functions

    uint32_t rsgMeshGetVertexAllocationCount (rs_mesh m)
    uint32_t rsgMeshGetPrimitiveCount (rs_mesh m)
    rs_allocation rsgMeshGetVertexAllocation (rs_mesh m, uint32_t index)
    rs_allocation rsgMeshGetIndexAllocation (rs_mesh m, uint32_t index)
    rs_primitive rsgMeshGetPrimitive (rs_mesh m, uint32_t index)

    Detailed Description

    Mesh routines.

    Definition in file rs_mesh.rsh.

    -
    +

    Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    rs_allocation rsgMeshGetIndexAllocation (rs_mesh m,
    uint32_t index 
    )
    +
    +
    +

    Returns an allocation containing index data or a null allocation if only the primitive is specified

    +
    Parameters:
    + + + +
    mmesh to get data from
    indexindex of the index allocation
    +
    +
    +
    Returns:
    allocation containing index data
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    rs_primitive rsgMeshGetPrimitive (rs_mesh m,
    uint32_t index 
    )
    +
    +
    +

    Returns the primitive describing how a part of the mesh is rendered

    +
    Parameters:
    + + + +
    mmesh to get data from
    indexindex of the primitive
    +
    +
    +
    Returns:
    primitive describing how the mesh is rendered
    + +
    +
    + +
    +
    + + + + + + + + +
    uint32_t rsgMeshGetPrimitiveCount (rs_mesh m)
    +
    +
    +

    Meshes could have multiple index sets, this function returns the number.

    +
    Parameters:
    + + +
    mmesh to get data from
    +
    +
    +
    Returns:
    number of primitive groups in the mesh. This would include simple primitives as well as allocations containing index data
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    rs_allocation rsgMeshGetVertexAllocation (rs_mesh m,
    uint32_t index 
    )
    +
    +
    +

    Returns an allocation that is part of the mesh and contains vertex data, e.g. positions, normals, texcoords

    +
    Parameters:
    + + + +
    mmesh to get data from
    indexindex of the vertex allocation
    +
    +
    +
    Returns:
    allocation containing vertex data
    + +
    +
    + +
    +
    + + + + + + + + +
    uint32_t rsgMeshGetVertexAllocationCount (rs_mesh m)
    +
    +
    +

    Returns the number of allocations in the mesh that contain vertex data

    +
    Parameters:
    + + +
    mmesh to get data from
    +
    +
    +
    Returns:
    number of allocations in the mesh that contain vertex data
    + +
    +
    +
    diff --git a/docs/html/reference/renderscript/rs__mesh_8rsh_source.html b/docs/html/reference/renderscript/rs__mesh_8rsh_source.html index e344b47ea907c..f9416c8d010df 100644 --- a/docs/html/reference/renderscript/rs__mesh_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__mesh_8rsh_source.html @@ -3,7 +3,7 @@ -rs_mesh.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_mesh.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_mesh.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_mesh.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -50,19 +50,19 @@
     00027 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
     00028 
     00037 extern uint32_t __attribute__((overloadable))
    -00038     rsgMeshGetVertexAllocationCount(rs_mesh m);
    +00038     rsgMeshGetVertexAllocationCount(rs_mesh m);
     00039 
     00049 extern uint32_t __attribute__((overloadable))
    -00050     rsgMeshGetPrimitiveCount(rs_mesh m);
    +00050     rsgMeshGetPrimitiveCount(rs_mesh m);
     00051 
    -00060 extern rs_allocation __attribute__((overloadable))
    -00061     rsgMeshGetVertexAllocation(rs_mesh m, uint32_t index);
    +00060 extern rs_allocation __attribute__((overloadable))
    +00061     rsgMeshGetVertexAllocation(rs_mesh m, uint32_t index);
     00062 
    -00071 extern rs_allocation __attribute__((overloadable))
    -00072     rsgMeshGetIndexAllocation(rs_mesh m, uint32_t index);
    +00071 extern rs_allocation __attribute__((overloadable))
    +00072     rsgMeshGetIndexAllocation(rs_mesh m, uint32_t index);
     00073 
    -00082 extern rs_primitive __attribute__((overloadable))
    -00083     rsgMeshGetPrimitive(rs_mesh m, uint32_t index);
    +00082 extern rs_primitive __attribute__((overloadable))
    +00083     rsgMeshGetPrimitive(rs_mesh m, uint32_t index);
     00084 
     00085 #endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
     00086 
    diff --git a/docs/html/reference/renderscript/rs__object_8rsh.html b/docs/html/reference/renderscript/rs__object_8rsh.html
    index 9ac7bb85fd08c..6ace343973163 100644
    --- a/docs/html/reference/renderscript/rs__object_8rsh.html
    +++ b/docs/html/reference/renderscript/rs__object_8rsh.html
    @@ -3,7 +3,7 @@
     
     
     
    -rs_object.rsh File Reference
    +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_object.rsh File Reference
     
     
     
    @@ -27,7 +27,7 @@
       
       
    -
    rs_object.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_object.rsh File Reference
    diff --git a/docs/html/reference/renderscript/rs__object_8rsh_source.html b/docs/html/reference/renderscript/rs__object_8rsh_source.html index e55769b8274fc..9cd43b4f4f6a2 100644 --- a/docs/html/reference/renderscript/rs__object_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__object_8rsh_source.html @@ -3,7 +3,7 @@ -rs_object.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_object.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_object.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_object.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -48,81 +48,81 @@
     00025 
     00026 
     00033 extern void __attribute__((overloadable))
    -00034     rsSetObject(rs_element *dst, rs_element src);
    +00034     rsSetObject(rs_element *dst, rs_element src);
     00038 extern void __attribute__((overloadable))
    -00039     rsSetObject(rs_type *dst, rs_type src);
    +00039     rsSetObject(rs_type *dst, rs_type src);
     00043 extern void __attribute__((overloadable))
    -00044     rsSetObject(rs_allocation *dst, rs_allocation src);
    +00044     rsSetObject(rs_allocation *dst, rs_allocation src);
     00048 extern void __attribute__((overloadable))
    -00049     rsSetObject(rs_sampler *dst, rs_sampler src);
    +00049     rsSetObject(rs_sampler *dst, rs_sampler src);
     00053 extern void __attribute__((overloadable))
    -00054     rsSetObject(rs_script *dst, rs_script src);
    +00054     rsSetObject(rs_script *dst, rs_script src);
     00058 extern void __attribute__((overloadable))
    -00059     rsSetObject(rs_path *dst, rs_path src);
    +00059     rsSetObject(rs_path *dst, rs_path src);
     00063 extern void __attribute__((overloadable))
    -00064     rsSetObject(rs_mesh *dst, rs_mesh src);
    +00064     rsSetObject(rs_mesh *dst, rs_mesh src);
     00068 extern void __attribute__((overloadable))
    -00069     rsSetObject(rs_program_fragment *dst, rs_program_fragment src);
    +00069     rsSetObject(rs_program_fragment *dst, rs_program_fragment src);
     00073 extern void __attribute__((overloadable))
    -00074     rsSetObject(rs_program_vertex *dst, rs_program_vertex src);
    +00074     rsSetObject(rs_program_vertex *dst, rs_program_vertex src);
     00078 extern void __attribute__((overloadable))
    -00079     rsSetObject(rs_program_raster *dst, rs_program_raster src);
    +00079     rsSetObject(rs_program_raster *dst, rs_program_raster src);
     00083 extern void __attribute__((overloadable))
    -00084     rsSetObject(rs_program_store *dst, rs_program_store src);
    +00084     rsSetObject(rs_program_store *dst, rs_program_store src);
     00088 extern void __attribute__((overloadable))
    -00089     rsSetObject(rs_font *dst, rs_font src);
    +00089     rsSetObject(rs_font *dst, rs_font src);
     00090 
     00096 extern void __attribute__((overloadable))
    -00097     rsClearObject(rs_element *dst);
    +00097     rsClearObject(rs_element *dst);
     00101 extern void __attribute__((overloadable))
    -00102     rsClearObject(rs_type *dst);
    +00102     rsClearObject(rs_type *dst);
     00106 extern void __attribute__((overloadable))
    -00107     rsClearObject(rs_allocation *dst);
    +00107     rsClearObject(rs_allocation *dst);
     00111 extern void __attribute__((overloadable))
    -00112     rsClearObject(rs_sampler *dst);
    +00112     rsClearObject(rs_sampler *dst);
     00116 extern void __attribute__((overloadable))
    -00117     rsClearObject(rs_script *dst);
    +00117     rsClearObject(rs_script *dst);
     00121 extern void __attribute__((overloadable))
    -00122     rsClearObject(rs_path *dst);
    +00122     rsClearObject(rs_path *dst);
     00126 extern void __attribute__((overloadable))
    -00127     rsClearObject(rs_mesh *dst);
    +00127     rsClearObject(rs_mesh *dst);
     00131 extern void __attribute__((overloadable))
    -00132     rsClearObject(rs_program_fragment *dst);
    +00132     rsClearObject(rs_program_fragment *dst);
     00136 extern void __attribute__((overloadable))
    -00137     rsClearObject(rs_program_vertex *dst);
    +00137     rsClearObject(rs_program_vertex *dst);
     00141 extern void __attribute__((overloadable))
    -00142     rsClearObject(rs_program_raster *dst);
    +00142     rsClearObject(rs_program_raster *dst);
     00146 extern void __attribute__((overloadable))
    -00147     rsClearObject(rs_program_store *dst);
    +00147     rsClearObject(rs_program_store *dst);
     00151 extern void __attribute__((overloadable))
    -00152     rsClearObject(rs_font *dst);
    +00152     rsClearObject(rs_font *dst);
     00153 
     00154 
     00155 
     00162 extern bool __attribute__((overloadable))
    -00163     rsIsObject(rs_element);
    +00163     rsIsObject(rs_element);
     00167 extern bool __attribute__((overloadable))
    -00168     rsIsObject(rs_type);
    +00168     rsIsObject(rs_type);
     00172 extern bool __attribute__((overloadable))
    -00173     rsIsObject(rs_allocation);
    +00173     rsIsObject(rs_allocation);
     00177 extern bool __attribute__((overloadable))
    -00178     rsIsObject(rs_sampler);
    +00178     rsIsObject(rs_sampler);
     00182 extern bool __attribute__((overloadable))
    -00183     rsIsObject(rs_script);
    +00183     rsIsObject(rs_script);
     00187 extern bool __attribute__((overloadable))
    -00188     rsIsObject(rs_path);
    +00188     rsIsObject(rs_path);
     00192 extern bool __attribute__((overloadable))
    -00193     rsIsObject(rs_mesh);
    +00193     rsIsObject(rs_mesh);
     00197 extern bool __attribute__((overloadable))
    -00198     rsIsObject(rs_program_fragment);
    +00198     rsIsObject(rs_program_fragment);
     00202 extern bool __attribute__((overloadable))
    -00203     rsIsObject(rs_program_vertex);
    +00203     rsIsObject(rs_program_vertex);
     00207 extern bool __attribute__((overloadable))
    -00208     rsIsObject(rs_program_raster);
    +00208     rsIsObject(rs_program_raster);
     00212 extern bool __attribute__((overloadable))
    -00213     rsIsObject(rs_program_store);
    +00213     rsIsObject(rs_program_store);
     00217 extern bool __attribute__((overloadable))
    -00218     rsIsObject(rs_font);
    +00218     rsIsObject(rs_font);
     00219 
     00220 #endif
     
    diff --git a/docs/html/reference/renderscript/rs__program_8rsh.html b/docs/html/reference/renderscript/rs__program_8rsh.html index f64cc7bff8b93..998838307703e 100644 --- a/docs/html/reference/renderscript/rs__program_8rsh.html +++ b/docs/html/reference/renderscript/rs__program_8rsh.html @@ -3,7 +3,7 @@ -rs_program.rsh File Reference +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_program.rsh File Reference @@ -24,15 +24,297 @@
    +
    -
    rs_program.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_program.rsh File Reference
    +
    + + + + + + + + + + + + +

    +Functions

    rs_depth_func rsgProgramStoreGetDepthFunc (rs_program_store ps)
    bool rsgProgramStoreIsDepthMaskEnabled (rs_program_store ps)
    bool rsgProgramStoreIsColorMaskRedEnabled (rs_program_store ps)
    bool rsgProgramStoreIsColorMaskGreenEnabled (rs_program_store ps)
    bool rsgProgramStoreIsColorMaskBlueEnabled (rs_program_store ps)
    bool rsgProgramStoreIsColorMaskAlphaEnabled (rs_program_store ps)
    rs_blend_src_func rsgProgramStoreGetBlendSrcFunc (rs_program_store ps)
    rs_blend_dst_func rsgProgramStoreGetBlendDstFunc (rs_program_store ps)
    bool rsgProgramStoreIsDitherEnabled (rs_program_store ps)
    bool rsgProgramRasterIsPointSpriteEnabled (rs_program_raster pr)
    rs_cull_mode rsgProgramRasterGetCullMode (rs_program_raster pr)

    Detailed Description

    Program object routines.

    Definition in file rs_program.rsh.

    -
    +

    Function Documentation

    + +
    +
    + + + + + + + + +
    rs_cull_mode rsgProgramRasterGetCullMode (rs_program_raster pr)
    +
    +
    +

    Get program raster cull mode

    +
    Parameters:
    + + +
    prprogram raster to query
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    bool rsgProgramRasterIsPointSpriteEnabled (rs_program_raster pr)
    +
    +
    +

    Get program raster point sprite state

    +
    Parameters:
    + + +
    prprogram raster to query
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    rs_blend_dst_func rsgProgramStoreGetBlendDstFunc (rs_program_store ps)
    +
    +
    +

    Get program store blend destination function

    +
    Parameters:
    + + +
    psprogram store to query
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    rs_blend_src_func rsgProgramStoreGetBlendSrcFunc (rs_program_store ps)
    +
    +
    +

    Get program store blend source function

    +
    Parameters:
    + + +
    psprogram store to query
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    rs_depth_func rsgProgramStoreGetDepthFunc (rs_program_store ps)
    +
    +
    +

    Get program store depth function

    +
    Parameters:
    + + +
    psprogram store to query
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    bool rsgProgramStoreIsColorMaskAlphaEnabled (rs_program_store ps)
    +
    +
    +

    Get program store alpha component color mask

    +
    Parameters:
    + + +
    psprogram store to query
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    bool rsgProgramStoreIsColorMaskBlueEnabled (rs_program_store ps)
    +
    +
    +

    Get program store blur component color mask

    +
    Parameters:
    + + +
    psprogram store to query
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    bool rsgProgramStoreIsColorMaskGreenEnabled (rs_program_store ps)
    +
    +
    +

    Get program store green component color mask

    +
    Parameters:
    + + +
    psprogram store to query
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    bool rsgProgramStoreIsColorMaskRedEnabled (rs_program_store ps)
    +
    +
    +

    Get program store red component color mask

    +
    Parameters:
    + + +
    psprogram store to query
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    bool rsgProgramStoreIsDepthMaskEnabled (rs_program_store ps)
    +
    +
    +

    Get program store depth mask

    +
    Parameters:
    + + +
    psprogram store to query
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + +
    bool rsgProgramStoreIsDitherEnabled (rs_program_store ps)
    +
    +
    +

    Get program store dither state

    +
    Parameters:
    + + +
    psprogram store to query
    +
    +
    + +
    +
    + diff --git a/docs/html/reference/renderscript/rs__program_8rsh_source.html b/docs/html/reference/renderscript/rs__program_8rsh_source.html index dc901b3370fa4..ed326b10d8290 100644 --- a/docs/html/reference/renderscript/rs__program_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__program_8rsh_source.html @@ -3,7 +3,7 @@ -rs_program.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_program.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_program.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_program.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -48,37 +48,37 @@
     00025 
     00026 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
     00027 
    -00033 extern rs_depth_func __attribute__((overloadable))
    -00034     rsgProgramStoreGetDepthFunc(rs_program_store ps);
    +00033 extern rs_depth_func __attribute__((overloadable))
    +00034     rsgProgramStoreGetDepthFunc(rs_program_store ps);
     00035 
     00041 extern bool __attribute__((overloadable))
    -00042     rsgProgramStoreIsDepthMaskEnabled(rs_program_store ps);
    +00042     rsgProgramStoreIsDepthMaskEnabled(rs_program_store ps);
     00048 extern bool __attribute__((overloadable))
    -00049     rsgProgramStoreIsColorMaskRedEnabled(rs_program_store ps);
    +00049     rsgProgramStoreIsColorMaskRedEnabled(rs_program_store ps);
     00050 
     00056 extern bool __attribute__((overloadable))
    -00057     rsgProgramStoreIsColorMaskGreenEnabled(rs_program_store ps);
    +00057     rsgProgramStoreIsColorMaskGreenEnabled(rs_program_store ps);
     00058 
     00064 extern bool __attribute__((overloadable))
    -00065     rsgProgramStoreIsColorMaskBlueEnabled(rs_program_store ps);
    +00065     rsgProgramStoreIsColorMaskBlueEnabled(rs_program_store ps);
     00066 
     00072 extern bool __attribute__((overloadable))
    -00073     rsgProgramStoreIsColorMaskAlphaEnabled(rs_program_store ps);
    +00073     rsgProgramStoreIsColorMaskAlphaEnabled(rs_program_store ps);
     00074 
     00080 extern rs_blend_src_func __attribute__((overloadable))
    -00081         rsgProgramStoreGetBlendSrcFunc(rs_program_store ps);
    +00081         rsgProgramStoreGetBlendSrcFunc(rs_program_store ps);
     00082 
     00088 extern rs_blend_dst_func __attribute__((overloadable))
    -00089     rsgProgramStoreGetBlendDstFunc(rs_program_store ps);
    +00089     rsgProgramStoreGetBlendDstFunc(rs_program_store ps);
     00090 
     00096 extern bool __attribute__((overloadable))
    -00097     rsgProgramStoreIsDitherEnabled(rs_program_store ps);
    +00097     rsgProgramStoreIsDitherEnabled(rs_program_store ps);
     00098 
     00104 extern bool __attribute__((overloadable))
    -00105     rsgProgramRasterIsPointSpriteEnabled(rs_program_raster pr);
    +00105     rsgProgramRasterIsPointSpriteEnabled(rs_program_raster pr);
     00106 
     00112 extern rs_cull_mode __attribute__((overloadable))
    -00113     rsgProgramRasterGetCullMode(rs_program_raster pr);
    +00113     rsgProgramRasterGetCullMode(rs_program_raster pr);
     00114 
     00115 #endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
     00116 
    diff --git a/docs/html/reference/renderscript/rs__quaternion_8rsh.html b/docs/html/reference/renderscript/rs__quaternion_8rsh.html
    index 389b792937ab7..ce94e0485b18e 100644
    --- a/docs/html/reference/renderscript/rs__quaternion_8rsh.html
    +++ b/docs/html/reference/renderscript/rs__quaternion_8rsh.html
    @@ -3,7 +3,7 @@
     
     
     
    -rs_quaternion.rsh File Reference
    +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_quaternion.rsh File Reference
     
     
     
    @@ -27,7 +27,7 @@
       
       
    -
    rs_quaternion.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_quaternion.rsh File Reference
    diff --git a/docs/html/reference/renderscript/rs__quaternion_8rsh_source.html b/docs/html/reference/renderscript/rs__quaternion_8rsh_source.html index 93e4e5d287628..d286018d011f1 100644 --- a/docs/html/reference/renderscript/rs__quaternion_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__quaternion_8rsh_source.html @@ -3,7 +3,7 @@ -rs_quaternion.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_quaternion.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_quaternion.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_quaternion.rsh
    Go to the documentation of this file.
    00001 /*
    diff --git a/docs/html/reference/renderscript/rs__sampler_8rsh.html b/docs/html/reference/renderscript/rs__sampler_8rsh.html
    index f45dd28351a53..6393adecd49c0 100644
    --- a/docs/html/reference/renderscript/rs__sampler_8rsh.html
    +++ b/docs/html/reference/renderscript/rs__sampler_8rsh.html
    @@ -3,7 +3,7 @@
     
     
     
    -rs_sampler.rsh File Reference
    +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_sampler.rsh File Reference
     
     
     
    @@ -24,15 +24,152 @@
       
    +
    -
    rs_sampler.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_sampler.rsh File Reference
    +
    + + + + + + +

    +Functions

    rs_sampler_value rsSamplerGetMinification (rs_sampler s)
    rs_sampler_value rsSamplerGetMagnification (rs_sampler s)
    rs_sampler_value rsSamplerGetWrapS (rs_sampler s)
    rs_sampler_value rsSamplerGetWrapT (rs_sampler s)
    float rsSamplerGetAnisotropy (rs_sampler s)

    Detailed Description

    Sampler routines.

    Definition in file rs_sampler.rsh.

    -
    +

    Function Documentation

    + +
    +
    + + + + + + + + +
    float rsSamplerGetAnisotropy (rs_sampler s)
    +
    +
    +

    Get sampler anisotropy

    +
    Parameters:
    + + +
    ssampler to query
    +
    +
    +
    Returns:
    anisotropy
    + +
    +
    + +
    +
    + + + + + + + + +
    rs_sampler_value rsSamplerGetMagnification (rs_sampler s)
    +
    +
    +

    Get sampler magnification value

    +
    Parameters:
    + + +
    ssampler to query
    +
    +
    +
    Returns:
    magnification value
    + +
    +
    + +
    +
    + + + + + + + + +
    rs_sampler_value rsSamplerGetMinification (rs_sampler s)
    +
    +
    +

    Get sampler minification value

    +
    Parameters:
    + + +
    ssampler to query
    +
    +
    +
    Returns:
    minification value
    + +
    +
    + +
    +
    + + + + + + + + +
    rs_sampler_value rsSamplerGetWrapS (rs_sampler s)
    +
    +
    +

    Get sampler wrap S value

    +
    Parameters:
    + + +
    ssampler to query
    +
    +
    +
    Returns:
    wrap S value
    + +
    +
    + +
    +
    + + + + + + + + +
    rs_sampler_value rsSamplerGetWrapT (rs_sampler s)
    +
    +
    +

    Get sampler wrap T value

    +
    Parameters:
    + + +
    ssampler to query
    +
    +
    +
    Returns:
    wrap T value
    + +
    +
    + diff --git a/docs/html/reference/renderscript/rs__sampler_8rsh_source.html b/docs/html/reference/renderscript/rs__sampler_8rsh_source.html index 30fb9c0054c72..82a7cfadd5fe8 100644 --- a/docs/html/reference/renderscript/rs__sampler_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__sampler_8rsh_source.html @@ -3,7 +3,7 @@ -rs_sampler.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_sampler.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_sampler.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_sampler.rsh
    Go to the documentation of this file.
    00001 /*
    @@ -50,19 +50,19 @@
     00027 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
     00028 
     00035 extern rs_sampler_value __attribute__((overloadable))
    -00036     rsSamplerGetMinification(rs_sampler s);
    +00036     rsSamplerGetMinification(rs_sampler s);
     00037 
     00044 extern rs_sampler_value __attribute__((overloadable))
    -00045     rsSamplerGetMagnification(rs_sampler s);
    +00045     rsSamplerGetMagnification(rs_sampler s);
     00046 
     00053 extern rs_sampler_value __attribute__((overloadable))
    -00054     rsSamplerGetWrapS(rs_sampler s);
    +00054     rsSamplerGetWrapS(rs_sampler s);
     00055 
     00062 extern rs_sampler_value __attribute__((overloadable))
    -00063     rsSamplerGetWrapT(rs_sampler s);
    +00063     rsSamplerGetWrapT(rs_sampler s);
     00064 
     00071 extern float __attribute__((overloadable))
    -00072     rsSamplerGetAnisotropy(rs_sampler s);
    +00072     rsSamplerGetAnisotropy(rs_sampler s);
     00073 
     00074 #endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
     00075 
    diff --git a/docs/html/reference/renderscript/rs__time_8rsh.html b/docs/html/reference/renderscript/rs__time_8rsh.html
    index a3e63d05daa09..8be550a2ee9ef 100644
    --- a/docs/html/reference/renderscript/rs__time_8rsh.html
    +++ b/docs/html/reference/renderscript/rs__time_8rsh.html
    @@ -3,7 +3,7 @@
     
     
     
    -rs_time.rsh File Reference
    +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_time.rsh File Reference
     
     
     
    @@ -29,7 +29,7 @@
     Typedefs |
     Functions  
    -
    rs_time.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_time.rsh File Reference
    @@ -48,8 +48,8 @@ Functions
    float rsGetDt (void)

    Detailed Description

    -

    Renderscript time routines.

    -

    This file contains Renderscript functions relating to time and date manipulation.

    +

    RenderScript time routines.

    +

    This file contains RenderScript functions relating to time and date manipulation.

    Definition in file rs_time.rsh.


    Typedef Documentation

    diff --git a/docs/html/reference/renderscript/rs__time_8rsh_source.html b/docs/html/reference/renderscript/rs__time_8rsh_source.html index 208924af66542..482fd778d9ae9 100644 --- a/docs/html/reference/renderscript/rs__time_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__time_8rsh_source.html @@ -3,7 +3,7 @@ -rs_time.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_time.rsh Source File @@ -24,7 +24,7 @@
    -
    rs_time.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_time.rsh
    Go to the documentation of this file.
    00001 /*
    diff --git a/docs/html/reference/renderscript/rs__types_8rsh.html b/docs/html/reference/renderscript/rs__types_8rsh.html
    index c3caa6f093936..cbaa750c3ed58 100644
    --- a/docs/html/reference/renderscript/rs__types_8rsh.html
    +++ b/docs/html/reference/renderscript/rs__types_8rsh.html
    @@ -3,7 +3,7 @@
     
     
     
    -rs_types.rsh File Reference
    +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_types.rsh File Reference
     
     
     
    @@ -26,9 +26,10 @@
     
       
    -
    rs_types.rsh File Reference
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_types.rsh File Reference
    #include "stdbool.h"
    @@ -36,29 +37,29 @@

    Data Structures

    struct  rs_element - Opaque handle to a Renderscript element. More...
    + Opaque handle to a RenderScript element. More...
    struct  rs_type - Opaque handle to a Renderscript type. More...
    + Opaque handle to a RenderScript type. More...
    struct  rs_allocation - Opaque handle to a Renderscript allocation. More...
    + Opaque handle to a RenderScript allocation. More...
    struct  rs_sampler - Opaque handle to a Renderscript sampler object. More...
    + Opaque handle to a RenderScript sampler object. More...
    struct  rs_script - Opaque handle to a Renderscript script object. More...
    + Opaque handle to a RenderScript script object. More...
    struct  rs_mesh - Opaque handle to a Renderscript mesh object. More...
    + Opaque handle to a RenderScript mesh object. More...
    struct  rs_path - Opaque handle to a Renderscript Path object. More...
    + Opaque handle to a RenderScript Path object. More...
    struct  rs_program_fragment - Opaque handle to a Renderscript ProgramFragment object. More...
    + Opaque handle to a RenderScript ProgramFragment object. More...
    struct  rs_program_vertex - Opaque handle to a Renderscript ProgramVertex object. More...
    + Opaque handle to a RenderScript ProgramVertex object. More...
    struct  rs_program_raster - Opaque handle to a Renderscript ProgramRaster object. More...
    + Opaque handle to a RenderScript ProgramRaster object. More...
    struct  rs_program_store - Opaque handle to a Renderscript ProgramStore object. More...
    + Opaque handle to a RenderScript ProgramStore object. More...
    struct  rs_font - Opaque handle to a Renderscript font object. More...
    + Opaque handle to a RenderScript font object. More...
    struct  rs_matrix4x4  4x4 float matrix More...
    struct  rs_matrix3x3 @@ -112,9 +113,42 @@ Typedefs typedef long long3 typedef long long4 typedef float4 rs_quaternion +

    +Enumerations

    +enum  rs_allocation_cubemap_face + Enum for selecting cube map faces.
    +enum  rs_allocation_usage_type + Bitfield to specify the usage types for an allocation. More...
    +enum  rs_primitive {
    +  RS_PRIMITIVE_POINT = 0, +RS_PRIMITIVE_LINE = 1, +RS_PRIMITIVE_LINE_STRIP = 2, +RS_PRIMITIVE_TRIANGLE = 3, +
    +  RS_PRIMITIVE_TRIANGLE_STRIP = 4, +RS_PRIMITIVE_TRIANGLE_FAN = 5, +RS_PRIMITIVE_INVALID = 100 +
    + } +enum  rs_data_type + Enumeration for possible element data types. More...
    +enum  rs_data_kind + Enumeration for possible element data kind. More...
    +enum  rs_depth_func {
    +  RS_DEPTH_FUNC_ALWAYS = 0, +RS_DEPTH_FUNC_LESS = 1, +RS_DEPTH_FUNC_LEQUAL = 2, +RS_DEPTH_FUNC_GREATER = 3, +
    +  RS_DEPTH_FUNC_GEQUAL = 4, +RS_DEPTH_FUNC_EQUAL = 5, +RS_DEPTH_FUNC_NOTEQUAL = 6, +RS_DEPTH_FUNC_INVALID = 100 +
    + }

    Detailed Description

    -

    Define the standard Renderscript types

    +

    Define the standard RenderScript types

    Integers 8 bit: char, int8_t 16 bit: short, int16_t 32 bit: int, in32_t 64 bit: long, long long, int64_t

    Unsigned Integers 8 bit: uchar, uint8_t 16 bit: ushort, uint16_t 32 bit: uint, uint32_t 64 bit: ulong, uint64_t

    Floating point 32 bit: float 64 bit: double

    @@ -134,7 +168,7 @@ Typedefs

    Vector version of the basic char type. Provides two char fields packed into a single 16 bit field with 16 bit alignment.

    -

    Definition at line 279 of file rs_types.rsh.

    +

    Definition at line 292 of file rs_types.rsh.

    @@ -150,7 +184,7 @@ Typedefs

    Vector version of the basic char type. Provides three char fields packed into a single 32 bit field with 32 bit alignment.

    -

    Definition at line 284 of file rs_types.rsh.

    +

    Definition at line 297 of file rs_types.rsh.

    @@ -166,7 +200,7 @@ Typedefs

    Vector version of the basic char type. Provides four char fields packed into a single 32 bit field with 32 bit alignment.

    -

    Definition at line 289 of file rs_types.rsh.

    +

    Definition at line 302 of file rs_types.rsh.

    @@ -182,7 +216,7 @@ Typedefs

    Vector version of the basic double type. Provides two double fields packed into a single 128 bit field with 128 bit alignment.

    -

    Definition at line 199 of file rs_types.rsh.

    +

    Definition at line 212 of file rs_types.rsh.

    @@ -198,7 +232,7 @@ Typedefs

    Vector version of the basic double type. Provides three double fields packed into a single 256 bit field with 256 bit alignment.

    -

    Definition at line 204 of file rs_types.rsh.

    +

    Definition at line 217 of file rs_types.rsh.

    @@ -214,7 +248,7 @@ Typedefs

    Vector version of the basic double type. Provides four double fields packed into a single 256 bit field with 256 bit alignment.

    -

    Definition at line 209 of file rs_types.rsh.

    +

    Definition at line 222 of file rs_types.rsh.

    @@ -230,7 +264,7 @@ Typedefs

    Vector version of the basic float type. Provides two float fields packed into a single 64 bit field with 64 bit alignment.

    -

    Definition at line 182 of file rs_types.rsh.

    +

    Definition at line 195 of file rs_types.rsh.

    @@ -246,7 +280,7 @@ Typedefs

    Vector version of the basic float type. Provides three float fields packed into a single 128 bit field with 128 bit alignment.

    -

    Definition at line 187 of file rs_types.rsh.

    +

    Definition at line 200 of file rs_types.rsh.

    @@ -262,7 +296,7 @@ Typedefs

    Vector version of the basic float type. Provides four float fields packed into a single 128 bit field with 128 bit alignment.

    -

    Definition at line 193 of file rs_types.rsh.

    +

    Definition at line 206 of file rs_types.rsh.

    @@ -278,7 +312,7 @@ Typedefs

    16 bit integer type

    -

    Definition at line 54 of file rs_types.rsh.

    +

    Definition at line 67 of file rs_types.rsh.

    @@ -294,7 +328,7 @@ Typedefs

    Vector version of the basic int type. Provides two int fields packed into a single 64 bit field with 64 bit alignment.

    -

    Definition at line 311 of file rs_types.rsh.

    +

    Definition at line 324 of file rs_types.rsh.

    @@ -310,7 +344,7 @@ Typedefs

    Vector version of the basic int type. Provides three int fields packed into a single 128 bit field with 128 bit alignment.

    -

    Definition at line 316 of file rs_types.rsh.

    +

    Definition at line 329 of file rs_types.rsh.

    @@ -326,7 +360,7 @@ Typedefs

    32 bit integer type

    -

    Definition at line 58 of file rs_types.rsh.

    +

    Definition at line 71 of file rs_types.rsh.

    @@ -342,7 +376,7 @@ Typedefs

    Vector version of the basic int type. Provides two four fields packed into a single 128 bit field with 128 bit alignment.

    -

    Definition at line 321 of file rs_types.rsh.

    +

    Definition at line 334 of file rs_types.rsh.

    @@ -358,7 +392,7 @@ Typedefs

    64 bit integer type

    -

    Definition at line 62 of file rs_types.rsh.

    +

    Definition at line 75 of file rs_types.rsh.

    @@ -374,7 +408,7 @@ Typedefs

    8 bit integer type

    -

    Definition at line 50 of file rs_types.rsh.

    +

    Definition at line 63 of file rs_types.rsh.

    @@ -390,7 +424,7 @@ Typedefs

    Vector version of the basic long type. Provides two long fields packed into a single 128 bit field with 128 bit alignment.

    -

    Definition at line 327 of file rs_types.rsh.

    +

    Definition at line 340 of file rs_types.rsh.

    @@ -406,7 +440,7 @@ Typedefs

    Vector version of the basic long type. Provides three long fields packed into a single 256 bit field with 256 bit alignment.

    -

    Definition at line 332 of file rs_types.rsh.

    +

    Definition at line 345 of file rs_types.rsh.

    @@ -422,7 +456,7 @@ Typedefs

    Vector version of the basic long type. Provides four long fields packed into a single 256 bit field with 256 bit alignment.

    -

    Definition at line 337 of file rs_types.rsh.

    +

    Definition at line 350 of file rs_types.rsh.

    @@ -438,7 +472,7 @@ Typedefs

    quaternion type for use with the quaternion functions

    -

    Definition at line 370 of file rs_types.rsh.

    +

    Definition at line 383 of file rs_types.rsh.

    @@ -454,7 +488,7 @@ Typedefs

    Vector version of the basic short type. Provides two short fields packed into a single 32 bit field with 32 bit alignment.

    -

    Definition at line 295 of file rs_types.rsh.

    +

    Definition at line 308 of file rs_types.rsh.

    @@ -470,7 +504,7 @@ Typedefs

    Vector version of the basic short type. Provides three short fields packed into a single 64 bit field with 64 bit alignment.

    -

    Definition at line 300 of file rs_types.rsh.

    +

    Definition at line 313 of file rs_types.rsh.

    @@ -486,7 +520,7 @@ Typedefs

    Vector version of the basic short type. Provides four short fields packed into a single 64 bit field with 64 bit alignment.

    -

    Definition at line 305 of file rs_types.rsh.

    +

    Definition at line 318 of file rs_types.rsh.

    @@ -502,7 +536,7 @@ Typedefs

    Typedef for unsigned int

    -

    Definition at line 98 of file rs_types.rsh.

    +

    Definition at line 111 of file rs_types.rsh.

    @@ -518,7 +552,7 @@ Typedefs

    Typedef for int (use for 32-bit integers)

    -

    Definition at line 102 of file rs_types.rsh.

    +

    Definition at line 115 of file rs_types.rsh.

    @@ -534,7 +568,7 @@ Typedefs

    8 bit unsigned integer type

    -

    Definition at line 82 of file rs_types.rsh.

    +

    Definition at line 95 of file rs_types.rsh.

    @@ -550,7 +584,7 @@ Typedefs

    Vector version of the basic uchar type. Provides two uchar fields packed into a single 16 bit field with 16 bit alignment.

    -

    Definition at line 215 of file rs_types.rsh.

    +

    Definition at line 228 of file rs_types.rsh.

    @@ -566,7 +600,7 @@ Typedefs

    Vector version of the basic uchar type. Provides three uchar fields packed into a single 32 bit field with 32 bit alignment.

    -

    Definition at line 220 of file rs_types.rsh.

    +

    Definition at line 233 of file rs_types.rsh.

    @@ -582,7 +616,7 @@ Typedefs

    Vector version of the basic uchar type. Provides four uchar fields packed into a single 32 bit field with 32 bit alignment.

    -

    Definition at line 225 of file rs_types.rsh.

    +

    Definition at line 238 of file rs_types.rsh.

    @@ -598,7 +632,7 @@ Typedefs

    32 bit unsigned integer type

    -

    Definition at line 90 of file rs_types.rsh.

    +

    Definition at line 103 of file rs_types.rsh.

    @@ -614,7 +648,7 @@ Typedefs

    16 bit unsigned integer type

    -

    Definition at line 70 of file rs_types.rsh.

    +

    Definition at line 83 of file rs_types.rsh.

    @@ -630,7 +664,7 @@ Typedefs

    Vector version of the basic uint type. Provides two uint fields packed into a single 64 bit field with 64 bit alignment.

    -

    Definition at line 247 of file rs_types.rsh.

    +

    Definition at line 260 of file rs_types.rsh.

    @@ -646,7 +680,7 @@ Typedefs

    Vector version of the basic uint type. Provides three uint fields packed into a single 128 bit field with 128 bit alignment.

    -

    Definition at line 252 of file rs_types.rsh.

    +

    Definition at line 265 of file rs_types.rsh.

    @@ -662,7 +696,7 @@ Typedefs

    32 bit unsigned integer type

    -

    Definition at line 74 of file rs_types.rsh.

    +

    Definition at line 87 of file rs_types.rsh.

    @@ -678,7 +712,7 @@ Typedefs

    Vector version of the basic uint type. Provides four uint fields packed into a single 128 bit field with 128 bit alignment.

    -

    Definition at line 257 of file rs_types.rsh.

    +

    Definition at line 270 of file rs_types.rsh.

    @@ -694,7 +728,7 @@ Typedefs

    64 bit unsigned integer type

    -

    Definition at line 78 of file rs_types.rsh.

    +

    Definition at line 91 of file rs_types.rsh.

    @@ -710,7 +744,7 @@ Typedefs

    8 bit unsigned integer type

    -

    Definition at line 66 of file rs_types.rsh.

    +

    Definition at line 79 of file rs_types.rsh.

    @@ -726,7 +760,7 @@ Typedefs

    Typedef for unsigned long (use for 64-bit unsigned integers)

    -

    Definition at line 94 of file rs_types.rsh.

    +

    Definition at line 107 of file rs_types.rsh.

    @@ -742,7 +776,7 @@ Typedefs

    Vector version of the basic ulong type. Provides two ulong fields packed into a single 128 bit field with 128 bit alignment.

    -

    Definition at line 263 of file rs_types.rsh.

    +

    Definition at line 276 of file rs_types.rsh.

    @@ -758,7 +792,7 @@ Typedefs

    Vector version of the basic ulong type. Provides three ulong fields packed into a single 256 bit field with 256 bit alignment.

    -

    Definition at line 268 of file rs_types.rsh.

    +

    Definition at line 281 of file rs_types.rsh.

    @@ -774,7 +808,7 @@ Typedefs

    Vector version of the basic ulong type. Provides four ulong fields packed into a single 256 bit field with 256 bit alignment.

    -

    Definition at line 273 of file rs_types.rsh.

    +

    Definition at line 286 of file rs_types.rsh.

    @@ -790,7 +824,7 @@ Typedefs

    16 bit unsigned integer type

    -

    Definition at line 86 of file rs_types.rsh.

    +

    Definition at line 99 of file rs_types.rsh.

    @@ -806,7 +840,7 @@ Typedefs

    Vector version of the basic ushort type. Provides two ushort fields packed into a single 32 bit field with 32 bit alignment.

    -

    Definition at line 231 of file rs_types.rsh.

    +

    Definition at line 244 of file rs_types.rsh.

    @@ -822,7 +856,7 @@ Typedefs

    Vector version of the basic ushort type. Provides three ushort fields packed into a single 64 bit field with 64 bit alignment.

    -

    Definition at line 236 of file rs_types.rsh.

    +

    Definition at line 249 of file rs_types.rsh.

    @@ -838,7 +872,148 @@ Typedefs

    Vector version of the basic ushort type. Provides four ushort fields packed into a single 64 bit field with 64 bit alignment.

    -

    Definition at line 241 of file rs_types.rsh.

    +

    Definition at line 254 of file rs_types.rsh.

    + +
    + +

    Enumeration Type Documentation

    + +
    +
    + + + + +
    enum rs_allocation_usage_type
    +
    +
    + +

    Bitfield to specify the usage types for an allocation.

    +

    These values are ORed together to specify which usages or memory spaces are relevant to an allocation or an operation on an allocation.

    + +

    Definition at line 408 of file rs_types.rsh.

    + +
    +
    + +
    +
    + + + + +
    enum rs_data_kind
    +
    +
    + +

    Enumeration for possible element data kind.

    +

    The special interpretation of the data if required. This is primarly useful for graphical data. USER indicates no special interpretation is expected. PIXEL is used in conjunction with the standard data types for representing texture formats.

    + +

    Definition at line 524 of file rs_types.rsh.

    + +
    +
    + +
    +
    + + + + +
    enum rs_data_type
    +
    +
    + +

    Enumeration for possible element data types.

    +

    DataType represents the basic type information for a basic element. The naming convention follows. For numeric types it is FLOAT, SIGNED, or UNSIGNED followed by the _BITS where BITS is the size of the data. BOOLEAN is a true / false (1,0) represented in an 8 bit container. The UNSIGNED variants with multiple bit definitions are for packed graphical data formats and represent vectors with per vector member sizes which are treated as a single unit for packing and alignment purposes.

    +

    MATRIX the three matrix types contain FLOAT_32 elements and are treated as 32 bits for alignment purposes.

    +

    RS_* objects. 32 bit opaque handles.

    + +

    Definition at line 478 of file rs_types.rsh.

    + +
    +
    + +
    +
    + + + + +
    enum rs_depth_func
    +
    +
    +
    Enumerator:
    + + + + + + + + +
    RS_DEPTH_FUNC_ALWAYS  +

    Always drawn

    +
    RS_DEPTH_FUNC_LESS  +

    Drawn if the incoming depth value is less than that in the depth buffer

    +
    RS_DEPTH_FUNC_LEQUAL  +

    Drawn if the incoming depth value is less or equal to that in the depth buffer

    +
    RS_DEPTH_FUNC_GREATER  +

    Drawn if the incoming depth value is greater than that in the depth buffer

    +
    RS_DEPTH_FUNC_GEQUAL  +

    Drawn if the incoming depth value is greater or equal to that in the depth buffer

    +
    RS_DEPTH_FUNC_EQUAL  +

    Drawn if the incoming depth value is equal to that in the depth buffer

    +
    RS_DEPTH_FUNC_NOTEQUAL  +

    Drawn if the incoming depth value is not equal to that in the depth buffer

    +
    RS_DEPTH_FUNC_INVALID  +

    Invalid depth function

    +
    +
    +
    + +

    Definition at line 538 of file rs_types.rsh.

    + +
    +
    + +
    +
    + + + + +
    enum rs_primitive
    +
    +
    +

    Describes the way mesh vertex data is interpreted when rendering

    +
    Enumerator:
    + + + + + + + +
    RS_PRIMITIVE_POINT  +

    Vertex data will be rendered as a series of points

    +
    RS_PRIMITIVE_LINE  +

    Vertex pairs will be rendered as lines

    +
    RS_PRIMITIVE_LINE_STRIP  +

    Vertex data will be rendered as a connected line strip

    +
    RS_PRIMITIVE_TRIANGLE  +

    Vertices will be rendered as individual triangles

    +
    RS_PRIMITIVE_TRIANGLE_STRIP  +

    Vertices will be rendered as a connected triangle strip defined by the first three vertices with each additional triangle defined by a new vertex

    +
    RS_PRIMITIVE_TRIANGLE_FAN  +

    Vertices will be rendered as a sequence of triangles that all share first vertex as the origin

    +
    RS_PRIMITIVE_INVALID  +

    Invalid primitive

    +
    +
    +
    + +

    Definition at line 425 of file rs_types.rsh.

    diff --git a/docs/html/reference/renderscript/rs__types_8rsh_source.html b/docs/html/reference/renderscript/rs__types_8rsh_source.html index 641a753583836..f580306ec0cdb 100644 --- a/docs/html/reference/renderscript/rs__types_8rsh_source.html +++ b/docs/html/reference/renderscript/rs__types_8rsh_source.html @@ -3,7 +3,7 @@ -rs_types.rsh Source File +/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_types.rsh Source File @@ -24,11 +24,11 @@
    -
    rs_types.rsh
    +
    /usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_types.rsh
    Go to the documentation of this file.
    00001 /*
    -00002  * Copyright (C) 2011 The Android Open Source Project
    +00002  * Copyright (C) 2013 The Android Open Source Project
     00003  *
     00004  * Licensed under the Apache License, Version 2.0 (the "License");
     00005  * you may not use this file except in compliance with the License.
    @@ -46,238 +46,253 @@
     00041 #ifndef __RS_TYPES_RSH__
     00042 #define __RS_TYPES_RSH__
     00043 
    -00044 #define M_PI        3.14159265358979323846264338327950288f   /* pi */
    -00045 
    -00046 #include "stdbool.h"
    -00050 typedef char int8_t;
    -00054 typedef short int16_t;
    -00058 typedef int int32_t;
    -00062 typedef long long int64_t;
    -00066 typedef unsigned char uint8_t;
    -00070 typedef unsigned short uint16_t;
    -00074 typedef unsigned int uint32_t;
    -00078 typedef unsigned long long uint64_t;
    -00082 typedef uint8_t uchar;
    -00086 typedef uint16_t ushort;
    -00090 typedef uint32_t uint;
    -00094 typedef uint64_t ulong;
    -00098 typedef uint32_t size_t;
    -00102 typedef int32_t ssize_t;
    -00103 
    -00109 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_element;
    -00115 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_type;
    -00121 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_allocation;
    -00127 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_sampler;
    -00133 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_script;
    -00139 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_mesh;
    -00145 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_path;
    -00151 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_fragment;
    -00157 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_vertex;
    -00163 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_raster;
    -00169 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_store;
    -00175 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_font;
    -00176 
    -00182 typedef float float2 __attribute__((ext_vector_type(2)));
    -00187 typedef float float3 __attribute__((ext_vector_type(3)));
    -00193 typedef float float4 __attribute__((ext_vector_type(4)));
    -00194 
    -00199 typedef double double2 __attribute__((ext_vector_type(2)));
    -00204 typedef double double3 __attribute__((ext_vector_type(3)));
    -00209 typedef double double4 __attribute__((ext_vector_type(4)));
    -00210 
    -00215 typedef uchar uchar2 __attribute__((ext_vector_type(2)));
    -00220 typedef uchar uchar3 __attribute__((ext_vector_type(3)));
    -00225 typedef uchar uchar4 __attribute__((ext_vector_type(4)));
    -00226 
    -00231 typedef ushort ushort2 __attribute__((ext_vector_type(2)));
    -00236 typedef ushort ushort3 __attribute__((ext_vector_type(3)));
    -00241 typedef ushort ushort4 __attribute__((ext_vector_type(4)));
    -00242 
    -00247 typedef uint uint2 __attribute__((ext_vector_type(2)));
    -00252 typedef uint uint3 __attribute__((ext_vector_type(3)));
    -00257 typedef uint uint4 __attribute__((ext_vector_type(4)));
    -00258 
    -00263 typedef ulong ulong2 __attribute__((ext_vector_type(2)));
    -00268 typedef ulong ulong3 __attribute__((ext_vector_type(3)));
    -00273 typedef ulong ulong4 __attribute__((ext_vector_type(4)));
    -00274 
    -00279 typedef char char2 __attribute__((ext_vector_type(2)));
    -00284 typedef char char3 __attribute__((ext_vector_type(3)));
    -00289 typedef char char4 __attribute__((ext_vector_type(4)));
    -00290 
    -00295 typedef short short2 __attribute__((ext_vector_type(2)));
    -00300 typedef short short3 __attribute__((ext_vector_type(3)));
    -00305 typedef short short4 __attribute__((ext_vector_type(4)));
    -00306 
    -00311 typedef int int2 __attribute__((ext_vector_type(2)));
    -00316 typedef int int3 __attribute__((ext_vector_type(3)));
    -00321 typedef int int4 __attribute__((ext_vector_type(4)));
    -00322 
    -00327 typedef long long2 __attribute__((ext_vector_type(2)));
    -00332 typedef long long3 __attribute__((ext_vector_type(3)));
    -00337 typedef long long4 __attribute__((ext_vector_type(4)));
    -00338 
    -00345 typedef struct {
    -00346     float m[16];
    -00347 } rs_matrix4x4;
    -00354 typedef struct {
    -00355     float m[9];
    -00356 } rs_matrix3x3;
    -00363 typedef struct {
    -00364     float m[4];
    -00365 } rs_matrix2x2;
    -00366 
    -00370 typedef float4 rs_quaternion;
    -00371 
    -00372 #define RS_PACKED __attribute__((packed, aligned(4)))
    -00373 #define NULL ((void *)0)
    -00374 
    -00375 #if (defined(RS_VERSION) && (RS_VERSION >= 14))
    -00376 
    -00380 typedef enum {
    -00381     RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X = 0,
    -00382     RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_X = 1,
    -00383     RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Y = 2,
    -00384     RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Y = 3,
    -00385     RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Z = 4,
    -00386     RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Z = 5
    -00387 } rs_allocation_cubemap_face;
    -00388 
    -00395 typedef enum {
    -00396     RS_ALLOCATION_USAGE_SCRIPT = 0x0001,
    -00397     RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE = 0x0002,
    -00398     RS_ALLOCATION_USAGE_GRAPHICS_VERTEX = 0x0004,
    -00399     RS_ALLOCATION_USAGE_GRAPHICS_CONSTANTS = 0x0008,
    -00400     RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010
    -00401 } rs_allocation_usage_type;
    -00402 
    -00403 #endif //defined(RS_VERSION) && (RS_VERSION >= 14)
    -00404 
    -00405 // New API's
    -00406 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
    -00407 
    -00412 typedef enum {
    -00416     RS_PRIMITIVE_POINT              = 0,
    -00420     RS_PRIMITIVE_LINE               = 1,
    -00424     RS_PRIMITIVE_LINE_STRIP         = 2,
    -00428     RS_PRIMITIVE_TRIANGLE           = 3,
    -00434     RS_PRIMITIVE_TRIANGLE_STRIP     = 4,
    -00439     RS_PRIMITIVE_TRIANGLE_FAN       = 5,
    -00440 
    -00444     RS_PRIMITIVE_INVALID            = 100,
    -00445 } rs_primitive;
    -00446 
    -00465 typedef enum {
    -00466     RS_TYPE_NONE             = 0,
    -00467     RS_TYPE_FLOAT_32         = 2,
    -00468     RS_TYPE_FLOAT_64         = 3,
    -00469     RS_TYPE_SIGNED_8         = 4,
    -00470     RS_TYPE_SIGNED_16        = 5,
    -00471     RS_TYPE_SIGNED_32        = 6,
    -00472     RS_TYPE_SIGNED_64        = 7,
    -00473     RS_TYPE_UNSIGNED_8       = 8,
    -00474     RS_TYPE_UNSIGNED_16      = 9,
    -00475     RS_TYPE_UNSIGNED_32      = 10,
    -00476     RS_TYPE_UNSIGNED_64      = 11,
    -00477 
    -00478     RS_TYPE_BOOLEAN          = 12,
    -00479 
    -00480     RS_TYPE_UNSIGNED_5_6_5   = 13,
    -00481     RS_TYPE_UNSIGNED_5_5_5_1 = 14,
    -00482     RS_TYPE_UNSIGNED_4_4_4_4 = 15,
    -00483 
    -00484     RS_TYPE_MATRIX_4X4       = 16,
    -00485     RS_TYPE_MATRIX_3X3       = 17,
    -00486     RS_TYPE_MATRIX_2X2       = 18,
    -00487 
    -00488     RS_TYPE_ELEMENT          = 1000,
    -00489     RS_TYPE_TYPE             = 1001,
    -00490     RS_TYPE_ALLOCATION       = 1002,
    -00491     RS_TYPE_SAMPLER          = 1003,
    -00492     RS_TYPE_SCRIPT           = 1004,
    -00493     RS_TYPE_MESH             = 1005,
    -00494     RS_TYPE_PROGRAM_FRAGMENT = 1006,
    -00495     RS_TYPE_PROGRAM_VERTEX   = 1007,
    -00496     RS_TYPE_PROGRAM_RASTER   = 1008,
    -00497     RS_TYPE_PROGRAM_STORE    = 1009,
    -00498     RS_TYPE_FONT             = 1010,
    -00499 
    -00500     RS_TYPE_INVALID          = 10000,
    -00501 } rs_data_type;
    -00502 
    -00511 typedef enum {
    -00512     RS_KIND_USER         = 0,
    -00513 
    -00514     RS_KIND_PIXEL_L      = 7,
    -00515     RS_KIND_PIXEL_A      = 8,
    -00516     RS_KIND_PIXEL_LA     = 9,
    -00517     RS_KIND_PIXEL_RGB    = 10,
    -00518     RS_KIND_PIXEL_RGBA   = 11,
    -00519     RS_KIND_PIXEL_DEPTH  = 12,
    -00520 
    -00521     RS_KIND_INVALID      = 100,
    -00522 } rs_data_kind;
    -00523 
    -00524 typedef enum {
    -00528     RS_DEPTH_FUNC_ALWAYS        = 0,
    -00533     RS_DEPTH_FUNC_LESS          = 1,
    -00538     RS_DEPTH_FUNC_LEQUAL        = 2,
    -00543     RS_DEPTH_FUNC_GREATER       = 3,
    -00548     RS_DEPTH_FUNC_GEQUAL        = 4,
    -00553     RS_DEPTH_FUNC_EQUAL         = 5,
    -00558     RS_DEPTH_FUNC_NOTEQUAL      = 6,
    -00562     RS_DEPTH_FUNC_INVALID       = 100,
    -00563 } rs_depth_func;
    -00564 
    -00565 typedef enum {
    -00566     RS_BLEND_SRC_ZERO                   = 0,
    -00567     RS_BLEND_SRC_ONE                    = 1,
    -00568     RS_BLEND_SRC_DST_COLOR              = 2,
    -00569     RS_BLEND_SRC_ONE_MINUS_DST_COLOR    = 3,
    -00570     RS_BLEND_SRC_SRC_ALPHA              = 4,
    -00571     RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA    = 5,
    -00572     RS_BLEND_SRC_DST_ALPHA              = 6,
    -00573     RS_BLEND_SRC_ONE_MINUS_DST_ALPHA    = 7,
    -00574     RS_BLEND_SRC_SRC_ALPHA_SATURATE     = 8,
    -00575 
    -00576     RS_BLEND_SRC_INVALID                = 100,
    -00577 } rs_blend_src_func;
    +00044 /* Constants */
    +00045 #define M_E         2.718281828459045235360287471352662498f     /* e */
    +00046 #define M_LOG2E     1.442695040888963407359924681001892137f     /* log_2 e */
    +00047 #define M_LOG10E    0.434294481903251827651128918916605082f     /* log_10 e */
    +00048 #define M_LN2       0.693147180559945309417232121458176568f     /* log_e 2 */
    +00049 #define M_LN10      2.302585092994045684017991454684364208f     /* log_e 10 */
    +00050 #define M_PI        3.141592653589793238462643383279502884f     /* pi */
    +00051 #define M_PI_2      1.570796326794896619231321691639751442f     /* pi/2 */
    +00052 #define M_PI_4      0.785398163397448309615660845819875721f     /* pi/4 */
    +00053 #define M_1_PI      0.318309886183790671537767526745028724f     /* 1/pi */
    +00054 #define M_2_PIl     0.636619772367581343075535053490057448f     /* 2/pi */
    +00055 #define M_2_SQRTPI  1.128379167095512573896158903121545172f     /* 2/sqrt(pi) */
    +00056 #define M_SQRT2     1.414213562373095048801688724209698079f     /* sqrt(2) */
    +00057 #define M_SQRT1_2   0.707106781186547524400844362104849039f     /* 1/sqrt(2) */
    +00058 
    +00059 #include "stdbool.h"
    +00063 typedef char int8_t;
    +00067 typedef short int16_t;
    +00071 typedef int int32_t;
    +00075 typedef long long int64_t;
    +00079 typedef unsigned char uint8_t;
    +00083 typedef unsigned short uint16_t;
    +00087 typedef unsigned int uint32_t;
    +00091 typedef unsigned long long uint64_t;
    +00095 typedef uint8_t uchar;
    +00099 typedef uint16_t ushort;
    +00103 typedef uint32_t uint;
    +00107 typedef uint64_t ulong;
    +00111 typedef uint32_t size_t;
    +00115 typedef int32_t ssize_t;
    +00116 
    +00122 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_element;
    +00128 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_type;
    +00134 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_allocation;
    +00140 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_sampler;
    +00146 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_script;
    +00152 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_mesh;
    +00158 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_path;
    +00164 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_fragment;
    +00170 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_vertex;
    +00176 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_raster;
    +00182 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_store;
    +00188 typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_font;
    +00189 
    +00195 typedef float float2 __attribute__((ext_vector_type(2)));
    +00200 typedef float float3 __attribute__((ext_vector_type(3)));
    +00206 typedef float float4 __attribute__((ext_vector_type(4)));
    +00207 
    +00212 typedef double double2 __attribute__((ext_vector_type(2)));
    +00217 typedef double double3 __attribute__((ext_vector_type(3)));
    +00222 typedef double double4 __attribute__((ext_vector_type(4)));
    +00223 
    +00228 typedef uchar uchar2 __attribute__((ext_vector_type(2)));
    +00233 typedef uchar uchar3 __attribute__((ext_vector_type(3)));
    +00238 typedef uchar uchar4 __attribute__((ext_vector_type(4)));
    +00239 
    +00244 typedef ushort ushort2 __attribute__((ext_vector_type(2)));
    +00249 typedef ushort ushort3 __attribute__((ext_vector_type(3)));
    +00254 typedef ushort ushort4 __attribute__((ext_vector_type(4)));
    +00255 
    +00260 typedef uint uint2 __attribute__((ext_vector_type(2)));
    +00265 typedef uint uint3 __attribute__((ext_vector_type(3)));
    +00270 typedef uint uint4 __attribute__((ext_vector_type(4)));
    +00271 
    +00276 typedef ulong ulong2 __attribute__((ext_vector_type(2)));
    +00281 typedef ulong ulong3 __attribute__((ext_vector_type(3)));
    +00286 typedef ulong ulong4 __attribute__((ext_vector_type(4)));
    +00287 
    +00292 typedef char char2 __attribute__((ext_vector_type(2)));
    +00297 typedef char char3 __attribute__((ext_vector_type(3)));
    +00302 typedef char char4 __attribute__((ext_vector_type(4)));
    +00303 
    +00308 typedef short short2 __attribute__((ext_vector_type(2)));
    +00313 typedef short short3 __attribute__((ext_vector_type(3)));
    +00318 typedef short short4 __attribute__((ext_vector_type(4)));
    +00319 
    +00324 typedef int int2 __attribute__((ext_vector_type(2)));
    +00329 typedef int int3 __attribute__((ext_vector_type(3)));
    +00334 typedef int int4 __attribute__((ext_vector_type(4)));
    +00335 
    +00340 typedef long long2 __attribute__((ext_vector_type(2)));
    +00345 typedef long long3 __attribute__((ext_vector_type(3)));
    +00350 typedef long long4 __attribute__((ext_vector_type(4)));
    +00351 
    +00358 typedef struct {
    +00359     float m[16];
    +00360 } rs_matrix4x4;
    +00367 typedef struct {
    +00368     float m[9];
    +00369 } rs_matrix3x3;
    +00376 typedef struct {
    +00377     float m[4];
    +00378 } rs_matrix2x2;
    +00379 
    +00383 typedef float4 rs_quaternion;
    +00384 
    +00385 #define RS_PACKED __attribute__((packed, aligned(4)))
    +00386 #define NULL ((void *)0)
    +00387 
    +00388 #if (defined(RS_VERSION) && (RS_VERSION >= 14))
    +00389 
    +00393 typedef enum {
    +00394     RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X = 0,
    +00395     RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_X = 1,
    +00396     RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Y = 2,
    +00397     RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Y = 3,
    +00398     RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Z = 4,
    +00399     RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Z = 5
    +00400 } rs_allocation_cubemap_face;
    +00401 
    +00408 typedef enum {
    +00409     RS_ALLOCATION_USAGE_SCRIPT = 0x0001,
    +00410     RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE = 0x0002,
    +00411     RS_ALLOCATION_USAGE_GRAPHICS_VERTEX = 0x0004,
    +00412     RS_ALLOCATION_USAGE_GRAPHICS_CONSTANTS = 0x0008,
    +00413     RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010
    +00414 } rs_allocation_usage_type;
    +00415 
    +00416 #endif //defined(RS_VERSION) && (RS_VERSION >= 14)
    +00417 
    +00418 // New API's
    +00419 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
    +00420 
    +00425 typedef enum {
    +00429     RS_PRIMITIVE_POINT              = 0,
    +00433     RS_PRIMITIVE_LINE               = 1,
    +00437     RS_PRIMITIVE_LINE_STRIP         = 2,
    +00441     RS_PRIMITIVE_TRIANGLE           = 3,
    +00447     RS_PRIMITIVE_TRIANGLE_STRIP     = 4,
    +00452     RS_PRIMITIVE_TRIANGLE_FAN       = 5,
    +00453 
    +00457     RS_PRIMITIVE_INVALID            = 100,
    +00458 } rs_primitive;
    +00459 
    +00478 typedef enum {
    +00479     RS_TYPE_NONE             = 0,
    +00480     RS_TYPE_FLOAT_32         = 2,
    +00481     RS_TYPE_FLOAT_64         = 3,
    +00482     RS_TYPE_SIGNED_8         = 4,
    +00483     RS_TYPE_SIGNED_16        = 5,
    +00484     RS_TYPE_SIGNED_32        = 6,
    +00485     RS_TYPE_SIGNED_64        = 7,
    +00486     RS_TYPE_UNSIGNED_8       = 8,
    +00487     RS_TYPE_UNSIGNED_16      = 9,
    +00488     RS_TYPE_UNSIGNED_32      = 10,
    +00489     RS_TYPE_UNSIGNED_64      = 11,
    +00490 
    +00491     RS_TYPE_BOOLEAN          = 12,
    +00492 
    +00493     RS_TYPE_UNSIGNED_5_6_5   = 13,
    +00494     RS_TYPE_UNSIGNED_5_5_5_1 = 14,
    +00495     RS_TYPE_UNSIGNED_4_4_4_4 = 15,
    +00496 
    +00497     RS_TYPE_MATRIX_4X4       = 16,
    +00498     RS_TYPE_MATRIX_3X3       = 17,
    +00499     RS_TYPE_MATRIX_2X2       = 18,
    +00500 
    +00501     RS_TYPE_ELEMENT          = 1000,
    +00502     RS_TYPE_TYPE             = 1001,
    +00503     RS_TYPE_ALLOCATION       = 1002,
    +00504     RS_TYPE_SAMPLER          = 1003,
    +00505     RS_TYPE_SCRIPT           = 1004,
    +00506     RS_TYPE_MESH             = 1005,
    +00507     RS_TYPE_PROGRAM_FRAGMENT = 1006,
    +00508     RS_TYPE_PROGRAM_VERTEX   = 1007,
    +00509     RS_TYPE_PROGRAM_RASTER   = 1008,
    +00510     RS_TYPE_PROGRAM_STORE    = 1009,
    +00511     RS_TYPE_FONT             = 1010,
    +00512 
    +00513     RS_TYPE_INVALID          = 10000,
    +00514 } rs_data_type;
    +00515 
    +00524 typedef enum {
    +00525     RS_KIND_USER         = 0,
    +00526 
    +00527     RS_KIND_PIXEL_L      = 7,
    +00528     RS_KIND_PIXEL_A      = 8,
    +00529     RS_KIND_PIXEL_LA     = 9,
    +00530     RS_KIND_PIXEL_RGB    = 10,
    +00531     RS_KIND_PIXEL_RGBA   = 11,
    +00532     RS_KIND_PIXEL_DEPTH  = 12,
    +00533     RS_KIND_PIXEL_YUV    = 13,
    +00534 
    +00535     RS_KIND_INVALID      = 100,
    +00536 } rs_data_kind;
    +00537 
    +00538 typedef enum {
    +00542     RS_DEPTH_FUNC_ALWAYS        = 0,
    +00547     RS_DEPTH_FUNC_LESS          = 1,
    +00552     RS_DEPTH_FUNC_LEQUAL        = 2,
    +00557     RS_DEPTH_FUNC_GREATER       = 3,
    +00562     RS_DEPTH_FUNC_GEQUAL        = 4,
    +00567     RS_DEPTH_FUNC_EQUAL         = 5,
    +00572     RS_DEPTH_FUNC_NOTEQUAL      = 6,
    +00576     RS_DEPTH_FUNC_INVALID       = 100,
    +00577 } rs_depth_func;
     00578 
     00579 typedef enum {
    -00580     RS_BLEND_DST_ZERO                   = 0,
    -00581     RS_BLEND_DST_ONE                    = 1,
    -00582     RS_BLEND_DST_SRC_COLOR              = 2,
    -00583     RS_BLEND_DST_ONE_MINUS_SRC_COLOR    = 3,
    -00584     RS_BLEND_DST_SRC_ALPHA              = 4,
    -00585     RS_BLEND_DST_ONE_MINUS_SRC_ALPHA    = 5,
    -00586     RS_BLEND_DST_DST_ALPHA              = 6,
    -00587     RS_BLEND_DST_ONE_MINUS_DST_ALPHA    = 7,
    -00588 
    -00589     RS_BLEND_DST_INVALID                = 100,
    -00590 } rs_blend_dst_func;
    -00591 
    -00592 typedef enum {
    -00593     RS_CULL_BACK     = 0,
    -00594     RS_CULL_FRONT    = 1,
    -00595     RS_CULL_NONE     = 2,
    -00596 
    -00597     RS_CULL_INVALID  = 100,
    -00598 } rs_cull_mode;
    -00599 
    -00600 typedef enum {
    -00601     RS_SAMPLER_NEAREST              = 0,
    -00602     RS_SAMPLER_LINEAR               = 1,
    -00603     RS_SAMPLER_LINEAR_MIP_LINEAR    = 2,
    -00604     RS_SAMPLER_WRAP                 = 3,
    -00605     RS_SAMPLER_CLAMP                = 4,
    -00606     RS_SAMPLER_LINEAR_MIP_NEAREST   = 5,
    -00607 
    -00608     RS_SAMPLER_INVALID              = 100,
    -00609 } rs_sampler_value;
    +00580     RS_BLEND_SRC_ZERO                   = 0,
    +00581     RS_BLEND_SRC_ONE                    = 1,
    +00582     RS_BLEND_SRC_DST_COLOR              = 2,
    +00583     RS_BLEND_SRC_ONE_MINUS_DST_COLOR    = 3,
    +00584     RS_BLEND_SRC_SRC_ALPHA              = 4,
    +00585     RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA    = 5,
    +00586     RS_BLEND_SRC_DST_ALPHA              = 6,
    +00587     RS_BLEND_SRC_ONE_MINUS_DST_ALPHA    = 7,
    +00588     RS_BLEND_SRC_SRC_ALPHA_SATURATE     = 8,
    +00589 
    +00590     RS_BLEND_SRC_INVALID                = 100,
    +00591 } rs_blend_src_func;
    +00592 
    +00593 typedef enum {
    +00594     RS_BLEND_DST_ZERO                   = 0,
    +00595     RS_BLEND_DST_ONE                    = 1,
    +00596     RS_BLEND_DST_SRC_COLOR              = 2,
    +00597     RS_BLEND_DST_ONE_MINUS_SRC_COLOR    = 3,
    +00598     RS_BLEND_DST_SRC_ALPHA              = 4,
    +00599     RS_BLEND_DST_ONE_MINUS_SRC_ALPHA    = 5,
    +00600     RS_BLEND_DST_DST_ALPHA              = 6,
    +00601     RS_BLEND_DST_ONE_MINUS_DST_ALPHA    = 7,
    +00602 
    +00603     RS_BLEND_DST_INVALID                = 100,
    +00604 } rs_blend_dst_func;
    +00605 
    +00606 typedef enum {
    +00607     RS_CULL_BACK     = 0,
    +00608     RS_CULL_FRONT    = 1,
    +00609     RS_CULL_NONE     = 2,
     00610 
    -00611 #endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
    -00612 
    -00613 #endif // __RS_TYPES_RSH__
    +00611     RS_CULL_INVALID  = 100,
    +00612 } rs_cull_mode;
    +00613 
    +00614 typedef enum {
    +00615     RS_SAMPLER_NEAREST              = 0,
    +00616     RS_SAMPLER_LINEAR               = 1,
    +00617     RS_SAMPLER_LINEAR_MIP_LINEAR    = 2,
    +00618     RS_SAMPLER_WRAP                 = 3,
    +00619     RS_SAMPLER_CLAMP                = 4,
    +00620     RS_SAMPLER_LINEAR_MIP_NEAREST   = 5,
    +00621     RS_SAMPLER_MIRRORED_REPEAT      = 6,
    +00622 
    +00623     RS_SAMPLER_INVALID              = 100,
    +00624 } rs_sampler_value;
    +00625 
    +00626 #endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
    +00627 
    +00628 #endif // __RS_TYPES_RSH__
     
    diff --git a/docs/html/reference/renderscript/structrs__allocation.html b/docs/html/reference/renderscript/structrs__allocation.html index ba6d97344fdf3..1ffbc4777348b 100644 --- a/docs/html/reference/renderscript/structrs__allocation.html +++ b/docs/html/reference/renderscript/structrs__allocation.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript allocation. +

    Opaque handle to a RenderScript allocation. More...


    Detailed Description

    -

    Opaque handle to a Renderscript allocation.

    +

    Opaque handle to a RenderScript allocation.

    See: android.renderscript.Allocation

    -

    Definition at line 121 of file rs_types.rsh.

    +

    Definition at line 134 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__element.html b/docs/html/reference/renderscript/structrs__element.html index e3803783e1cae..d6a1460bc14db 100644 --- a/docs/html/reference/renderscript/structrs__element.html +++ b/docs/html/reference/renderscript/structrs__element.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript element. +

    Opaque handle to a RenderScript element. More...


    Detailed Description

    -

    Opaque handle to a Renderscript element.

    +

    Opaque handle to a RenderScript element.

    See: android.renderscript.Element

    -

    Definition at line 109 of file rs_types.rsh.

    +

    Definition at line 122 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__font.html b/docs/html/reference/renderscript/structrs__font.html index 4d5cd9e26a042..dbc4c4dd29e22 100644 --- a/docs/html/reference/renderscript/structrs__font.html +++ b/docs/html/reference/renderscript/structrs__font.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript font object. +

    Opaque handle to a RenderScript font object. More...


    Detailed Description

    -

    Opaque handle to a Renderscript font object.

    +

    Opaque handle to a RenderScript font object.

    See: android.renderscript.Font

    -

    Definition at line 175 of file rs_types.rsh.

    +

    Definition at line 188 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__matrix2x2.html b/docs/html/reference/renderscript/structrs__matrix2x2.html index 5d08900ed1e53..bacfa02f36bc2 100644 --- a/docs/html/reference/renderscript/structrs__matrix2x2.html +++ b/docs/html/reference/renderscript/structrs__matrix2x2.html @@ -35,9 +35,9 @@

    2x2 float matrix

    Native holder for RS matrix. Elements are stored in the array at the location [row*2 + col]

    -

    Definition at line 363 of file rs_types.rsh.

    +

    Definition at line 376 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__matrix3x3.html b/docs/html/reference/renderscript/structrs__matrix3x3.html index f63ffe8cf5197..3745608c6228b 100644 --- a/docs/html/reference/renderscript/structrs__matrix3x3.html +++ b/docs/html/reference/renderscript/structrs__matrix3x3.html @@ -35,9 +35,9 @@

    3x3 float matrix

    Native holder for RS matrix. Elements are stored in the array at the location [row*3 + col]

    -

    Definition at line 354 of file rs_types.rsh.

    +

    Definition at line 367 of file rs_types.rsh.


    The documentation for this struct was generated from the following file: diff --git a/docs/html/reference/renderscript/structrs__matrix4x4.html b/docs/html/reference/renderscript/structrs__matrix4x4.html index 1a10edf83327c..26b57d13805f5 100644 --- a/docs/html/reference/renderscript/structrs__matrix4x4.html +++ b/docs/html/reference/renderscript/structrs__matrix4x4.html @@ -35,9 +35,9 @@

    4x4 float matrix

    Native holder for RS matrix. Elements are stored in the array at the location [row*4 + col]

    -

    Definition at line 345 of file rs_types.rsh.

    +

    Definition at line 358 of file rs_types.rsh.


    The documentation for this struct was generated from the following file: diff --git a/docs/html/reference/renderscript/structrs__mesh.html b/docs/html/reference/renderscript/structrs__mesh.html index 2a49a6aab8ee8..fed96d9634a0e 100644 --- a/docs/html/reference/renderscript/structrs__mesh.html +++ b/docs/html/reference/renderscript/structrs__mesh.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript mesh object. +

    Opaque handle to a RenderScript mesh object. More...


    Detailed Description

    -

    Opaque handle to a Renderscript mesh object.

    +

    Opaque handle to a RenderScript mesh object.

    See: android.renderscript.Mesh

    -

    Definition at line 139 of file rs_types.rsh.

    +

    Definition at line 152 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__path.html b/docs/html/reference/renderscript/structrs__path.html index 2ec823d4a5228..ef7f6508d662d 100644 --- a/docs/html/reference/renderscript/structrs__path.html +++ b/docs/html/reference/renderscript/structrs__path.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript Path object. +

    Opaque handle to a RenderScript Path object. More...


    Detailed Description

    -

    Opaque handle to a Renderscript Path object.

    +

    Opaque handle to a RenderScript Path object.

    See: android.renderscript.Path

    -

    Definition at line 145 of file rs_types.rsh.

    +

    Definition at line 158 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__program__fragment.html b/docs/html/reference/renderscript/structrs__program__fragment.html index 8c9a241e1113f..707e89915745d 100644 --- a/docs/html/reference/renderscript/structrs__program__fragment.html +++ b/docs/html/reference/renderscript/structrs__program__fragment.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript ProgramFragment object. +

    Opaque handle to a RenderScript ProgramFragment object. More...


    Detailed Description

    -

    Opaque handle to a Renderscript ProgramFragment object.

    +

    Opaque handle to a RenderScript ProgramFragment object.

    See: android.renderscript.ProgramFragment

    -

    Definition at line 151 of file rs_types.rsh.

    +

    Definition at line 164 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__program__raster.html b/docs/html/reference/renderscript/structrs__program__raster.html index 201825bda5150..444aaf94aed7e 100644 --- a/docs/html/reference/renderscript/structrs__program__raster.html +++ b/docs/html/reference/renderscript/structrs__program__raster.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript ProgramRaster object. +

    Opaque handle to a RenderScript ProgramRaster object. More...


    Detailed Description

    -

    Opaque handle to a Renderscript ProgramRaster object.

    +

    Opaque handle to a RenderScript ProgramRaster object.

    See: android.renderscript.ProgramRaster

    -

    Definition at line 163 of file rs_types.rsh.

    +

    Definition at line 176 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__program__store.html b/docs/html/reference/renderscript/structrs__program__store.html index 800d29ba533a1..c187392d46663 100644 --- a/docs/html/reference/renderscript/structrs__program__store.html +++ b/docs/html/reference/renderscript/structrs__program__store.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript ProgramStore object. +

    Opaque handle to a RenderScript ProgramStore object. More...


    Detailed Description

    -

    Opaque handle to a Renderscript ProgramStore object.

    +

    Opaque handle to a RenderScript ProgramStore object.

    See: android.renderscript.ProgramStore

    -

    Definition at line 169 of file rs_types.rsh.

    +

    Definition at line 182 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__program__vertex.html b/docs/html/reference/renderscript/structrs__program__vertex.html index 9f425fe1fd421..c3688b76b8230 100644 --- a/docs/html/reference/renderscript/structrs__program__vertex.html +++ b/docs/html/reference/renderscript/structrs__program__vertex.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript ProgramVertex object. +

    Opaque handle to a RenderScript ProgramVertex object. More...


    Detailed Description

    -

    Opaque handle to a Renderscript ProgramVertex object.

    +

    Opaque handle to a RenderScript ProgramVertex object.

    See: android.renderscript.ProgramVertex

    -

    Definition at line 157 of file rs_types.rsh.

    +

    Definition at line 170 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__sampler.html b/docs/html/reference/renderscript/structrs__sampler.html index 9f48abcea27f5..daba2bbf6f655 100644 --- a/docs/html/reference/renderscript/structrs__sampler.html +++ b/docs/html/reference/renderscript/structrs__sampler.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript sampler object. +

    Opaque handle to a RenderScript sampler object. More...


    Detailed Description

    -

    Opaque handle to a Renderscript sampler object.

    +

    Opaque handle to a RenderScript sampler object.

    See: android.renderscript.Sampler

    -

    Definition at line 127 of file rs_types.rsh.

    +

    Definition at line 140 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__script.html b/docs/html/reference/renderscript/structrs__script.html index 8294378a9632c..ea39d95c6a884 100644 --- a/docs/html/reference/renderscript/structrs__script.html +++ b/docs/html/reference/renderscript/structrs__script.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript script object. +

    Opaque handle to a RenderScript script object. More...


    Detailed Description

    -

    Opaque handle to a Renderscript script object.

    +

    Opaque handle to a RenderScript script object.

    See: android.renderscript.ScriptC

    -

    Definition at line 133 of file rs_types.rsh.

    +

    Definition at line 146 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__script__call.html b/docs/html/reference/renderscript/structrs__script__call.html index 83432e5963576..e4c082018e1b5 100644 --- a/docs/html/reference/renderscript/structrs__script__call.html +++ b/docs/html/reference/renderscript/structrs__script__call.html @@ -31,9 +31,9 @@

    Detailed Description

    Structure to provide extra information to a rsForEach call. Primarly used to restrict the call to a subset of cells in the allocation.

    -

    Definition at line 106 of file rs_core.rsh.

    +

    Definition at line 110 of file rs_core.rsh.


    The documentation for this struct was generated from the following file:
    diff --git a/docs/html/reference/renderscript/structrs__tm.html b/docs/html/reference/renderscript/structrs__tm.html index 8148dcb3a3c01..b6447b555e9a2 100644 --- a/docs/html/reference/renderscript/structrs__tm.html +++ b/docs/html/reference/renderscript/structrs__tm.html @@ -67,7 +67,7 @@ int 49 of file rs_time.rsh.


    The documentation for this struct was generated from the following file: diff --git a/docs/html/reference/renderscript/structrs__type.html b/docs/html/reference/renderscript/structrs__type.html index 7d97fb90a5fad..ef95ed18e5796 100644 --- a/docs/html/reference/renderscript/structrs__type.html +++ b/docs/html/reference/renderscript/structrs__type.html @@ -29,15 +29,15 @@
    -

    Opaque handle to a Renderscript type. +

    Opaque handle to a RenderScript type. More...


    Detailed Description

    -

    Opaque handle to a Renderscript type.

    +

    Opaque handle to a RenderScript type.

    See: android.renderscript.Type

    -

    Definition at line 115 of file rs_types.rsh.

    +

    Definition at line 128 of file rs_types.rsh.


    The documentation for this struct was generated from the following file:
    From c80e3d434f034d8594014df2fe028e9420930ea8 Mon Sep 17 00:00:00 2001 From: Wink Saville Date: Wed, 19 Jun 2013 11:28:06 -0700 Subject: [PATCH 11/14] TelephonyManager.listen can have notifyNow always true. Since telepony.registry is a real system service notifyNow parameter doesn't need to be conditional as telephony.registery will never go away. This is different from most of the other TelephonyManager methods which are used to invoke methods on the phone service which implements ITelephony and is implemented by PhoneInterfaceManager in the phone application. Since the phone app is not a system service it can and does go away when it crashes. Bug: 9393863 Change-Id: I1a8afc12b0e139e72f05820e49f3d996aec2b52a --- telephony/java/android/telephony/TelephonyManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 26dde1e15e0fc..4185aea5278d6 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -1252,7 +1252,7 @@ public class TelephonyManager { public void listen(PhoneStateListener listener, int events) { String pkgForDebug = mContext != null ? mContext.getPackageName() : ""; try { - Boolean notifyNow = (getITelephony() != null); + Boolean notifyNow = true; sRegistry.listen(pkgForDebug, listener.callback, events, notifyNow); } catch (RemoteException ex) { // system process dead From 71baac13580dd6f16bf5308eb1571bcb014676fc Mon Sep 17 00:00:00 2001 From: kmccormick Date: Tue, 11 Jun 2013 13:17:55 -0700 Subject: [PATCH 12/14] Doc change: New class on avoiding save conflicts Change-Id: Ie20b2c7aca3f0724c9b04c6403deb18e1a07d322 --- docs/html/training/cloudsave/conflict-res.jd | 597 +++++++++++++++++++ docs/html/training/cloudsync/gcm.jd | 5 - docs/html/training/training_toc.cs | 7 +- 3 files changed, 603 insertions(+), 6 deletions(-) create mode 100644 docs/html/training/cloudsave/conflict-res.jd diff --git a/docs/html/training/cloudsave/conflict-res.jd b/docs/html/training/cloudsave/conflict-res.jd new file mode 100644 index 0000000000000..0ff50e2c88cce --- /dev/null +++ b/docs/html/training/cloudsave/conflict-res.jd @@ -0,0 +1,597 @@ +page.title=Resolving Cloud Save Conflicts +page.tags="cloud" + +page.article=true +@jd:body + + + + + +

    This article describes how to design a robust conflict resolution strategy for +apps that save data to the cloud using the + +Cloud Save service. The Cloud Save service +allows you to store application data for each user of an application on Google's +servers. Your application can retrieve and update this user data from Android +devices, iOS devices, or web applications by using the Cloud Save APIs.

    + +

    Saving and loading progress in Cloud Save is straightforward: it's just a matter +of serializing the player's data to and from byte arrays and storing those arrays +in the cloud. However, when your user has multiple devices and two or more of them attempt +to save data to the cloud, the saves might conflict, and you must decide how to +resolve it. The structure of your cloud save data largely dictates how robust +your conflict resolution can be, so you must design your data carefully in order +to allow your conflict resolution logic to handle each case correctly.

    + +

    The article starts by describing a few flawed approaches +and explains where they fall short. Then it presents a solution for avoiding +conflicts. The discussion focuses on games, but you can +apply the same principles to any app that saves data to the cloud.

    + +

    Get Notified of Conflicts

    + +

    The +{@code OnStateLoadedListener} +methods are responsible for loading an application's state data from Google's servers. +The callback +{@code OnStateLoadedListener.onStateConflict} provides a mechanism +for your application to resolve conflicts between the local state on a user's +device and the state stored in the cloud:

    + +
    @Override
    +public void onStateConflict(int stateKey, String resolvedVersion,
    +    byte[] localData, byte[] serverData) {
    +    // resolve conflict, then call mAppStateClient.resolveConflict()
    + ...
    +}
    + +

    At this point your application must choose which one of the data sets should +be kept, or it can submit a new data set that represents the merged data. It is +up to you to implement this conflict resolution logic.

    + +

    It's important to realize that the Cloud Save service synchronizes +data in the background. Therefore, you should ensure that your app is prepared +to receive that callback outside of the context where you originally generated +the data. Specifically, if the Google Play services application detects a conflict +in the background, the callback will be called the next time you attempt to load the +data, which might not happen until the next time the user starts the app.

    + +

    Therefore, design of your cloud save data and conflict resolution code must be +context-independent: given two conflicting save states, you must be able +to resolve the conflict using only the data available within the data sets, without +consulting any external context.

    + +

    Handle the Simple Cases

    + +

    Here are some simple cases of conflict resolution. For many apps, it is +sufficient to adopt a variant of one of these strategies:

    + +
      +
    • New is better than old. In some cases, new data should +always replace old data. For example, if the data represents the player's choice +for a character's shirt color, then a more recent choice should override an +older choice. In this case, you would probably choose to store the timestamp in the cloud +save data. When resolving the conflict, pick the data set with the most recent +timestamp (remember to use a reliable clock, and be careful about time zone +differences).
    • + +
    • One set of data is clearly better than the other. In other +cases, it will always be clear which data can be defined as "best". For +example, if the data represents the player's best time in a racing game, then it's +clear that, in case of conflicts, you should keep the best (smallest) time.
    • + +
    • Merge by union. It may be possible to resolve the conflict +by computing a union of the two conflicting sets. For example, if your data +represents the set of levels that player has unlocked, then the resolved data is +simply the union of the two conflicting sets. This way, players won't lose any +levels they have unlocked. The + +CollectAllTheStars sample game uses a variant of this strategy.
    • +
    + +

    Design a Strategy for More Complex Cases

    + +

    A more complicated case happens when your game allows the player to collect +fungible items or units, such as gold coins or experience points. Let's +consider a hypothetical game, called Coin Run, an infinite runner where the goal +is to collect coins and become very, very rich. Each coin collected gets added to +the player's piggy bank.

    + +

    The following sections describe three strategies for resolving sync conflicts +between multiple devices: two that sound good but ultimately fail to successfully +resolve all scenarios, and one final solution that can manage conflicts between +any number of devices.

    + +

    First Attempt: Store Only the Total

    + +

    At first thought, it might seem that the cloud save data should simply be the +number of coins in the bank. But if that data is all that's available, conflict +resolution will be severely limited. The best you could do would be to pick the largest of +the two numbers in case of a conflict.

    + +

    Consider the scenario illustrated in Table 1. Suppose the player initially +has 20 coins, and then collects 10 coins on device A and 15 coins on device B. +Then device B saves the state to the cloud. When device A attempts to save, a +conflict is detected. The "store only the total" conflict resolution algorithm would resolve +the conflict by writing 35 (the largest of the two numbers).

    + +

    Table 1. Storing only the total number +of coins (failed strategy).

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    EventData on Device AData on Device BData on CloudActual Total
    Starting conditions20202020
    Player collects 10 coins on device A30202030
    Player collects 15 coins on device B30352045
    Device B saves state to cloud30353545
    Device A tries to save state to cloud.
    + Conflict detected.
    30353545
    Device A resolves conflict by picking largest of the two numbers.35353545
    + +

    This strategy would fail—the player's bank has gone from 20 +to 35, when the user actually collected a total of 25 coins (10 on device A and 15 on +device B). So 10 coins were lost. Storing only the total number of coins in the +cloud save is not enough to implement a robust conflict resolution algorithm.

    + +

    Second Attempt: Store the Total and the Delta

    + +

    A different approach is to include an additional field in +the save data: the number of coins added (the delta) since the last commit. In +this approach the save data can be represented by a tuple (T,d) where T is +the total number of coins and d is the number of coins that you just +added.

    + +

    With this structure, your conflict resolution algorithm has room to be more +robust, as illustrated below. But this approach still doesn't give your app +a reliable picture of the player's overall state.

    + +

    Here is the conflict resolution algorithm for including the delta:

    + +
      +
    • Local data: (T, d)
    • +
    • Cloud data: (T', d')
    • +
    • Resolved data: (T' + d, d)
    • +
    + +

    For example, when you get a conflict between the local state (T,d) +and the cloud state (T',d'), you can resolve it as (T'+d, d). +What this means is that you are taking the delta from your local data and +incorporating it into the cloud data, hoping that this will correctly account for +any gold coins that were collected on the other device.

    + +

    This approach might sound promising, but it breaks down in a dynamic mobile +environment:

    +
      +
    • Users might save state when the device is offline. These changes will be +queued up for submission when the device comes back online.
    • + +
    • The way that sync works is that +the most recent change overwrites any previous changes. In other words, the +second write is the only one that gets sent to the cloud (this happens +when the device eventually comes online), and the delta in the first +write is ignored.
    • +
    + +

    To illustrate, consider the scenario illustrated by Table 2. After the +series of operations shown in the table, the cloud state +will be (130, +5). This means the resolved state would be (140, +10). This is +incorrect because in total, the user has collected 110 coins on device A and +120 coins on device B. The total should be 250 coins.

    + +

    Table 2. Failure case for total+delta +strategy.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    EventData on Device AData on Device BData on CloudActual Total
    Starting conditions(20, x)(20, x)(20, x)20
    Player collects 100 coins on device A(120, +100)(20, x)(20, x)120
    Player collects 10 more coins on device A(130, +10)(20, x)(20, x)130
    Player collects 115 coins on device B(130, +10)(125, +115)(20, x)245
    Player collects 5 more coins on device B(130, +10) +(130, +5) +(20, x)250
    Device B uploads its data to the cloud + (130, +10)(130, +5) +(130, +5)250
    Device A tries to upload its data to the cloud. +
    + Conflict detected.
    (130, +10)(130, +5)(130, +5)250
    Device A resolves the conflict by applying the local delta to the cloud total. + (140, +10)(130, +5)(140, +10)250
    +

    (*): x represents data that is irrelevant to our scenario.

    + +

    You might try to fix the problem by not resetting the delta after each save, +so that the second save on each device accounts for all the coins collected thus far. +With that change the second save made by device A would be (130, +110) instead of +(130, +10). However, you would then run into the problem illustrated in Table 3.

    + +

    Table 3. Failure case for the modified +algorithm.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    EventData on Device AData on Device BData on CloudActual Total
    Starting conditions(20, x)(20, x)(20, x)20
    Player collects 100 coins on device A + (120, +100)(20, x)(20, x)120
    Device A saves state to cloud(120, +100)(20, x)(120, +100)120
    Player collects 10 more coins on device A + (130, +110) +(20, x)(120, +100)130
    Player collects 1 coin on device B + + (130, +110)(21, +1)(120, +100)131
    Device B attempts to save state to cloud. +
    + Conflict detected. +
    (130, +110)(21, +1) +(120, +100)131
    Device B solves conflict by applying local delta to cloud total. + + (130, +110)(121, +1)(121, +1)131
    Device A tries to upload its data to the cloud. +
    + Conflict detected.
    (130, +110)(121, +1)(121, +1)131
    Device A resolves the conflict by applying the local delta to the cloud total. + + (231, +110)(121, +1)(231, +110)131
    +

    (*): x represents data that is irrelevant to our scenario.

    + +

    Now you have the opposite problem: you are giving the player too many coins. +The player has gained 211 coins, when in fact she has collected only 111 coins.

    + +

    Solution: Store the Sub-totals per Device

    + +

    Analyzing the previous attempts, it seems that what those strategies +fundamentally miss is the ability to know which coins have already been counted +and which coins have not been counted yet, especially in the presence of multiple +consecutive commits coming from different devices.

    + +

    The solution to the problem is to change the structure of your cloud save to +be a dictionary that maps strings to integers. Each key-value pair in this +dictionary represents a "drawer" that contains coins, and the total +number of coins in the save is the sum of the values of all entries. +The fundamental principle of this design is that each device has its own +drawer, and only the device itself can put coins into that drawer.

    + +

    The structure of the dictionary is (A:a, B:b, C:c, ...), where +a is the total number of coins in the drawer A, b is +the total number of coins in drawer B, and so on.

    + +

    The new conflict resolution algorithm for the "drawer" solution is as follows:

    + +
      +
    • Local data: (A:a, B:b, C:c, ...)
    • +
    • Cloud data: (A:a', B:b', C:c', ...)
    • +
    • Resolved data: (A:max(a,a'), B:max(b,b'), + C:max(c,c'), ...)
    • +
    + +

    For example, if the local data is (A:20, B:4, C:7) and the cloud data +is (B:10, C:2, D:14), then the resolved data will be +(A:20, B:10, C:7, D:14). Note that how you apply conflict resolution +logic to this dictionary data may vary depending on your app. For example, for +some apps you might want to take the lower value.

    + +

    To test this new algorithm, apply it to any of the test scenarios +mentioned above. You will see that it arrives at the correct result.

    + +Table 4 illustrates this, based on the scenario from Table 3. Note the following:

    + +
      +
    • In the initial state, the player has 20 coins. This is accurately reflected + on each device and the cloud. This value is represented as a dictionary (X:20), + where the value of X isn't significant—we don't care where this initial data came from.
    • +
    • When the player collects 100 coins on device A, this change + is packaged as a dictionary and saved to the cloud. The dictionary's value is 100 because + that is the number of coins that the player collected on device A. There is no + calculation being performed on the data at this point—device A is simply + reporting the number of coins the player collected on it.
    • +
    • Each new + submission of coins is packaged as a dictionary associated with the device + that saved it to the cloud. When the player collects 10 more coins on device A, + for example, the device A dictionary value is updated to be 110.
    • + +
    • The net result is that the app knows the total number of coins + the player has collected on each device. Thus it can easily calculate the total.
    • +
    + +

    Table 4. Successful application of the +key-value pair strategy.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    EventData on Device AData on Device BData on CloudActual Total
    Starting conditions(X:20, x)(X:20, x)(X:20, x)20
    Player collects 100 coins on device A + + (X:20, A:100)(X:20)(X:20)120
    Device A saves state to cloud + + (X:20, A:100)(X:20)(X:20, A:100)120
    Player collects 10 more coins on device A + (X:20, A:110)(X:20)(X:20, A:100)130
    Player collects 1 coin on device B(X:20, A:110) +(X:20, B:1) +(X:20, A:100)131
    Device B attempts to save state to cloud. +
    + Conflict detected.
    (X:20, A:110)(X:20, B:1) +(X:20, A:100)131
    Device B solves conflict + + (X:20, A:110)(X:20, A:100, B:1)(X:20, A:100, B:1)131
    Device A tries to upload its data to the cloud.
    + Conflict detected.
    (X:20, A:110)(X:20, A:100, B:1) +(X:20, A:100, B:1)131
    Device A resolves the conflict + + (X:20, A:110, B:1)(X:20, A:100, B:1)(X:20, A:110, B:1) +
    + total 131
    131
    + + +

    Clean Up Your Data

    +

    There is a limit to the size of cloud save data, so in following the strategy +outlined in this article, take care not to create arbitrarily large dictionaries. At first +glance it may seem that the dictionary will have only one entry per device, and even +the very enthusiastic user is unlikely to have thousands of them. However, +obtaining a device ID is difficult and considered a bad practice, so instead you should +use an installation ID, which is easier to obtain and more reliable. This means +that the dictionary might have one entry for each time the user installed the +application on each device. Assuming each key-value pair takes 32 bytes, and +since an individual cloud save buffer can be +up to 128K in size, you are safe if you have up to 4,096 entries.

    + +

    In real-life situations, your data will probably be more complex than a number +of coins. In this case, the number of entries in this dictionary may be much more +limited. Depending on your implementation, it might make sense to store the +timestamp for when each entry in the dictionary was modified. When you detect that a +given entry has not been modified in the last several weeks or months, it is +probably safe to transfer the coins into another entry and delete the old entry.

    \ No newline at end of file diff --git a/docs/html/training/cloudsync/gcm.jd b/docs/html/training/cloudsync/gcm.jd index fa395e4670248..630337260900a 100644 --- a/docs/html/training/cloudsync/gcm.jd +++ b/docs/html/training/cloudsync/gcm.jd @@ -1,12 +1,7 @@ page.title=Making the Most of Google Cloud Messaging -parent.title=Syncing to the Cloud -parent.link=index.html trainingnavtop=true -previous.title=Using the Backup API -previous.link=backupapi.html - @jd:body
    diff --git a/docs/html/training/training_toc.cs b/docs/html/training/training_toc.cs index 61517e072a76d..58db404e8133d 100644 --- a/docs/html/training/training_toc.cs +++ b/docs/html/training/training_toc.cs @@ -375,7 +375,6 @@
    +
  • Resolving Cloud Save Conflicts + +
  • From c06462c1adbe24a6b7e16d094eb338b040b89f40 Mon Sep 17 00:00:00 2001 From: Wink Saville Date: Thu, 20 Jun 2013 18:15:20 -0700 Subject: [PATCH 13/14] The config_show4GForLTe is dynamic use latest value. Previously this was updated only at construction time, but the value isn't even set at that time and can change at anytime. So instead read the current value when needed. Bug: 9513380 Change-Id: I50c676beadf5df8190897a9f6ab94c098e8d7e71 --- .../android/systemui/statusbar/policy/NetworkController.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java index da5f767be4c46..73752e586fff6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java @@ -90,7 +90,6 @@ public class NetworkController extends BroadcastReceiver { boolean mShowPhoneRSSIForData = false; boolean mShowAtLeastThreeGees = false; boolean mAlwaysShowCdmaRssi = false; - boolean mShow4GforLTE = false; String mContentDescriptionPhoneSignal; String mContentDescriptionWifi; @@ -200,7 +199,6 @@ public class NetworkController extends BroadcastReceiver { mShowPhoneRSSIForData = res.getBoolean(R.bool.config_showPhoneRSSIForData); mShowAtLeastThreeGees = res.getBoolean(R.bool.config_showMin3G); - mShow4GforLTE = res.getBoolean(R.bool.config_show4GForLTE); mAlwaysShowCdmaRssi = res.getBoolean( com.android.internal.R.bool.config_alwaysUseCdmaRssi); @@ -680,7 +678,8 @@ public class NetworkController extends BroadcastReceiver { R.string.accessibility_data_connection_3g); break; case TelephonyManager.NETWORK_TYPE_LTE: - if (mShow4GforLTE) { + boolean show4GforLTE = mContext.getResources().getBoolean(R.bool.config_show4GForLTE); + if (show4GforLTE) { mDataIconList = TelephonyIcons.DATA_4G[mInetCondition]; mDataTypeIconId = R.drawable.stat_sys_data_connected_4g; mQSDataTypeIconId = R.drawable.ic_qs_signal_4g; From 9233fc0023755e190e7c28374c5c6fa6558dec70 Mon Sep 17 00:00:00 2001 From: Iliyan Malchev Date: Fri, 21 Jun 2013 03:09:44 +0000 Subject: [PATCH 14/14] Revert "Revert "wifi: Get full scan results"" This reverts commit c2cbd4c11bfb83344502bd80389538795bae03cb. Change-Id: Ia1cbde588ae9706966d6340c702fcfe1a82cfa79 --- wifi/java/android/net/wifi/WifiNative.java | 6 ++- .../android/net/wifi/WifiStateMachine.java | 41 ++++++++++++++++--- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/wifi/java/android/net/wifi/WifiNative.java b/wifi/java/android/net/wifi/WifiNative.java index ab289b3759670..f637e899ebf2a 100644 --- a/wifi/java/android/net/wifi/WifiNative.java +++ b/wifi/java/android/net/wifi/WifiNative.java @@ -198,6 +198,7 @@ public class WifiNative { /** * Format of results: * ================= + * id=1 * bssid=68:7f:74:d7:1b:6e * freq=2412 * level=-43 @@ -208,10 +209,11 @@ public class WifiNative { * ==== * * RANGE=ALL gets all scan results + * RANGE=ID- gets results from ID * MASK= see wpa_supplicant/src/common/wpa_ctrl.h for details */ - public String scanResults() { - return doStringCommand("BSS RANGE=ALL MASK=0x21987"); + public String scanResults(int sid) { + return doStringCommand("BSS RANGE=" + sid + "- MASK=0x21987"); } public boolean startDriver() { diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java index 32d48ac16320c..3e3752e5314c5 100644 --- a/wifi/java/android/net/wifi/WifiStateMachine.java +++ b/wifi/java/android/net/wifi/WifiStateMachine.java @@ -67,8 +67,8 @@ import android.os.SystemProperties; import android.os.UserHandle; import android.os.WorkSource; import android.provider.Settings; -import android.text.TextUtils; import android.util.LruCache; +import android.text.TextUtils; import com.android.internal.R; import com.android.internal.app.IBatteryStats; @@ -1337,6 +1337,7 @@ public class WifiStateMachine extends StateMachine { mContext.sendStickyBroadcastAsUser(intent, UserHandle.ALL); } + private static final String ID_STR = "id="; private static final String BSSID_STR = "bssid="; private static final String FREQ_STR = "freq="; private static final String LEVEL_STR = "level="; @@ -1348,6 +1349,8 @@ public class WifiStateMachine extends StateMachine { /** * Format: + * + * id=1 * bssid=68:7f:76:d7:1a:6e * freq=2412 * level=-44 @@ -1355,6 +1358,7 @@ public class WifiStateMachine extends StateMachine { * flags=[WPA2-PSK-CCMP][WPS][ESS] * ssid=zfdy * ==== + * id=2 * bssid=68:5f:74:d7:1a:6f * freq=5180 * level=-73 @@ -1363,16 +1367,43 @@ public class WifiStateMachine extends StateMachine { * ssid=zuby * ==== */ - private void setScanResults(String scanResults) { + private void setScanResults() { String bssid = ""; int level = 0; int freq = 0; long tsf = 0; String flags = ""; WifiSsid wifiSsid = null; + String scanResults; + String tmpResults; + StringBuffer scanResultsBuf = new StringBuffer(); + int sid = 0; - if (scanResults == null) { - return; + while (true) { + tmpResults = mWifiNative.scanResults(sid); + if (TextUtils.isEmpty(tmpResults)) break; + scanResultsBuf.append(tmpResults); + scanResultsBuf.append("\n"); + String[] lines = tmpResults.split("\n"); + sid = -1; + for (int i=lines.length - 1; i >= 0; i--) { + if (lines[i].startsWith(END_STR)) { + break; + } else if (lines[i].startsWith(ID_STR)) { + try { + sid = Integer.parseInt(lines[i].substring(ID_STR.length())) + 1; + } catch (NumberFormatException e) { + // Nothing to do + } + break; + } + } + if (sid == -1) break; + } + + scanResults = scanResultsBuf.toString(); + if (TextUtils.isEmpty(scanResults)) { + return; } synchronized(mScanResultCache) { @@ -2198,7 +2229,7 @@ public class WifiStateMachine extends StateMachine { sendMessageDelayed(CMD_START_SUPPLICANT, SUPPLICANT_RESTART_INTERVAL_MSECS); break; case WifiMonitor.SCAN_RESULTS_EVENT: - setScanResults(mWifiNative.scanResults()); + setScanResults(); sendScanResultsAvailableBroadcast(); mScanResultIsPending = false; break;