rs.spec revision dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48
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 45179e9a457095fea4c9e6d366c269754b882d05ddJason Sams param uint32_t ptr 46186e59154a0fb86e05e283e9c083b69878c06720Jason Sams ret RsAllocation 47186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 48186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 49c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCreateFromBitmap { 50186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 51186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsType vtype 52186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsAllocationMipmapControl mips 53186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param const void *data 54186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param uint32_t usages 55186e59154a0fb86e05e283e9c083b69878c06720Jason Sams ret RsAllocation 56186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 57186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 58c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCubeCreateFromBitmap { 59186e59154a0fb86e05e283e9c083b69878c06720Jason Sams direct 60186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsType vtype 61186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param RsAllocationMipmapControl mips 62186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param const void *data 63186e59154a0fb86e05e283e9c083b69878c06720Jason Sams param uint32_t usages 64186e59154a0fb86e05e283e9c083b69878c06720Jason Sams ret RsAllocation 65186e59154a0fb86e05e283e9c083b69878c06720Jason Sams} 66186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 6741e373d91a60043afa0f9abd026218b49cbc1201Jason SamsAllocationGetSurfaceTextureID { 6841e373d91a60043afa0f9abd026218b49cbc1201Jason Sams param RsAllocation alloc 6941e373d91a60043afa0f9abd026218b49cbc1201Jason Sams ret int32_t 7041e373d91a60043afa0f9abd026218b49cbc1201Jason Sams} 71186e59154a0fb86e05e283e9c083b69878c06720Jason Sams 723522f40418fdf877f5a136475dbf75e57a3b7c77Jason SamsAllocationGetSurfaceTextureID2 { 733522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams param RsAllocation alloc 743522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams param void *st 753522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams sync 763522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams} 773522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams 787ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason SamsAllocationSetSurface { 797ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams param RsAllocation alloc 807ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams param RsNativeWindow sur 817ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams sync 827ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams } 837ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams 847ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason SamsAllocationIoSend { 857ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams param RsAllocation alloc 867ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams } 877ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams 887ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason SamsAllocationIoReceive { 897ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams param RsAllocation alloc 907ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams } 917ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams 927ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams 938c88090e8cccab103eebe2ff569e116e9f5fb208Jason SamsContextFinish { 94748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk sync 95748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 96326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 97326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindRootScript { 98748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript sampler 99748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 100326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 101ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsContextBindProgramStore { 102748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsProgramStore pgm 103748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 104326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 105326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramFragment { 106748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsProgramFragment pgm 107748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 108326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 109326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramVertex { 110748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsProgramVertex pgm 111748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 112326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 1135fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsContextBindProgramRaster { 114748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsProgramRaster pgm 115748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 1165fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 117d3e0ad43dc758c409fc23d1893dab67b18520c24Alex SakhartchoukContextBindFont { 118748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsFont pgm 119748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 120d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk 12186f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextPause { 122748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 12386f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams 12486f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextResume { 125748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 12686f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams 127458f2dc26b7d34c2138c7bfbd95914240084e6bdJason SamsContextSetSurface { 128748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t width 129748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t height 130748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsNativeWindow sur 131c33e6903d25b9cd9d88f45c7320534a5a05c9064Jason Sams sync 132748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 133458f2dc26b7d34c2138c7bfbd95914240084e6bdJason Sams 134c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason SamsContextDump { 135748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param int32_t bits 136c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams} 137c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams 138613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason SamsContextSetPriority { 139748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param int32_t priority 140748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 141613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams 142741aac95b777b2e6cb90f484a05e489a79a6ef05Jason SamsContextDestroyWorker { 1435f27d6fb0b0b9184ba9820c629fc1354a635e515Jason Sams sync 1441dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams} 1451dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams 146a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason SamsAssignName { 147748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsObjectBase obj 148748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const char *name 149748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 150326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 151707aaf341a4b068e6ccadf923af85acdd85fd775Jason SamsObjDestroy { 152748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAsyncVoidPtr objPtr 153748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 154707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams 155d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate { 156c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk direct 157748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsDataType mType 158748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsDataKind mKind 159748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param bool mNormalized 160748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t mVectorSize 161748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk ret RsElement 162748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 163326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 164d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate2 { 165c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk direct 166748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const RsElement * elements 167748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const char ** names 168748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const uint32_t * arraySize 169748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk ret RsElement 170748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 171326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 172837e388700a48084489ba59d1d8cc5ece68b1535Jason SamsAllocationCopyToBitmap { 173748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation alloc 174748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param void * data 175748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 17639f2ef6fed00a99c5c389e12c4597884027d4858Alex Sakhartchouk 177326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 1784b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DData { 179748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation va 180748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t xoff 181748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t lod 182748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t count 183748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const void *data 184748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 185326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 1864b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DElementData { 187748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation va 188748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t x 189748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t lod 190748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const void *data 191748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param size_t comp_offset 192748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 1935f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams 1944b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation2DData { 195748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation va 196748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t xoff 197748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t yoff 198748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t lod 199748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocationCubemapFace face 200748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t w 201748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t h 202748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const void *data 203748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 204326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 2054b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation2DElementData { 206748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation va 207748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t x 208748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t y 209748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t lod 210748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocationCubemapFace face 211748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const void *data 212748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param size_t element_offset 213748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 2145f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams 215a23715148f7bda74e904fc553b70c9a49fd52a6eJason SamsAllocationGenerateMipmaps { 216748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation va 217a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams} 218a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams 219e579df42e85d9e00f53c42ef1b78dbd209dba989Jason SamsAllocationRead { 220748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation va 221748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param void * data 222748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 223326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 224366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason SamsAllocationSyncAll { 225748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation va 226748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocationUsageType src 227366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams} 228366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams 229326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 23096abf819e50b59ba8cf886c13f894633eb0a24baJason SamsAllocationResize1D { 231748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation va 232748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t dimX 233748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 23496abf819e50b59ba8cf886c13f894633eb0a24baJason Sams 23596abf819e50b59ba8cf886c13f894633eb0a24baJason SamsAllocationResize2D { 236748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation va 237748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t dimX 238748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t dimY 239748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 24096abf819e50b59ba8cf886c13f894633eb0a24baJason Sams 24174a827988567a9d65954bb0d825a3ba4a97e2947Alex SakhartchoukAllocationCopy2DRange { 242748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation dest 243748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t destXoff 244748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t destYoff 245748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t destMip 246748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t destFace 247748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t width 248748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t height 249748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation src 250748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t srcXoff 251748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t srcYoff 252748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t srcMip 253748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t srcFace 254748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 25574a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk 256326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate { 257c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk direct 258c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param RsSamplerValue magFilter 259c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param RsSamplerValue minFilter 260c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param RsSamplerValue wrapS 261c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param RsSamplerValue wrapT 262c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param RsSamplerValue wrapR 263c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk param float mAniso 264c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk ret RsSampler 265c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk} 266326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 267326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation { 268748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript vtm 269748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation va 270748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 271748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 272326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 273d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone { 274748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript s 275748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const char * timeZone 276748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 27798e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy 278be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvoke { 279748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript s 280748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 281748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 282326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 283be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvokeV { 284748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript s 285748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 286748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const void * data 287748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 2888c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams 289c2c02a88641620f50a69cc174077ac8bbef40478Alex SakhartchoukScriptForEach { 2905fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams param RsScript s 2915fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams param uint32_t slot 2925fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams param RsAllocation ain 2935fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams param RsAllocation aout 2945fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams param const void * usr 2955fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams} 2965fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams 297be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarI { 298748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript s 299748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 300748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param int value 301748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 302be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams 303a5eb6e17c08426deeedf989d6be280d89662ee82Jason SamsScriptSetVarObj { 304748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript s 305748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 306748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsObjectBase value 307748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 308a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams 3090977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen HinesScriptSetVarJ { 310748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript s 311748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 312748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param int64_t value 313748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 3140977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines 315be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarF { 316748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript s 317748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 318748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param float value 319748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 320be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams 3216d0a0740530d57e2a5759df994352600946ff47dStephen HinesScriptSetVarD { 322748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript s 323748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 324748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param double value 325748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 3266d0a0740530d57e2a5759df994352600946ff47dStephen Hines 327be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarV { 328748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsScript s 329748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 330748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const void * data 331748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 332fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams 3332980f07d3dbbca727e8efe24ace7e7928a935648Stephen HinesScriptSetVarVE { 3342980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines param RsScript s 3352980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines param uint32_t slot 3362980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines param const void * data 3372980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines param RsElement e 3382980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines param const size_t * dims 3392980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines } 3402980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines 341fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams 342326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate { 3439503b66e5329703535f7cc71a0755e6f3b1e39a6Shih-wei Liao param const char * resName 34415849d9a926fbd83587b9da30b8888574998a0fdShih-wei Liao param const char * cacheDir 345748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const char * text 346748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk ret RsScript 347748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 348326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3498eaba4fee0c7b5325742c87187622fdff51d5effJason SamsScriptIntrinsicCreate { 3508eaba4fee0c7b5325742c87187622fdff51d5effJason Sams param uint32_t id 3518eaba4fee0c7b5325742c87187622fdff51d5effJason Sams param RsElement eid 3528eaba4fee0c7b5325742c87187622fdff51d5effJason Sams ret RsScript 3538eaba4fee0c7b5325742c87187622fdff51d5effJason Sams } 354326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 355dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptKernelIDCreate { 356dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams direct 357dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScript sid 358dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param int slot 359dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param int sig 360dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams ret RsScriptKernelID 361dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams } 362dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams 363dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptFieldIDCreate { 364dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams direct 365dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScript sid 366dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param int slot 367dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams ret RsScriptFieldID 368dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams } 369dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams 370dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupCreate { 371dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams direct 372dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScriptKernelID * kernels 373dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScriptKernelID * src 374dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScriptKernelID * dstK 375dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScriptFieldID * dstF 376dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param const RsType * type 377dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams ret RsScriptGroup 378dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams} 379dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams 380dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupSetOutput { 381dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScriptGroup group 382dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScriptKernelID kernel 383dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsAllocation alloc 384dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams} 385dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams 386dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupSetInput { 387dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScriptGroup group 388dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScriptKernelID kernel 389dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsAllocation alloc 390dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams} 391dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams 392dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupExecute { 393dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams param RsScriptGroup group 394dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams} 395dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams 396dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams 397dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams 398721acc495b859c6d884725a4f9b5523583dd11c7Jason SamsProgramStoreCreate { 399748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk direct 400748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param bool colorMaskR 401748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param bool colorMaskG 402748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param bool colorMaskB 403748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param bool colorMaskA 404721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param bool depthMask 405721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param bool ditherEnable 406748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsBlendSrcFunc srcFunc 407748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsBlendDstFunc destFunc 408721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams param RsDepthFunc depthFunc 409748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk ret RsProgramStore 410748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 411326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 4125fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterCreate { 413748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk direct 414748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param bool pointSprite 415748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsCullMode cull 416748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk ret RsProgramRaster 4175fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 4185fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 4194815c0d121310cfcd6a8aba4eab77a9910af53acJason SamsProgramBindConstants { 420748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsProgram vp 421748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 422748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation constants 423748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 4244815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams 425f2a5d7326b38e5a28b6618f9b1e5a021aef7179fJason Sams 4267dad9c30a59c99b57269e1b498807b6f034d56e9Jason SamsProgramBindTexture { 427748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsProgramFragment pf 428748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 429748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation a 430748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 431326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 4327dad9c30a59c99b57269e1b498807b6f034d56e9Jason SamsProgramBindSampler { 433748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsProgramFragment pf 434748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t slot 435748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsSampler s 436748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 437326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 438326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentCreate { 439748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk direct 440748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const char * shaderText 441748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const char ** textureNames 442748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const uint32_t * params 443748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk ret RsProgramFragment 444748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 445f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams 446326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexCreate { 447748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk direct 448748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const char * shaderText 449748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const char ** textureNames 450748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const uint32_t * params 451748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk ret RsProgramVertex 452748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 453b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams 4545224a27798f89093b13722b41143551a057ce550Alex SakhartchoukFontCreateFromFile { 455748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const char *name 456748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param float fontSize 457748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t dpi 458748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk ret RsFont 459748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 460a5597fcd411badad50c1345b3eca26453da45bbbJason Sams 4615224a27798f89093b13722b41143551a057ce550Alex SakhartchoukFontCreateFromMemory { 462748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const char *name 463748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param float fontSize 464748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t dpi 465748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param const void *data 466748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk ret RsFont 467748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 468d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk 4694e9a7a8ded109e16b163789274899447cef02642Alex SakhartchoukMeshCreate { 470748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation *vtx 471748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param RsAllocation *idx 472748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk param uint32_t *primType 473748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk ret RsMesh 474748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk } 4759e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams 4769e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason SamsPathCreate { 4779e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams param RsPathPrimitive pp 4789e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams param bool isStatic 4799e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams param RsAllocation vertex 4809e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams param RsAllocation loops 4819e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams param float quality 4829e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams ret RsPath 4839e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams } 484