rs.spec revision ccc010bb7c0f89e162bf60033968a20be90a903a
1326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 2326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindRootScript { 4326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsScript sampler 5326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 6326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 7ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsContextBindProgramStore { 8ccc010bb7c0f89e162bf60033968a20be90a903aJason Sams param RsProgramStore pgm 9326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 10326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 11326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramFragment { 12326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramFragment pgm 13326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 14326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 15326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramVertex { 16326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramVertex pgm 17326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 18326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 195fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsContextBindProgramRaster { 205fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param RsProgramRaster pgm 215fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams } 225fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 2386f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextPause { 2486f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams } 2586f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams 2686f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextResume { 2786f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams } 2886f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams 29458f2dc26b7d34c2138c7bfbd95914240084e6bdJason SamsContextSetSurface { 30613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams param uint32_t width 31613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams param uint32_t height 32fa4028663712dbb1a3d13c507c3bc13c6e4be80dMathias Agopian param android_native_window_t *sur 33458f2dc26b7d34c2138c7bfbd95914240084e6bdJason Sams } 34458f2dc26b7d34c2138c7bfbd95914240084e6bdJason Sams 35c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason SamsContextDump { 36c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams param int32_t bits 37c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams} 38c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams 39a2cf755a28a1e7ffff2955df656d714f40e4d715Jason SamsContextGetError { 40a2cf755a28a1e7ffff2955df656d714f40e4d715Jason Sams param RsError *err 41a2cf755a28a1e7ffff2955df656d714f40e4d715Jason Sams ret const char * 42a2cf755a28a1e7ffff2955df656d714f40e4d715Jason Sams } 43a2cf755a28a1e7ffff2955df656d714f40e4d715Jason Sams 44613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason SamsContextSetPriority { 45158324456b8dbf40f684dd0a4af3493b9549f3f5Jason Sams param int32_t priority 46613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams } 47613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams 48a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason SamsAssignName { 49a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams param void *obj 50a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams param const char *name 51a4a54e42fc710a62b47cbcb9d64c34a190429d9eJason Sams param size_t len 52a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams } 53326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 54707aaf341a4b068e6ccadf923af85acdd85fd775Jason SamsObjDestroy { 55707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams param void *obj 56707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams } 57707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams 58d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate { 59d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param RsDataType mType 60d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param RsDataKind mKind 61d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param bool mNormalized 62d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param uint32_t mVectorSize 63d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams ret RsElement 64326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 65326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 66d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate2 { 67d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param size_t count 68d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param const RsElement * elements 69d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param const char ** names 70d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param const size_t * nameLengths 71326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsElement 72326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 73326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 74326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeBegin { 75326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement type 76326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 77326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 78326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeAdd { 79326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsDimension dim 80326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param size_t value 81326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 82326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 83326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeCreate { 84326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsType 85326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 86326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 87326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationCreateTyped { 88326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsType type 89326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsAllocation 90326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 91326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 92326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationCreateSized { 93326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement e 94326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param size_t count 95326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsAllocation 96326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 97326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 98fa84da2cbc271f855b3b1ec75bb688abdf1d1d01Jason SamsAllocationCreateBitmapRef { 99fa84da2cbc271f855b3b1ec75bb688abdf1d1d01Jason Sams param RsType type 100fa84da2cbc271f855b3b1ec75bb688abdf1d1d01Jason Sams param void * bmpPtr 101fa84da2cbc271f855b3b1ec75bb688abdf1d1d01Jason Sams param void * callbackData 102fa84da2cbc271f855b3b1ec75bb688abdf1d1d01Jason Sams param RsBitmapCallback_t callback 103fa84da2cbc271f855b3b1ec75bb688abdf1d1d01Jason Sams ret RsAllocation 104fa84da2cbc271f855b3b1ec75bb688abdf1d1d01Jason Sams } 105fa84da2cbc271f855b3b1ec75bb688abdf1d1d01Jason Sams 1066678e9b2568ad041429a2477177133fe4932159fJason SamsAllocationCreateFromBitmap { 1076678e9b2568ad041429a2477177133fe4932159fJason Sams param uint32_t width 1086678e9b2568ad041429a2477177133fe4932159fJason Sams param uint32_t height 109a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams param RsElement dstFmt 110a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams param RsElement srcFmt 1116678e9b2568ad041429a2477177133fe4932159fJason Sams param bool genMips 1126678e9b2568ad041429a2477177133fe4932159fJason Sams param const void * data 1136678e9b2568ad041429a2477177133fe4932159fJason Sams ret RsAllocation 1146678e9b2568ad041429a2477177133fe4932159fJason Sams } 1156678e9b2568ad041429a2477177133fe4932159fJason Sams 116c9d43db4d216b01b13aebfdb31d5615909591b33Jason SamsAllocationCreateFromBitmapBoxed { 117c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams param uint32_t width 118c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams param uint32_t height 119a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams param RsElement dstFmt 120a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams param RsElement srcFmt 121c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams param bool genMips 122c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams param const void * data 123c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams ret RsAllocation 124c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams } 125c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams 1266678e9b2568ad041429a2477177133fe4932159fJason Sams 127326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationUploadToTexture { 128326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation alloc 1297fabe1a3bf8de37d86021bb7f744c791db81aed3Jason Sams param bool genMipMaps 130326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t baseMipLevel 131326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 132326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 133326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationUploadToBufferObject { 134326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation alloc 135326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 136326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 137326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 138326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationData { 139326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 140326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void * data 1419397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams param uint32_t bytes 1429397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams handcodeApi 1439397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams togglePlay 144d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 145326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 146326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocation1DSubData { 147326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 148326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t xoff 149326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t count 150326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 1519397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams param uint32_t bytes 1529397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams handcodeApi 1539397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams togglePlay 154d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 155326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 156326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocation2DSubData { 157326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 158326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t xoff 159326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t yoff 160326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t w 161326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t h 162326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 1639397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams param uint32_t bytes 164326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 165326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 166e579df42e85d9e00f53c42ef1b78dbd209dba989Jason SamsAllocationRead { 167e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams param RsAllocation va 168e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams param void * data 169e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams } 170326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 171326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DCreate { 172326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsAdapter1D 173326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 174326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 175326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DBindAllocation { 176326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter1D adapt 177326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation alloc 178326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 179326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 180326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DSetConstraint { 181326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter1D adapter 182326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsDimension dim 183326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t value 184326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 185326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 186326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DData { 187326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter1D adapter 188326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void * data 189d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 190326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 191326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DSubData { 192326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter1D adapter 193326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t xoff 194326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t count 195326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 196d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 197326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 198326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DCreate { 199326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsAdapter2D 200326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 201326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 202326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DBindAllocation { 203326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter2D adapt 204326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation alloc 205326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 206326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 207326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DSetConstraint { 208326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter2D adapter 209326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsDimension dim 210326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t value 211326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 212326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 213326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DData { 214326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter2D adapter 215326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 216d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 217326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 218326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DSubData { 219326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter2D adapter 220326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t xoff 221326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t yoff 222326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t w 223326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t h 224326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 225326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 226326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 227326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerBegin { 228326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 229326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 230326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerSet { 231326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsSamplerParam p 232326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsSamplerValue value 233326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 234326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 235326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate { 236326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsSampler 237326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 238326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 239326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 240326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 241326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation { 242326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsScript vtm 243326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 244326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t slot 245326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 246326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 247326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 248326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCBegin { 249326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 250326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 251d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearColor { 252d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams param RsScript s 253326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param float r 254326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param float g 255326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param float b 256326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param float a 257326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 258326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 259d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone { 260d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams param RsScript s 26198e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy param const char * timeZone 26298e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy param uint32_t length 26398e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy } 26498e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy 265d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearDepth { 266d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams param RsScript s 267326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param float depth 268326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 269326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 270d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearStencil { 271d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams param RsScript s 272326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t stencil 273326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 274326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 275be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams 276be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvoke { 277be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param RsScript s 278fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams param uint32_t slot 279326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 280326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 281be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvokeData { 282be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param RsScript s 2838c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams param uint32_t slot 284be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param void * data 2858c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams } 2868c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams 287be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvokeV { 2888c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams param RsScript s 2898c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams param uint32_t slot 290be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param const void * data 291be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param uint32_t dataLen 292be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams handcodeApi 293be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams togglePlay 2948c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams } 2958c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams 296fa51719e6c1bd17b3f347477b4827face9ab647eJason SamsScriptSetRoot { 297326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool isRoot 298326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 299326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 300be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarI { 301be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param RsScript s 302be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param uint32_t slot 303be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param int value 304be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams } 305be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams 306be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarF { 307be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param RsScript s 308be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param uint32_t slot 309be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param float value 310be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams } 311be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams 312be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarV { 313be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param RsScript s 314be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param uint32_t slot 315be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param const void * data 316be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param uint32_t dataLen 317be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams handcodeApi 318be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams togglePlay 319be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams } 320fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams 321fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams 322326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCSetScript { 3231ef8b80bc49f415b93912fe7335f852953bde4a4Jack Palevich param void * codePtr 324326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 325326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3261f52633fefd1862451e6a30209d590680d02beecJason SamsScriptCSetText { 3271f52633fefd1862451e6a30209d590680d02beecJason Sams param const char * text 3281f52633fefd1862451e6a30209d590680d02beecJason Sams param uint32_t length 3291f52633fefd1862451e6a30209d590680d02beecJason Sams } 3301f52633fefd1862451e6a30209d590680d02beecJason Sams 331326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate { 332326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsScript 333326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 334326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 33557b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoScriptCSetDefineF { 33657b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param const char* name 33757b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param float value 33857b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato } 33957b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato 34057b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoScriptCSetDefineI32 { 34157b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param const char* name 34257b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param int32_t value 34357b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato } 344326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 345ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreBegin { 346326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement in 347326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement out 348326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 349326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 350ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreColorMask { 351326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool r 352326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool g 353326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool b 354326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool a 355326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 356326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 357ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreBlendFunc { 358326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsBlendSrcFunc srcFunc 359326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsBlendDstFunc destFunc 360326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 361326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 362ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreDepthMask { 363326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool enable 364326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 365326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 366ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreDither { 367326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool enable 368326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 369326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 370ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreDepthFunc { 371326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsDepthFunc func 372326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 373326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 374ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreCreate { 375ccc010bb7c0f89e162bf60033968a20be90a903aJason Sams ret RsProgramStore 376326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 377326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3785fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterCreate { 3795fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param RsElement in 3805fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param RsElement out 3815fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param bool pointSmooth 3825fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param bool lineSmooth 3835fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param bool pointSprite 3845fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ret RsProgramRaster 3855fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 3865fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 3875fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterSetLineWidth { 3885fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param RsProgramRaster pr 3895fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param float lw 3905fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 3915fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 3925fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterSetPointSize{ 3935fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param RsProgramRaster pr 3945fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param float ps 3955fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 396326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 397326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3984815c0d121310cfcd6a8aba4eab77a9910af53acJason SamsProgramBindConstants { 3994815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param RsProgram vp 4004815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param uint32_t slot 4014815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param RsAllocation constants 4024815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams } 4034815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams 404f2a5d7326b38e5a28b6618f9b1e5a021aef7179fJason Sams 4057dad9c30a59c99b57269e1b498807b6f034d56e9Jason SamsProgramBindTexture { 406326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramFragment pf 407326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t slot 408326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation a 409326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 410326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 4117dad9c30a59c99b57269e1b498807b6f034d56e9Jason SamsProgramBindSampler { 412326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramFragment pf 413326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t slot 414326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsSampler s 415326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 416326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 417326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentCreate { 4187dad9c30a59c99b57269e1b498807b6f034d56e9Jason Sams param const uint32_t * params 4197dad9c30a59c99b57269e1b498807b6f034d56e9Jason Sams param uint32_t paramLength 420326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsProgramFragment 421326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 422326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 423f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason SamsProgramFragmentCreate2 { 424f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams param const char * shaderText 425f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams param uint32_t shaderLength 426f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams param const uint32_t * params 427f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams param uint32_t paramLength 428f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams ret RsProgramFragment 429f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams } 430f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams 431326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexCreate { 4324815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param bool texMat 433326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsProgramVertex 434326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 435326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 4364815c0d121310cfcd6a8aba4eab77a9910af53acJason SamsProgramVertexCreate2 { 4374815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param const char * shaderText 4384815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param uint32_t shaderLength 4394815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param const uint32_t * params 4404815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param uint32_t paramLength 441f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams ret RsProgramVertex 442b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams } 443b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams 44462bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightBegin { 44562bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 44662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 44762bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetLocal { 44862bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param bool isLocal 44962bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 45062bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 45162bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetMonochromatic { 45262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param bool isMono 45362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 45462bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 45562bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightCreate { 45662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams ret RsLight light 45762bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 45862bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 45962bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 46062bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetPosition { 46162bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param RsLight light 46262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float x 46362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float y 46462bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float z 46562bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 46662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 46762bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetColor { 46862bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param RsLight light 46962bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float r 47062bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float g 47162bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float b 47262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 47362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 474a5597fcd411badad50c1345b3eca26453da45bbbJason SamsFileOpen { 475a5597fcd411badad50c1345b3eca26453da45bbbJason Sams ret RsFile 476a5597fcd411badad50c1345b3eca26453da45bbbJason Sams param const char *name 477a5597fcd411badad50c1345b3eca26453da45bbbJason Sams param size_t len 478a5597fcd411badad50c1345b3eca26453da45bbbJason Sams } 479a5597fcd411badad50c1345b3eca26453da45bbbJason Sams 480a5597fcd411badad50c1345b3eca26453da45bbbJason Sams 481e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshCreate { 482e5ffb879ae535a899a486285a23bea05e912480fJason Sams ret RsSimpleMesh 483e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation prim 484e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation index 485e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation *vtx 486e5ffb879ae535a899a486285a23bea05e912480fJason Sams param uint32_t vtxCount 487e5ffb879ae535a899a486285a23bea05e912480fJason Sams param uint32_t primType 488e5ffb879ae535a899a486285a23bea05e912480fJason Sams } 489e5ffb879ae535a899a486285a23bea05e912480fJason Sams 490e5ffb879ae535a899a486285a23bea05e912480fJason Sams 491e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindIndex { 492e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsSimpleMesh mesh 493e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation idx 494e5ffb879ae535a899a486285a23bea05e912480fJason Sams } 495e5ffb879ae535a899a486285a23bea05e912480fJason Sams 496e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindPrimitive { 497e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsSimpleMesh mesh 498e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation prim 499e5ffb879ae535a899a486285a23bea05e912480fJason Sams } 500e5ffb879ae535a899a486285a23bea05e912480fJason Sams 501e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindVertex { 502e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsSimpleMesh mesh 503e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation vtx 504e5ffb879ae535a899a486285a23bea05e912480fJason Sams param uint32_t slot 505e5ffb879ae535a899a486285a23bea05e912480fJason Sams } 506e5ffb879ae535a899a486285a23bea05e912480fJason Sams 507c1ed589021e280cda59a0521cb96b3e9eb629e1bJason SamsAnimationCreate { 508c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams param const float *inValues 509c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams param const float *outValues 510c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams param uint32_t valueCount 511c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams param RsAnimationInterpolation interp 512c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams param RsAnimationEdge pre 513c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams param RsAnimationEdge post 514c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams ret RsAnimation 515c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams } 516c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams 517