diff options
author | Alex Sakhartchouk <alexst@google.com> | 2012-03-01 09:43:43 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-03-01 09:43:43 -0800 |
commit | 541b492d49167ad804f1ef2f13fd36f8284ac678 (patch) | |
tree | 7e0304b459bda05c4d4114eb9f9e89c9295c3229 /libs/rs | |
parent | 57a7b010f052cdd7a1d3fe9624bf3df1fa5c1ffc (diff) | |
parent | 96804ad6bc65ae15d35101f99dfbf0c818bb7a20 (diff) | |
download | frameworks_base-541b492d49167ad804f1ef2f13fd36f8284ac678.zip frameworks_base-541b492d49167ad804f1ef2f13fd36f8284ac678.tar.gz frameworks_base-541b492d49167ad804f1ef2f13fd36f8284ac678.tar.bz2 |
Merge "Allocation sampling api prototypes."
Diffstat (limited to 'libs/rs')
-rw-r--r-- | libs/rs/scriptc/rs_allocation.rsh | 62 | ||||
-rw-r--r-- | libs/rs/scriptc/rs_graphics.rsh | 59 | ||||
-rw-r--r-- | libs/rs/scriptc/rs_types.rsh | 158 |
3 files changed, 170 insertions, 109 deletions
diff --git a/libs/rs/scriptc/rs_allocation.rsh b/libs/rs/scriptc/rs_allocation.rsh index a2f69d9..89696b8 100644 --- a/libs/rs/scriptc/rs_allocation.rsh +++ b/libs/rs/scriptc/rs_allocation.rsh @@ -298,5 +298,67 @@ extern rs_data_kind __attribute__((overloadable)) extern uint32_t __attribute__((overloadable)) rsElementGetVectorSize(rs_element e); +/** + * Fetch allocation in a way described by the sampler + * @param a 1D allocation to sample from + * @param s sampler state + * @param location to sample from + */ +extern const float4 __attribute__((overloadable)) + rsSample(rs_allocation a, rs_sampler s, float location); +/** + * Fetch allocation in a way described by the sampler + * @param a 1D allocation to sample from + * @param s sampler state + * @param location to sample from + * @param lod mip level to sample from, for fractional values + * mip levels will be interpolated if + * RS_SAMPLER_LINEAR_MIP_LINEAR is used + */ +extern const float4 __attribute__((overloadable)) + rsSample(rs_allocation a, rs_sampler s, float location, float lod); + +/** + * Fetch allocation in a way described by the sampler + * @param a 2D allocation to sample from + * @param s sampler state + * @param location to sample from + */ +extern const float4 __attribute__((overloadable)) + rsSample(rs_allocation a, rs_sampler s, float2 location); + +/** + * Fetch allocation in a way described by the sampler + * @param a 2D allocation to sample from + * @param s sampler state + * @param location to sample from + * @param lod mip level to sample from, for fractional values + * mip levels will be interpolated if + * RS_SAMPLER_LINEAR_MIP_LINEAR is used + */ +extern const float4 __attribute__((overloadable)) + rsSample(rs_allocation a, rs_sampler s, float2 location, float lod); + +/** + * Fetch allocation in a way described by the sampler + * @param a 3D allocation to sample from + * @param s sampler state + * @param location to sample from + */ +extern const float4 __attribute__((overloadable)) + rsSample(rs_allocation a, rs_sampler s, float3 location); + +/** + * Fetch allocation in a way described by the sampler + * @param a 3D allocation to sample from + * @param s sampler state + * @param location to sample from + * @param lod mip level to sample from, for fractional values + * mip levels will be interpolated if + * RS_SAMPLER_LINEAR_MIP_LINEAR is used + */ +extern const float4 __attribute__((overloadable)) + rsSample(rs_allocation a, rs_sampler s, float3 location, float lod); + #endif diff --git a/libs/rs/scriptc/rs_graphics.rsh b/libs/rs/scriptc/rs_graphics.rsh index 7fdebdc..e3fde82 100644 --- a/libs/rs/scriptc/rs_graphics.rsh +++ b/libs/rs/scriptc/rs_graphics.rsh @@ -23,65 +23,6 @@ #ifndef __RS_GRAPHICS_RSH__ #define __RS_GRAPHICS_RSH__ -// These are API 15 once it get official -typedef enum { - RS_DEPTH_FUNC_ALWAYS, - RS_DEPTH_FUNC_LESS, - RS_DEPTH_FUNC_LEQUAL, - RS_DEPTH_FUNC_GREATER, - RS_DEPTH_FUNC_GEQUAL, - RS_DEPTH_FUNC_EQUAL, - RS_DEPTH_FUNC_NOTEQUAL, - - RS_DEPTH_FUNC_INVALID = 100, -} rs_depth_func; - -typedef enum { - RS_BLEND_SRC_ZERO, // 0 - RS_BLEND_SRC_ONE, // 1 - RS_BLEND_SRC_DST_COLOR, // 2 - RS_BLEND_SRC_ONE_MINUS_DST_COLOR, // 3 - RS_BLEND_SRC_SRC_ALPHA, // 4 - RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA, // 5 - RS_BLEND_SRC_DST_ALPHA, // 6 - RS_BLEND_SRC_ONE_MINUS_DST_ALPHA, // 7 - RS_BLEND_SRC_SRC_ALPHA_SATURATE, // 8 - - RS_BLEND_SRC_INVALID = 100, -} rs_blend_src_func; - -typedef enum { - RS_BLEND_DST_ZERO, // 0 - RS_BLEND_DST_ONE, // 1 - RS_BLEND_DST_SRC_COLOR, // 2 - RS_BLEND_DST_ONE_MINUS_SRC_COLOR, // 3 - RS_BLEND_DST_SRC_ALPHA, // 4 - RS_BLEND_DST_ONE_MINUS_SRC_ALPHA, // 5 - RS_BLEND_DST_DST_ALPHA, // 6 - RS_BLEND_DST_ONE_MINUS_DST_ALPHA, // 7 - - RS_BLEND_DST_INVALID = 100, -} rs_blend_dst_func; - -typedef enum { - RS_CULL_BACK, - RS_CULL_FRONT, - RS_CULL_NONE, - - RS_CULL_INVALID = 100, -} rs_cull_mode; - -typedef enum { - RS_SAMPLER_NEAREST, - RS_SAMPLER_LINEAR, - RS_SAMPLER_LINEAR_MIP_LINEAR, - RS_SAMPLER_WRAP, - RS_SAMPLER_CLAMP, - RS_SAMPLER_LINEAR_MIP_NEAREST, - - RS_SAMPLER_INVALID = 100, -} rs_sampler_value; - #if (defined(RS_VERSION) && (RS_VERSION >= 14)) /** * Set the color target used for all subsequent rendering calls diff --git a/libs/rs/scriptc/rs_types.rsh b/libs/rs/scriptc/rs_types.rsh index 5345a48..f8c2657 100644 --- a/libs/rs/scriptc/rs_types.rsh +++ b/libs/rs/scriptc/rs_types.rsh @@ -407,14 +407,14 @@ typedef enum { * **/ typedef enum { - RS_PRIMITIVE_POINT, - RS_PRIMITIVE_LINE, - RS_PRIMITIVE_LINE_STRIP, - RS_PRIMITIVE_TRIANGLE, - RS_PRIMITIVE_TRIANGLE_STRIP, - RS_PRIMITIVE_TRIANGLE_FAN, - - RS_PRIMITIVE_INVALID = 100, + 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, } rs_primitive; /** @@ -436,41 +436,41 @@ typedef enum { * RS_* objects. 32 bit opaque handles. */ typedef enum { - RS_TYPE_NONE, + RS_TYPE_NONE = 0, //RS_TYPE_FLOAT_16, - RS_TYPE_FLOAT_32 = 2, - RS_TYPE_FLOAT_64, - RS_TYPE_SIGNED_8, - RS_TYPE_SIGNED_16, - RS_TYPE_SIGNED_32, - RS_TYPE_SIGNED_64, - RS_TYPE_UNSIGNED_8, - RS_TYPE_UNSIGNED_16, - RS_TYPE_UNSIGNED_32, - RS_TYPE_UNSIGNED_64, - - RS_TYPE_BOOLEAN, - - RS_TYPE_UNSIGNED_5_6_5, - RS_TYPE_UNSIGNED_5_5_5_1, - RS_TYPE_UNSIGNED_4_4_4_4, - - RS_TYPE_MATRIX_4X4, - RS_TYPE_MATRIX_3X3, - RS_TYPE_MATRIX_2X2, - - RS_TYPE_ELEMENT = 1000, - RS_TYPE_TYPE, - RS_TYPE_ALLOCATION, - RS_TYPE_SAMPLER, - RS_TYPE_SCRIPT, - RS_TYPE_MESH, - RS_TYPE_PROGRAM_FRAGMENT, - RS_TYPE_PROGRAM_VERTEX, - RS_TYPE_PROGRAM_RASTER, - RS_TYPE_PROGRAM_STORE, - - RS_TYPE_INVALID = 10000, + RS_TYPE_FLOAT_32 = 2, + RS_TYPE_FLOAT_64 = 3, + RS_TYPE_SIGNED_8 = 4, + RS_TYPE_SIGNED_16 = 5, + RS_TYPE_SIGNED_32 = 6, + RS_TYPE_SIGNED_64 = 7, + RS_TYPE_UNSIGNED_8 = 8, + RS_TYPE_UNSIGNED_16 = 9, + RS_TYPE_UNSIGNED_32 = 10, + RS_TYPE_UNSIGNED_64 = 11, + + RS_TYPE_BOOLEAN = 12, + + RS_TYPE_UNSIGNED_5_6_5 = 13, + RS_TYPE_UNSIGNED_5_5_5_1 = 14, + RS_TYPE_UNSIGNED_4_4_4_4 = 15, + + RS_TYPE_MATRIX_4X4 = 16, + RS_TYPE_MATRIX_3X3 = 17, + RS_TYPE_MATRIX_2X2 = 18, + + RS_TYPE_ELEMENT = 1000, + RS_TYPE_TYPE = 1001, + RS_TYPE_ALLOCATION = 1002, + RS_TYPE_SAMPLER = 1003, + RS_TYPE_SCRIPT = 1004, + RS_TYPE_MESH = 1005, + RS_TYPE_PROGRAM_FRAGMENT = 1006, + RS_TYPE_PROGRAM_VERTEX = 1007, + RS_TYPE_PROGRAM_RASTER = 1008, + RS_TYPE_PROGRAM_STORE = 1009, + + RS_TYPE_INVALID = 10000, } rs_data_type; /** @@ -482,16 +482,74 @@ typedef enum { * representing texture formats. */ typedef enum { - RS_KIND_USER, + RS_KIND_USER = 0, - RS_KIND_PIXEL_L = 7, - RS_KIND_PIXEL_A, - RS_KIND_PIXEL_LA, - RS_KIND_PIXEL_RGB, - RS_KIND_PIXEL_RGBA, - RS_KIND_PIXEL_DEPTH, + RS_KIND_PIXEL_L = 7, + RS_KIND_PIXEL_A = 8, + RS_KIND_PIXEL_LA = 9, + RS_KIND_PIXEL_RGB = 10, + RS_KIND_PIXEL_RGBA = 11, + RS_KIND_PIXEL_DEPTH = 12, - RS_KIND_INVALID = 100, + RS_KIND_INVALID = 100, } rs_data_kind; +typedef enum { + 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, +} rs_depth_func; + +typedef enum { + RS_BLEND_SRC_ZERO = 0, + RS_BLEND_SRC_ONE = 1, + RS_BLEND_SRC_DST_COLOR = 2, + RS_BLEND_SRC_ONE_MINUS_DST_COLOR = 3, + RS_BLEND_SRC_SRC_ALPHA = 4, + RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA = 5, + RS_BLEND_SRC_DST_ALPHA = 6, + RS_BLEND_SRC_ONE_MINUS_DST_ALPHA = 7, + RS_BLEND_SRC_SRC_ALPHA_SATURATE = 8, + + RS_BLEND_SRC_INVALID = 100, +} rs_blend_src_func; + +typedef enum { + RS_BLEND_DST_ZERO = 0, + RS_BLEND_DST_ONE = 1, + RS_BLEND_DST_SRC_COLOR = 2, + RS_BLEND_DST_ONE_MINUS_SRC_COLOR = 3, + RS_BLEND_DST_SRC_ALPHA = 4, + RS_BLEND_DST_ONE_MINUS_SRC_ALPHA = 5, + RS_BLEND_DST_DST_ALPHA = 6, + RS_BLEND_DST_ONE_MINUS_DST_ALPHA = 7, + + RS_BLEND_DST_INVALID = 100, +} rs_blend_dst_func; + +typedef enum { + RS_CULL_BACK = 0, + RS_CULL_FRONT = 1, + RS_CULL_NONE = 2, + + RS_CULL_INVALID = 100, +} rs_cull_mode; + +typedef enum { + RS_SAMPLER_NEAREST = 0, + RS_SAMPLER_LINEAR = 1, + RS_SAMPLER_LINEAR_MIP_LINEAR = 2, + RS_SAMPLER_WRAP = 3, + RS_SAMPLER_CLAMP = 4, + RS_SAMPLER_LINEAR_MIP_NEAREST = 5, + + RS_SAMPLER_INVALID = 100, +} rs_sampler_value; + #endif |