rs.spec revision 5fd09d847586f9680b4f495413b6ca5fbb69af6e
1326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 2326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindRootScript { 4326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsScript sampler 5326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 6326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 7326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramFragmentStore { 8326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramFragmentStore 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 2357b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoContextSetDefineF { 2457b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param const char* name 2557b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param float value 2657b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato } 2757b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato 2857b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoContextSetDefineI32 { 2957b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param const char* name 3057b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param int32_t value 3157b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato } 3257b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato 33a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason SamsAssignName { 34a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams param void *obj 35a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams param const char *name 36a4a54e42fc710a62b47cbcb9d64c34a190429d9eJason Sams param size_t len 37a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams } 38326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 39707aaf341a4b068e6ccadf923af85acdd85fd775Jason SamsObjDestroy { 40707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams param void *obj 41707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams } 42707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams 43326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementBegin { 44326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 45326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 46326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementAdd { 47326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsDataKind dataKind 48326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsDataType dataType 49326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool isNormalized 50326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param size_t bits 518b2c065dfc16c148e2829a19e83d2269b9bcd4ccJason Sams param const char * name 52326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 53326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 54326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementCreate { 55326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsElement 56326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 57326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 58326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementGetPredefined { 59326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElementPredefined predef 60326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsElement 61326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 62326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 63326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeBegin { 64326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement type 65326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 66326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 67326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeAdd { 68326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsDimension dim 69326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param size_t value 70326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 71326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 72326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeCreate { 73326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsType 74326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 75326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 76326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationCreateTyped { 77326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsType type 78326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsAllocation 79326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 80326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 81326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationCreatePredefSized { 82326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElementPredefined predef 83326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param size_t count 84326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsAllocation 85326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 86326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 87326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationCreateSized { 88326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement e 89326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param size_t count 90326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsAllocation 91326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 92326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 936678e9b2568ad041429a2477177133fe4932159fJason SamsAllocationCreateFromFile { 94326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const char *file 95326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool genMips 96326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsAllocation 97326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 98326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 996678e9b2568ad041429a2477177133fe4932159fJason SamsAllocationCreateFromBitmap { 1006678e9b2568ad041429a2477177133fe4932159fJason Sams param uint32_t width 1016678e9b2568ad041429a2477177133fe4932159fJason Sams param uint32_t height 102a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams param RsElement dstFmt 103a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams param RsElement srcFmt 1046678e9b2568ad041429a2477177133fe4932159fJason Sams param bool genMips 1056678e9b2568ad041429a2477177133fe4932159fJason Sams param const void * data 1066678e9b2568ad041429a2477177133fe4932159fJason Sams ret RsAllocation 1076678e9b2568ad041429a2477177133fe4932159fJason Sams } 1086678e9b2568ad041429a2477177133fe4932159fJason Sams 109c9d43db4d216b01b13aebfdb31d5615909591b33Jason SamsAllocationCreateFromBitmapBoxed { 110c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams param uint32_t width 111c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams param uint32_t height 112a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams param RsElement dstFmt 113a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams param RsElement srcFmt 114c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams param bool genMips 115c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams param const void * data 116c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams ret RsAllocation 117c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams } 118c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams 1196678e9b2568ad041429a2477177133fe4932159fJason Sams 120326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationUploadToTexture { 121326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation alloc 122326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t baseMipLevel 123326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 124326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 125326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationUploadToBufferObject { 126326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation alloc 127326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 128326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 129326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 130326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationData { 131326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 132326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void * data 1339397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams param uint32_t bytes 1349397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams handcodeApi 1359397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams togglePlay 136d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 137326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 138326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocation1DSubData { 139326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 140326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t xoff 141326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t count 142326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 1439397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams param uint32_t bytes 1449397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams handcodeApi 1459397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams togglePlay 146d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 147326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 148326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocation2DSubData { 149326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 150326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t xoff 151326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t yoff 152326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t w 153326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t h 154326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 1559397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams param uint32_t bytes 156326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 157326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 158e579df42e85d9e00f53c42ef1b78dbd209dba989Jason SamsAllocationRead { 159e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams param RsAllocation va 160e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams param void * data 161e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams } 162326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 163326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DCreate { 164326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsAdapter1D 165326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 166326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 167326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DBindAllocation { 168326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter1D adapt 169326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation alloc 170326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 171326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 172326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DSetConstraint { 173326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter1D adapter 174326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsDimension dim 175326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t value 176326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 177326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 178326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DData { 179326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter1D adapter 180326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void * data 181d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 182326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 183326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DSubData { 184326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter1D adapter 185326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t xoff 186326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t count 187326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 188d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 189326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 190326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DCreate { 191326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsAdapter2D 192326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 193326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 194326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DBindAllocation { 195326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter2D adapt 196326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation alloc 197326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 198326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 199326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DSetConstraint { 200326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter2D adapter 201326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsDimension dim 202326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t value 203326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 204326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 205326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DData { 206326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter2D adapter 207326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 208d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams } 209326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 210326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DSubData { 211326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAdapter2D adapter 212326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t xoff 213326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t yoff 214326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t w 215326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t h 216326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *data 217326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 218326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 219326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerBegin { 220326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 221326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 222326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerSet { 223326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsSamplerParam p 224326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsSamplerValue value 225326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 226326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 227326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate { 228326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsSampler 229326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 230326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 231326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 232326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshBegin { 233326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement vertex 234326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement index 235326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 236326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 237326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshAddVertex { 238326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param const void *vtx 239326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 240326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 241326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshAddTriangle { 242326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t idx1 243326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t idx2 244326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t idx3 245326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 246326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 247326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshCreate { 248326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsTriangleMesh 249326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 250326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 251326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 252326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshRender { 253326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsTriangleMesh vtm 254326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 255326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 256326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshRenderRange { 257326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsTriangleMesh vtm 258326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t start 259326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t count 260326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 261326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 262326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 263326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation { 264326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsScript vtm 265326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation va 266326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t slot 267326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 268326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 269326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 270326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCBegin { 271326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 272326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 273d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearColor { 274d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams param RsScript s 275326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param float r 276326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param float g 277326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param float b 278326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param float a 279326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 280326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 281d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone { 282d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams param RsScript s 28398e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy param const char * timeZone 28498e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy param uint32_t length 28598e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy } 28698e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy 287d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearDepth { 288d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams param RsScript s 289326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param float depth 290326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 291326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 292d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearStencil { 293d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams param RsScript s 294326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t stencil 295326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 296326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 297fa51719e6c1bd17b3f347477b4827face9ab647eJason SamsScriptSetType { 298326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsType type 299fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams param uint32_t slot 30090b36a88cf0cc549b296ac15a249ea7786c6de9eJason Sams param bool isWritable 301fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams param const char * name 302326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 303326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3048c6bc6930d4996b897de8e5113da4a4efae2310cJason SamsScriptSetInvoke { 3058c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams param const char * name 3068c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams param uint32_t slot 3078c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams } 3088c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams 3098c6bc6930d4996b897de8e5113da4a4efae2310cJason SamsScriptInvoke { 3108c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams param RsScript s 3118c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams param uint32_t slot 3128c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams } 3138c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams 314fa51719e6c1bd17b3f347477b4827face9ab647eJason SamsScriptSetRoot { 315326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool isRoot 316326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 317326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 318fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams 319fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams 320326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCSetScript { 3211ef8b80bc49f415b93912fe7335f852953bde4a4Jack Palevich param void * codePtr 322326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 323326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3241f52633fefd1862451e6a30209d590680d02beecJason SamsScriptCSetText { 3251f52633fefd1862451e6a30209d590680d02beecJason Sams param const char * text 3261f52633fefd1862451e6a30209d590680d02beecJason Sams param uint32_t length 3271f52633fefd1862451e6a30209d590680d02beecJason Sams } 3281f52633fefd1862451e6a30209d590680d02beecJason Sams 329326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate { 330326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsScript 331326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 332326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 33357b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoScriptCSetDefineF { 33457b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param const char* name 33557b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param float value 33657b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato } 33757b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato 33857b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoScriptCSetDefineI32 { 33957b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param const char* name 34057b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato param int32_t value 34157b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato } 342326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 343326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreBegin { 344326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement in 345326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement out 346326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 347326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 348326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreColorMask { 349326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool r 350326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool g 351326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool b 352326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool a 353326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 354326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 355326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreBlendFunc { 356326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsBlendSrcFunc srcFunc 357326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsBlendDstFunc destFunc 358326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 359326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 360326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreDepthMask { 361326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool enable 362326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 363326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 364326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreDither { 365326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool enable 366326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 367326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 368326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreDepthFunc { 369326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsDepthFunc func 370326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 371326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 372326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreCreate { 373326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsProgramFragmentStore 374326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 375326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 3765fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterCreate { 3775fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param RsElement in 3785fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param RsElement out 3795fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param bool pointSmooth 3805fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param bool lineSmooth 3815fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param bool pointSprite 3825fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ret RsProgramRaster 3835fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 3845fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 3855fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterSetLineWidth { 3865fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param RsProgramRaster pr 3875fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param float lw 3885fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 3895fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 3905fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterSetPointSize{ 3915fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param RsProgramRaster pr 3925fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams param float ps 3935fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 394326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 395326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 396326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentBegin { 397326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement in 398326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement out 399e0158410a2fedef43f5a2848c28393ad611e8cadJason Sams param bool pointSpriteEnable 400326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 401326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 402326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentBindTexture { 403326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramFragment pf 404326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t slot 405326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation a 406326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 407326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 408326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentBindSampler { 409326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramFragment pf 410326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t slot 411326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsSampler s 412326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 413326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 414e0158410a2fedef43f5a2848c28393ad611e8cadJason SamsProgramFragmentSetSlot { 415326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param uint32_t slot 416326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool enable 417e0158410a2fedef43f5a2848c28393ad611e8cadJason Sams param RsTexEnvMode env 418e0158410a2fedef43f5a2848c28393ad611e8cadJason Sams param RsType t 419326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 420326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 421326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentCreate { 422326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsProgramFragment 423326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 424326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 425326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 426326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexBegin { 427326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement in 428326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsElement out 429326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 430326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 431326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexCreate { 432326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams ret RsProgramVertex 433326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 434326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 435326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexBindAllocation { 436326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsProgramVertex vpgm 437326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param RsAllocation constants 438326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 439326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 440326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexSetTextureMatrixEnable { 441326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams param bool enable 442326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams } 443326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 444b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason SamsProgramVertexAddLight { 445b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams param RsLight light 446b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams } 447b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams 44862bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightBegin { 44962bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 45062bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 45162bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetLocal { 45262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param bool isLocal 45362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 45462bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 45562bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetMonochromatic { 45662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param bool isMono 45762bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 45862bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 45962bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightCreate { 46062bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams ret RsLight light 46162bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 46262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 46362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 46462bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetPosition { 46562bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param RsLight light 46662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float x 46762bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float y 46862bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float z 46962bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 47062bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 47162bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetColor { 47262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param RsLight light 47362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float r 47462bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float g 47562bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams param float b 47662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams } 47762bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams 478a5597fcd411badad50c1345b3eca26453da45bbbJason SamsFileOpen { 479a5597fcd411badad50c1345b3eca26453da45bbbJason Sams ret RsFile 480a5597fcd411badad50c1345b3eca26453da45bbbJason Sams param const char *name 481a5597fcd411badad50c1345b3eca26453da45bbbJason Sams param size_t len 482a5597fcd411badad50c1345b3eca26453da45bbbJason Sams } 483a5597fcd411badad50c1345b3eca26453da45bbbJason Sams 484a5597fcd411badad50c1345b3eca26453da45bbbJason Sams 485e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshCreate { 486e5ffb879ae535a899a486285a23bea05e912480fJason Sams ret RsSimpleMesh 487e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation prim 488e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation index 489e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation *vtx 490e5ffb879ae535a899a486285a23bea05e912480fJason Sams param uint32_t vtxCount 491e5ffb879ae535a899a486285a23bea05e912480fJason Sams param uint32_t primType 492e5ffb879ae535a899a486285a23bea05e912480fJason Sams } 493e5ffb879ae535a899a486285a23bea05e912480fJason Sams 494e5ffb879ae535a899a486285a23bea05e912480fJason Sams 495e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindIndex { 496e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsSimpleMesh mesh 497e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation idx 498e5ffb879ae535a899a486285a23bea05e912480fJason Sams } 499e5ffb879ae535a899a486285a23bea05e912480fJason Sams 500e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindPrimitive { 501e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsSimpleMesh mesh 502e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation prim 503e5ffb879ae535a899a486285a23bea05e912480fJason Sams } 504e5ffb879ae535a899a486285a23bea05e912480fJason Sams 505e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindVertex { 506e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsSimpleMesh mesh 507e5ffb879ae535a899a486285a23bea05e912480fJason Sams param RsAllocation vtx 508e5ffb879ae535a899a486285a23bea05e912480fJason Sams param uint32_t slot 509e5ffb879ae535a899a486285a23bea05e912480fJason Sams } 510e5ffb879ae535a899a486285a23bea05e912480fJason Sams 511