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