1bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams/* 22980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines * Copyright (C) 2011-2012 The Android Open Source Project 3bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * 4bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 5bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * you may not use this file except in compliance with the License. 6bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * You may obtain a copy of the License at 7bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * 8bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * http://www.apache.org/licenses/LICENSE-2.0 9bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * 10bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * Unless required by applicable law or agreed to in writing, software 11bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 12bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * See the License for the specific language governing permissions and 14bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * limitations under the License. 15bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams */ 16bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 17bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#ifndef RSD_BCC_H 18bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#define RSD_BCC_H 19bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 20bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#include <rs_hal.h> 2187fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams#include <rsRuntime.h> 22bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 23bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsbool rsdScriptInit(const android::renderscript::Context *, android::renderscript::ScriptC *, 24bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams char const *resName, char const *cacheDir, 2587fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams uint8_t const *bitcode, size_t bitcodeSize, uint32_t flags); 268eaba4fee0c7b5325742c87187622fdff51d5effJason Samsbool rsdInitIntrinsic(const android::renderscript::Context *rsc, 278eaba4fee0c7b5325742c87187622fdff51d5effJason Sams android::renderscript::Script *s, 2841d6c769f5fa21da3cbc116af95d88949a4a5c76Stephen Hines RsScriptIntrinsicID iid, 298eaba4fee0c7b5325742c87187622fdff51d5effJason Sams android::renderscript::Element *e); 308eaba4fee0c7b5325742c87187622fdff51d5effJason Sams 31bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsvoid rsdScriptInvokeFunction(const android::renderscript::Context *dc, 32cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams android::renderscript::Script *script, 33bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t slot, 34bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams const void *params, 35bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams size_t paramLength); 36cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams 37cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Samsvoid rsdScriptInvokeForEach(const android::renderscript::Context *rsc, 38cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams android::renderscript::Script *s, 3935e429ebf817130d8590d11d441a77aa697bd7d4Jason Sams uint32_t slot, 40cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams const android::renderscript::Allocation * ain, 41cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams android::renderscript::Allocation * aout, 42cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams const void * usr, 43099bc262f862cdeb547cf8a78fe9e0e92560f437Tim Murray size_t usrLen, 44cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams const RsScriptCall *sc); 45cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams 46bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsint rsdScriptInvokeRoot(const android::renderscript::Context *dc, 47cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams android::renderscript::Script *script); 48bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsvoid rsdScriptInvokeInit(const android::renderscript::Context *dc, 49cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams android::renderscript::Script *script); 504ee16ffbd9d1d72e1757c9b26715597fdc044117Stephen Hinesvoid rsdScriptInvokeFreeChildren(const android::renderscript::Context *dc, 514ee16ffbd9d1d72e1757c9b26715597fdc044117Stephen Hines android::renderscript::Script *script); 52bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 53bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsvoid rsdScriptSetGlobalVar(const android::renderscript::Context *, 54bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams const android::renderscript::Script *, 55bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t slot, void *data, size_t dataLen); 569c64239ebbfa4170190ede812e69150035e008e0Tim Murrayvoid rsdScriptGetGlobalVar(const android::renderscript::Context *, 579c64239ebbfa4170190ede812e69150035e008e0Tim Murray const android::renderscript::Script *, 589c64239ebbfa4170190ede812e69150035e008e0Tim Murray uint32_t slot, void *data, size_t dataLen); 592980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hinesvoid rsdScriptSetGlobalVarWithElemDims(const android::renderscript::Context *, 602980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines const android::renderscript::Script *, 612980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines uint32_t slot, void *data, 622980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines size_t dataLength, 632980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines const android::renderscript::Element *, 642980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines const size_t *dims, 652980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines size_t dimLength); 66bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsvoid rsdScriptSetGlobalBind(const android::renderscript::Context *, 67bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams const android::renderscript::Script *, 68807fdc4b6f3fb893015ee136565d6151bb2332d3Jason Sams uint32_t slot, android::renderscript::Allocation *data); 69bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsvoid rsdScriptSetGlobalObj(const android::renderscript::Context *, 70bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams const android::renderscript::Script *, 71bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t slot, android::renderscript::ObjectBase *data); 72bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 73bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsvoid rsdScriptSetGlobal(const android::renderscript::Context *dc, 74bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams const android::renderscript::Script *script, 75bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t slot, 76bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams void *data, 77bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams size_t dataLength); 78bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsvoid rsdScriptGetGlobal(const android::renderscript::Context *dc, 79bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams const android::renderscript::Script *script, 80bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t slot, 81bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams void *data, 82bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams size_t dataLength); 83bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsvoid rsdScriptDestroy(const android::renderscript::Context *dc, 84bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams android::renderscript::Script *script); 85bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 86807fdc4b6f3fb893015ee136565d6151bb2332d3Jason Samsandroid::renderscript::Allocation * rsdScriptGetAllocationForPointer( 87807fdc4b6f3fb893015ee136565d6151bb2332d3Jason Sams const android::renderscript::Context *dc, 88807fdc4b6f3fb893015ee136565d6151bb2332d3Jason Sams const android::renderscript::Script *script, 89807fdc4b6f3fb893015ee136565d6151bb2332d3Jason Sams const void *); 90bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 91dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams 92bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#endif 93