rsThreadIO.cpp revision 326e0ddf89e8df2837752fbfd7a014814b32082c
1326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams/*
2326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * Copyright (C) 2009 The Android Open Source Project
3326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams *
4326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * Licensed under the Apache License, Version 2.0 (the "License");
5326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * you may not use this file except in compliance with the License.
6326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * You may obtain a copy of the License at
7326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams *
8326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams *      http://www.apache.org/licenses/LICENSE-2.0
9326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams *
10326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * Unless required by applicable law or agreed to in writing, software
11326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * distributed under the License is distributed on an "AS IS" BASIS,
12326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * See the License for the specific language governing permissions and
14326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * limitations under the License.
15326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams */
16326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
17326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams#include "rsContext.h"
18326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
19326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams#include <utils/Log.h>
20326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
21326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams#include "rsThreadIO.h"
22326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
23326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsusing namespace android;
24326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsusing namespace android::renderscript;
25326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
26326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsThreadIO *android::renderscript::gIO = NULL;
27326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
28326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsThreadIO::ThreadIO()
29326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{
30326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    mToCore.init(16 * 1024);
31326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
32326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
33326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsThreadIO::~ThreadIO()
34326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{
35326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
36326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
37326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsvoid ThreadIO::playCoreCommands(Context *con)
38326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{
39326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    //LOGE("playCoreCommands 1");
40326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    uint32_t cmdID = 0;
41326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    uint32_t cmdSize = 0;
42326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    while(!mToCore.isEmpty()) {
43326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams        //LOGE("playCoreCommands 2");
44326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams        const void * data = mToCore.get(&cmdID, &cmdSize);
45326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams        //LOGE("playCoreCommands 3 %i %i", cmdID, cmdSize);
46326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
47326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams        gPlaybackFuncs[cmdID](con, data);
48326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams        //LOGE("playCoreCommands 4");
49326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
50326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams        mToCore.next();
51326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams        //LOGE("playCoreCommands 5");
52326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    }
53326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
54326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
55326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
56