From 9db3d07b9620b4269ab33f78604a36327e536ce1 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Queru Date: Thu, 12 Nov 2009 18:45:53 -0800 Subject: eclair snapshot --- libs/rs/rsScript.h | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 libs/rs/rsScript.h (limited to 'libs/rs/rsScript.h') diff --git a/libs/rs/rsScript.h b/libs/rs/rsScript.h new file mode 100644 index 000000000000..bc4085429fd9 --- /dev/null +++ b/libs/rs/rsScript.h @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_RS_SCRIPT_H +#define ANDROID_RS_SCRIPT_H + +#include "rsAllocation.h" + + +// --------------------------------------------------------------------------- +namespace android { +namespace renderscript { + +class ProgramVertex; +class ProgramFragment; +class ProgramRaster; +class ProgramFragmentStore; + +#define MAX_SCRIPT_BANKS 16 + +class Script : public ObjectBase +{ +public: + typedef void (* InvokeFunc_t)(void); + + Script(Context *); + virtual ~Script(); + + + struct Enviroment_t { + bool mIsRoot; + float mClearColor[4]; + float mClearDepth; + uint32_t mClearStencil; + + uint32_t mStartTimeMillis; + const char* mTimeZone; + + ObjectBaseRef mVertex; + ObjectBaseRef mFragment; + ObjectBaseRef mRaster; + ObjectBaseRef mFragmentStore; + InvokeFunc_t mInvokables[MAX_SCRIPT_BANKS]; + char * mScriptText; + uint32_t mScriptTextLength; + }; + Enviroment_t mEnviroment; + + uint32_t mCounstantBufferCount; + + + ObjectBaseRef mSlots[MAX_SCRIPT_BANKS]; + ObjectBaseRef mTypes[MAX_SCRIPT_BANKS]; + String8 mSlotNames[MAX_SCRIPT_BANKS]; + bool mSlotWritable[MAX_SCRIPT_BANKS]; + + + + virtual void setupScript() = 0; + virtual bool run(Context *, uint32_t launchID) = 0; +}; + + + +} +} +#endif + -- cgit v1.2.3-59-g8ed1b