1bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams/* 2ee7aa2e3900f807ee41bb9735da86b3eb4cc2e70Stephen 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_CORE_H 18bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#define RSD_CORE_H 19bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 20bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#include <rs_hal.h> 21bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 22709a0978ae141198018ca9769f8d96292a8928e6Jason Sams#include "../cpu_ref/rsd_cpu.h" 23709a0978ae141198018ca9769f8d96292a8928e6Jason Sams 24cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams#include "rsMutex.h" 25cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams#include "rsSignal.h" 26cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams 2759f6142d7657e43b4d21e077a28387431db02edfMiao Wang#if !defined(RS_VENDOR_LIB) && !defined(RS_COMPATIBILITY_LIB) 284b3de47071d875faaa7d419d050a464b09538797Jason Sams#include "rsdGL.h" 2993eacc7ce0aad4314b4cb41a281f59ce54bb3286Jason Sams#endif 30cdfdb8f2cdf4668c476cac842212892b2505ff3fJason Sams 3183c451a4ef4388e002482e383d488ca9b7b7600dJason Samstypedef struct ScriptTLSStructRec { 3283c451a4ef4388e002482e383d488ca9b7b7600dJason Sams android::renderscript::Context * mContext; 3383c451a4ef4388e002482e383d488ca9b7b7600dJason Sams android::renderscript::Script * mScript; 3483c451a4ef4388e002482e383d488ca9b7b7600dJason Sams} ScriptTLSStruct; 3583c451a4ef4388e002482e383d488ca9b7b7600dJason Sams 3687fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Samstypedef struct RsdHalRec { 37bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t version_major; 38bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t version_minor; 399719bd4a0187c400ba868712612fe66da4635aacJason Sams bool mHasGraphics; 404b3de47071d875faaa7d419d050a464b09538797Jason Sams 4183c451a4ef4388e002482e383d488ca9b7b7600dJason Sams ScriptTLSStruct mTlsStruct; 42709a0978ae141198018ca9769f8d96292a8928e6Jason Sams android::renderscript::RsdCpuReference *mCpuRef; 4383c451a4ef4388e002482e383d488ca9b7b7600dJason Sams 4459f6142d7657e43b4d21e077a28387431db02edfMiao Wang#if !defined(RS_VENDOR_LIB) && !defined(RS_COMPATIBILITY_LIB) 454b3de47071d875faaa7d419d050a464b09538797Jason Sams RsdGL gl; 4693eacc7ce0aad4314b4cb41a281f59ce54bb3286Jason Sams#endif 4787fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams} RsdHal; 48bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 4934689388556747b52c3c2f1c894929fb44580898Tim Murrayvoid* rsdAllocRuntimeMem(size_t size, uint32_t flags); 5034689388556747b52c3c2f1c894929fb44580898Tim Murrayvoid rsdFreeRuntimeMem(void* ptr); 51bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 52bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#endif 53