rsCpuCoreRuntime.h revision dced5c96bc53c45a1aac782ea9bd738b0d50fd09
1dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross/*
2dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross * Copyright (C) 2015 The Android Open Source Project
3dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross *
4dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross * Licensed under the Apache License, Version 2.0 (the "License");
5dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross * you may not use this file except in compliance with the License.
6dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross * You may obtain a copy of the License at
7dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross *
8dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross *      http://www.apache.org/licenses/LICENSE-2.0
9dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross *
10dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross * Unless required by applicable law or agreed to in writing, software
11dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross * distributed under the License is distributed on an "AS IS" BASIS,
12dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross * See the License for the specific language governing permissions and
14dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross * limitations under the License.
15dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross */
16dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross
17dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross// Warning: This header file is shared with the core runtime, which is written in C;
18dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross// hence, this header file must be written in C.
19dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross
20dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross#ifndef RSD_CPU_CORE_RUNTIME_H
21dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross#define RSD_CPU_CORE_RUNTIME_H
22dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross
23dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Grossstruct RsExpandKernelParams {
24dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross
25dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    // Used by kernels
26dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    const void **ins;
27dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    uint32_t *inEStrides;
28dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    void *out;
29dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    uint32_t y;
30dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    uint32_t z;
31dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    uint32_t lid;
32dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross
33dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    // Used by ScriptGroup and user kernels.
34dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    const void *usr;
35dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross
36dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    // Used by intrinsics
37dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    uint32_t dimX;
38dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    uint32_t dimY;
39dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    uint32_t dimZ;
40dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross
41dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    /*
42dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross     * FIXME: This is only used by the blend intrinsic.  If possible, we should
43dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross     *        modify blur to not need it.
44dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross     */
45dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross    uint32_t slot;
46dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross};
47dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross
48dced5c96bc53c45a1aac782ea9bd738b0d50fd09David Gross#endif
49