Skip to content
Snippets Groups Projects
Select Git revision
  • 3962dae71bae4ddcd433e5726d511d5cbb9897c9
  • test default
2 results

dcc.py

Blame
  • gralloc.cpp 50.00 KiB
    /*
    * Copyright (C) 2011 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.
    */
    #include <string.h>
    #include <pthread.h>
    #include <limits.h>
    #include <cutils/ashmem.h>
    #include <unistd.h>
    #include <errno.h>
    #include <dlfcn.h>
    #include <sys/mman.h>
    #include "gralloc_cb.h"
    #include "goldfish_dma.h"
    #include "FormatConversions.h"
    #include "HostConnection.h"
    #include "ProcessPipe.h"
    #include "glUtils.h"
    #include <utils/CallStack.h>
    #include <cutils/log.h>
    #include <cutils/properties.h>
    
    #include <set>
    #include <string>
    #include <sstream>
    
    /* Set to 1 or 2 to enable debug traces */
    #define DEBUG  0
    
    #if DEBUG >= 1
    #  define D(...)   ALOGD(__VA_ARGS__)
    #else
    #  define D(...)   ((void)0)
    #endif
    
    #if DEBUG >= 2
    #  define DD(...)  ALOGD(__VA_ARGS__)
    #else
    #  define DD(...)  ((void)0)
    #endif
    
    #define DBG_FUNC DBG("%s\n", __FUNCTION__)
    
    #ifdef GOLDFISH_HIDL_GRALLOC
    static bool isHidlGralloc = true;
    #else
    static bool isHidlGralloc = false;
    #endif
    
    int32_t* getOpenCountPtr(cb_handle_t* cb) {
        return ((int32_t*)cb->ashmemBase) + 1;
    }
    
    uint32_t getAshmemColorOffset(cb_handle_t* cb) {
        uint32_t res = 0;
        if (cb->canBePosted()) res = sizeof(intptr_t);
        if (isHidlGralloc) res = sizeof(intptr_t) * 2;
        return res;
    }