diff options
author | Jason Sams <rjsams@android.com> | 2010-08-16 12:41:48 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2010-08-16 12:41:48 -0700 |
commit | 02f62aa7d110b025b1867cb200891196f98b2628 (patch) | |
tree | 461280a32163624a6db6eee9b068b4e3eb87a18a /libs/rs/scriptc | |
parent | 93af2e48a7af71cee18781b64150abed7b057e2a (diff) | |
download | frameworks_base-02f62aa7d110b025b1867cb200891196f98b2628.zip frameworks_base-02f62aa7d110b025b1867cb200891196f98b2628.tar.gz frameworks_base-02f62aa7d110b025b1867cb200891196f98b2628.tar.bz2 |
Support reference operations in RS scripts.
Change-Id: I9cb5f3cb71823ab24ca51bf0167a0f52cf0691f9
Diffstat (limited to 'libs/rs/scriptc')
-rw-r--r-- | libs/rs/scriptc/rs_math.rsh | 71 | ||||
-rw-r--r-- | libs/rs/scriptc/rs_types.rsh | 23 |
2 files changed, 83 insertions, 11 deletions
diff --git a/libs/rs/scriptc/rs_math.rsh b/libs/rs/scriptc/rs_math.rsh index bb4aafb..c842ef1 100644 --- a/libs/rs/scriptc/rs_math.rsh +++ b/libs/rs/scriptc/rs_math.rsh @@ -29,6 +29,77 @@ extern void __attribute__((overloadable)) #include "rs_cl.rsh" #include "rs_core.rsh" +extern void __attribute__((overloadable)) + rsSetObject(rs_element *dst, rs_element src); +extern void __attribute__((overloadable)) + rsSetObject(rs_type *dst, rs_type src); +extern void __attribute__((overloadable)) + rsSetObject(rs_allocation *dst, rs_allocation src); +extern void __attribute__((overloadable)) + rsSetObject(rs_sampler *dst, rs_sampler src); +extern void __attribute__((overloadable)) + rsSetObject(rs_script *dst, rs_script src); +extern void __attribute__((overloadable)) + rsSetObject(rs_mesh *dst, rs_mesh src); +extern void __attribute__((overloadable)) + rsSetObject(rs_program_fragment *dst, rs_program_fragment src); +extern void __attribute__((overloadable)) + rsSetObject(rs_program_vertex *dst, rs_program_vertex src); +extern void __attribute__((overloadable)) + rsSetObject(rs_program_raster *dst, rs_program_raster src); +extern void __attribute__((overloadable)) + rsSetObject(rs_program_store *dst, rs_program_store src); +extern void __attribute__((overloadable)) + rsSetObject(rs_font *dst, rs_font src); + +extern void __attribute__((overloadable)) + rsClearObject(rs_element *dst); +extern void __attribute__((overloadable)) + rsClearObject(rs_type *dst); +extern void __attribute__((overloadable)) + rsClearObject(rs_allocation *dst); +extern void __attribute__((overloadable)) + rsClearObject(rs_sampler *dst); +extern void __attribute__((overloadable)) + rsClearObject(rs_script *dst); +extern void __attribute__((overloadable)) + rsClearObject(rs_mesh *dst); +extern void __attribute__((overloadable)) + rsClearObject(rs_program_fragment *dst); +extern void __attribute__((overloadable)) + rsClearObject(rs_program_vertex *dst); +extern void __attribute__((overloadable)) + rsClearObject(rs_program_raster *dst); +extern void __attribute__((overloadable)) + rsClearObject(rs_program_store *dst); +extern void __attribute__((overloadable)) + rsClearObject(rs_font *dst); + +extern bool __attribute__((overloadable)) + rsIsObject(rs_element); +extern bool __attribute__((overloadable)) + rsIsObject(rs_type); +extern bool __attribute__((overloadable)) + rsIsObject(rs_allocation); +extern bool __attribute__((overloadable)) + rsIsObject(rs_sampler); +extern bool __attribute__((overloadable)) + rsIsObject(rs_script); +extern bool __attribute__((overloadable)) + rsIsObject(rs_mesh); +extern bool __attribute__((overloadable)) + rsIsObject(rs_program_fragment); +extern bool __attribute__((overloadable)) + rsIsObject(rs_program_vertex); +extern bool __attribute__((overloadable)) + rsIsObject(rs_program_raster); +extern bool __attribute__((overloadable)) + rsIsObject(rs_program_store); +extern bool __attribute__((overloadable)) + rsIsObject(rs_font); + + + // Allocations // Return the rs_allocation associated with a bound data diff --git a/libs/rs/scriptc/rs_types.rsh b/libs/rs/scriptc/rs_types.rsh index fd9ac16..dd42972 100644 --- a/libs/rs/scriptc/rs_types.rsh +++ b/libs/rs/scriptc/rs_types.rsh @@ -14,17 +14,18 @@ typedef uint16_t ushort; typedef uint32_t uint; typedef uint64_t ulong; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_element; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_type; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_allocation; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_sampler; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_script; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_mesh; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_program_fragment; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_program_vertex; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_program_raster; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_program_store; -typedef struct { int* p; } __attribute__((packed, aligned(4))) rs_font; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_element; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_type; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_allocation; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_sampler; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_script; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_mesh; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_fragment; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_vertex; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_raster; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_program_store; +typedef struct { const int* const p; } __attribute__((packed, aligned(4))) rs_font; + typedef float float2 __attribute__((ext_vector_type(2))); typedef float float3 __attribute__((ext_vector_type(3))); |