rs.spec revision c700e649ca44d0dcff8b271e42d949ea72fe3c63
1326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 2186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextDestroy { 3186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 4186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 5186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 6186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextGetMessage { 7186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 8186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param void *data 9186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param size_t *receiveLen 101a4efa363916977ef9aeab756725b3bdc880a15bJason Sams param uint32_t *usrID 11186e59154a0fb86e05e283e9c083b69878c06720Jason Sams ret RsMessageToClientType 12186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 13186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 14186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextPeekMessage { 15186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 16186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param size_t *receiveLen 171a4efa363916977ef9aeab756725b3bdc880a15bJason Sams param uint32_t *usrID 18186e59154a0fb86e05e283e9c083b69878c06720Jason Sams ret RsMessageToClientType 19186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 20186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 21186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextInitToClient { 22186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 23186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 24186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 25186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextDeinitToClient { 26186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 27186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 28186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 29c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsTypeCreate { 30186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 31186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsElement e 32186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param uint32_t dimX 33186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param uint32_t dimY 34186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param uint32_t dimZ 35186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param bool mips 36186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param bool faces 37186e59154a0fb86e05e283e9c083b69878c06720Jason Sams ret RsType 38186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 39186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 40c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCreateTyped { 41186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 42186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsType vtype 43186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsAllocationMipmapControl mips 44186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param uint32_t usages 45186e59154a0fb86e05e283e9c083b69878c06720Jason Sams ret RsAllocation 46186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 47186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 48c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCreateFromBitmap { 49186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 50186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsType vtype 51186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsAllocationMipmapControl mips 52186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param const void *data 53186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param uint32_t usages 54186e59154a0fb86e05e283e9c083b69878c06720Jason Sams ret RsAllocation 55186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 56186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 57c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCubeCreateFromBitmap { 58186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 59186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsType vtype 60186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsAllocationMipmapControl mips 61186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param const void *data 62186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param uint32_t usages 63186e59154a0fb86e05e283e9c083b69878c06720Jason Sams ret RsAllocation 64186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 65186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 66186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 67186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 688c88090e8cccab103eebe2ff569e116e9f5fb208Jason SamsContextFinish { 691a4efa363916977ef9aeab756725b3bdc880a15bJason Sams sync 708c88090e8cccab103eebe2ff569e116e9f5fb208Jason Sams } 71326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 72326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindRootScript { 73326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsScript sampler 74326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 75326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 76ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsContextBindProgramStore { 77ccc010bb7c0f89e162bf60033968a20be90a903aJason Sams param RsProgramStore pgm 78326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 79326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 80326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramFragment { 81326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramFragment pgm 82326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 83326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 84326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramVertex { 85326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramVertex pgm 86326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 87326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 885fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsContextBindProgramRaster { 895fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param RsProgramRaster pgm 905fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams } 915fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 92d3e0ad43dc758c409fc23d1893dab67b18520c24Alex SakhartchoukContextBindFont { 93d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk param RsFont pgm 94d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk } 95d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk 9686f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextPause { 9786f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams } 9886f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams 9986f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextResume { 10086f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams } 10186f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams 102458f2dc26b7d34c2138c7bfbd95914240084e6bdJason SamsContextSetSurface { 103613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams param uint32_t width 104613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams param uint32_t height 1057257c7ee4b66f00c43d9235f3ac600061ae79968Alex Sakhartchouk param RsNativeWindow sur 106c33e6903d25b9cd9d88f45c7320534a5a05c9064Jason Sams sync 107458f2dc26b7d34c2138c7bfbd95914240084e6bdJason Sams } 108458f2dc26b7d34c2138c7bfbd95914240084e6bdJason Sams 109c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason SamsContextDump { 110c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams param int32_t bits 111c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams} 112c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams 113613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason SamsContextSetPriority { 114158324456b8dbf40f684dd0a4af3493b9549f3f5Jason Sams param int32_t priority 115613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams } 116613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams 117741aac95b777b2e6cb90f484a05e489a79a6ef05Jason SamsContextDestroyWorker { 1181dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams} 1191dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams 120a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason SamsAssignName { 12170b83c111beceaf8fbb700580833e7fec99272cfAlex Sakhartchouk param RsObjectBase obj 122a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams param const char *name 123a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams } 124326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 125707aaf341a4b068e6ccadf923af85acdd85fd775Jason SamsObjDestroy { 1262353ae303868d04e3a26002b2f2dc456c15e8170Jason Sams param RsAsyncVoidPtr objPtr 127707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams } 128707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams 129d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate { 130c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk direct 131d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param RsDataType mType 132d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param RsDataKind mKind 133d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param bool mNormalized 134d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param uint32_t mVectorSize 135d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams ret RsElement 136326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 137326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 138d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate2 { 139c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk direct 140d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param const RsElement * elements 141d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams param const char ** names 14246e45548dc80e801139c9ccc2f2aa927e7f35027Jason Sams param const uint32_t * arraySize 143326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsElement 144326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 145326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 146837e388700a48084489ba59d1d8cc5ece68b1535Jason SamsAllocationCopyToBitmap { 147837e388700a48084489ba59d1d8cc5ece68b1535Jason Sams param RsAllocation alloc 148837e388700a48084489ba59d1d8cc5ece68b1535Jason Sams param void * data 14939f2ef6fed00a99c5c389e12c4597884027d4858Alex Sakhartchouk } 15039f2ef6fed00a99c5c389e12c4597884027d4858Alex Sakhartchouk 151326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 1524b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DData { 153326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 154326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t xoff 1554b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams param uint32_t lod 156326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t count 157326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 158d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 159326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 1604b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DElementData { 1615f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams param RsAllocation va 1625f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams param uint32_t x 1634b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams param uint32_t lod 1645f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams param const void *data 1655f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams param uint32_t comp_offset 1665f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams } 1675f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams 1684b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation2DData { 169326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 170326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t xoff 171326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t yoff 1724b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams param uint32_t lod 1734b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams param RsAllocationCubemapFace face 174326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t w 175326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t h 176326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 177326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 178326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 1794b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation2DElementData { 1805f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams param RsAllocation va 1815f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams param uint32_t x 1825f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams param uint32_t y 1834b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams param uint32_t lod 1844b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams param RsAllocationCubemapFace face 1855f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams param const void *data 1865f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams param uint32_t element_offset 1875f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams } 1885f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams 189a23715148f7bda74e904fc553b70c9a49fd52a6eJason SamsAllocationGenerateMipmaps { 190a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams param RsAllocation va 191a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams} 192a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams 193e579df42e85d9e00f53c42ef1b78dbd209dba989Jason SamsAllocationRead { 194e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams param RsAllocation va 195e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams param void * data 196e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams } 197326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 198366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason SamsAllocationSyncAll { 199366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams param RsAllocation va 200366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams param RsAllocationUsageType src 201366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams} 202366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams 203326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 20496abf819e50b59ba8cf886c13f894633eb0a24baJason SamsAllocationResize1D { 20596abf819e50b59ba8cf886c13f894633eb0a24baJason Sams param RsAllocation va 20696abf819e50b59ba8cf886c13f894633eb0a24baJason Sams param uint32_t dimX 20796abf819e50b59ba8cf886c13f894633eb0a24baJason Sams } 20896abf819e50b59ba8cf886c13f894633eb0a24baJason Sams 20996abf819e50b59ba8cf886c13f894633eb0a24baJason SamsAllocationResize2D { 21096abf819e50b59ba8cf886c13f894633eb0a24baJason Sams param RsAllocation va 21196abf819e50b59ba8cf886c13f894633eb0a24baJason Sams param uint32_t dimX 21296abf819e50b59ba8cf886c13f894633eb0a24baJason Sams param uint32_t dimY 21396abf819e50b59ba8cf886c13f894633eb0a24baJason Sams } 21496abf819e50b59ba8cf886c13f894633eb0a24baJason Sams 21574a827988567a9d65954bb0d825a3ba4a97e2947Alex SakhartchoukAllocationCopy2DRange { 21674a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param RsAllocation dest 21774a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param uint32_t destXoff 21874a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param uint32_t destYoff 21974a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param uint32_t destMip 22074a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param uint32_t destFace 22174a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param uint32_t width 22274a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param uint32_t height 22374a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param RsAllocation src 22474a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param uint32_t srcXoff 22574a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param uint32_t srcYoff 22674a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param uint32_t srcMip 22774a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk param uint32_t srcFace 22874a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk } 22974a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk 230326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate { 231c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk direct 232c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param RsSamplerValue magFilter 233c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param RsSamplerValue minFilter 234c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param RsSamplerValue wrapS 235c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param RsSamplerValue wrapT 236c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param RsSamplerValue wrapR 237c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param float mAniso 238c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk ret RsSampler 239c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk} 240326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 241326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation { 242326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsScript vtm 243326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 244326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t slot 245326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 246326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 247d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone { 248d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams param RsScript s 24998e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy param const char * timeZone 25098e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy } 25198e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy 252be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvoke { 253be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param RsScript s 254fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams param uint32_t slot 255326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 256326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 257be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvokeV { 2588c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams param RsScript s 2598c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams param uint32_t slot 260be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param const void * data 2618c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams } 2628c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams 263c2c02a88641620f50a69cc174077ac8bbef40478Alex SakhartchoukScriptForEach { 2645fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams param RsScript s 2655fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams param uint32_t slot 2665fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams param RsAllocation ain 2675fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams param RsAllocation aout 2685fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams param const void * usr 2695fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams} 2705fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams 271be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarI { 272be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param RsScript s 273be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param uint32_t slot 274be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param int value 275be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams } 276be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams 277a5eb6e17c08426deeedf989d6be280d89662ee82Jason SamsScriptSetVarObj { 278a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams param RsScript s 279a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams param uint32_t slot 280a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams param RsObjectBase value 281a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams } 282a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams 2830977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen HinesScriptSetVarJ { 2840977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines param RsScript s 2850977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines param uint32_t slot 2860977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines param int64_t value 2870977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines } 2880977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines 289be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarF { 290be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param RsScript s 291be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param uint32_t slot 292be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param float value 293be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams } 294be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams 2956d0a0740530d57e2a5759df994352600946ff47dStephen HinesScriptSetVarD { 2966d0a0740530d57e2a5759df994352600946ff47dStephen Hines param RsScript s 2976d0a0740530d57e2a5759df994352600946ff47dStephen Hines param uint32_t slot 2986d0a0740530d57e2a5759df994352600946ff47dStephen Hines param double value 2996d0a0740530d57e2a5759df994352600946ff47dStephen Hines } 3006d0a0740530d57e2a5759df994352600946ff47dStephen Hines 301be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarV { 302be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param RsScript s 303be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param uint32_t slot 304be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams param const void * data 305be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams } 306fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams 307fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams 308326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate { 3099503b66e5329703535f7cc71a0755e6f3b1e39a6Shih-wei Liao param const char * resName 31015849d9a926fbd83587b9da30b8888574998a0fdShih-wei Liao param const char * cacheDir 311bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams param const char * text 312326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsScript 313326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 314326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 315326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 316721acc495b859c6d884725a4f9b5523583dd11c7Jason SamsProgramStoreCreate { 317c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk direct 318721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param bool colorMaskR 319721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param bool colorMaskG 320721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param bool colorMaskB 321721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param bool colorMaskA 322721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param bool depthMask 323721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param bool ditherEnable 324326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsBlendSrcFunc srcFunc 325326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsBlendDstFunc destFunc 326721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param RsDepthFunc depthFunc 327ccc010bb7c0f89e162bf60033968a20be90a903aJason Sams ret RsProgramStore 328326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 329326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3305fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterCreate { 331c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk direct 3325fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param bool pointSmooth 3335fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param bool lineSmooth 3345fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param bool pointSprite 335721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param float lineWidth 336721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param RsCullMode cull 3375fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ret RsProgramRaster 3385fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 3395fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 3404815c0d121310cfcd6a8aba4eab77a9910af53acJason SamsProgramBindConstants { 3414815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param RsProgram vp 3424815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param uint32_t slot 3434815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param RsAllocation constants 3444815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams } 3454815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams 346f2a5d7326b38e5a28b6618f9b1e5a021aef7179fJason Sams 3477dad9c30a59c99b57269e1b498807b6f034d56e9Jason SamsProgramBindTexture { 348326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramFragment pf 349326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t slot 350326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation a 351326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 352326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3537dad9c30a59c99b57269e1b498807b6f034d56e9Jason SamsProgramBindSampler { 354326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramFragment pf 355326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t slot 356326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsSampler s 357326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 358326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 359326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentCreate { 360c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk direct 361f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams param const char * shaderText 362f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams param const uint32_t * params 363f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams ret RsProgramFragment 364f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams } 365f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams 366326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexCreate { 367c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk direct 3684815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param const char * shaderText 3694815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams param const uint32_t * params 370f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams ret RsProgramVertex 371b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams } 372b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams 3735224a27798f89093b13722b41143551a057ce550Alex SakhartchoukFontCreateFromFile { 374a5597fcd411badad50c1345b3eca26453da45bbbJason Sams param const char *name 3755224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk param float fontSize 3765224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk param uint32_t dpi 3775224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk ret RsFont 378a5597fcd411badad50c1345b3eca26453da45bbbJason Sams } 379a5597fcd411badad50c1345b3eca26453da45bbbJason Sams 3805224a27798f89093b13722b41143551a057ce550Alex SakhartchoukFontCreateFromMemory { 381d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk param const char *name 382c17ace2391783dcabc6c1482edf0362654fd83e5Alex Sakhartchouk param float fontSize 383d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk param uint32_t dpi 38470b83c111beceaf8fbb700580833e7fec99272cfAlex Sakhartchouk param const void *data 385d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk ret RsFont 386d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk } 387d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk 3884e9a7a8ded109e16b163789274899447cef02642Alex SakhartchoukMeshCreate { 3899003e5674fb3b2a1442cd0cca899fdc3246debf8Alex Sakhartchouk param RsAllocation *vtx 3909003e5674fb3b2a1442cd0cca899fdc3246debf8Alex Sakhartchouk param RsAllocation *idx 3919003e5674fb3b2a1442cd0cca899fdc3246debf8Alex Sakhartchouk param uint32_t *primType 3924e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk ret RsMesh 3934e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk } 394