这篇教程C++ D_MAGIC_SET函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中D_MAGIC_SET函数的典型用法代码示例。如果您正苦于以下问题:C++ D_MAGIC_SET函数的具体用法?C++ D_MAGIC_SET怎么用?C++ D_MAGIC_SET使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了D_MAGIC_SET函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: dfb_colorhash_core_initializestatic DFBResultdfb_colorhash_core_initialize( CoreDFB *core, DFBColorHashCore *data, DFBColorHashCoreShared *shared ){ D_DEBUG_AT( Core_ColorHash, "dfb_colorhash_core_initialize( %p, %p, %p )/n", core, data, shared ); D_ASSERT( data != NULL ); D_ASSERT( shared != NULL ); core_colorhash = data; /* FIXME */ data->core = core; data->shared = shared; data->hash = D_CALLOC( HASH_SIZE, sizeof (Colorhash) ); if (!data->hash) return D_OOM(); direct_mutex_init( &data->hash_lock ); D_MAGIC_SET( data, DFBColorHashCore ); D_MAGIC_SET( shared, DFBColorHashCoreShared ); return DFB_OK;}
开发者ID:Distrotech,项目名称:DirectFB,代码行数:26,
示例2: mesaInitPoolstatic DFBResultmesaInitPool( CoreDFB *core, CoreSurfacePool *pool, void *pool_data, void *pool_local, void *system_data, CoreSurfacePoolDescription *ret_desc ){ MesaPoolData *data = pool_data; MesaPoolLocalData *local = pool_local; MesaData *mesa = system_data; D_DEBUG_AT( Mesa_Surfaces, "%s()/n", __FUNCTION__ ); D_ASSERT( core != NULL ); D_MAGIC_ASSERT( pool, CoreSurfacePool ); D_ASSERT( data != NULL ); D_ASSERT( local != NULL ); D_ASSERT( mesa != NULL ); D_ASSERT( mesa->shared != NULL ); D_ASSERT( ret_desc != NULL ); ret_desc->caps = CSPCAPS_VIRTUAL;// ret_desc->access[CSAID_CPU] = CSAF_READ | CSAF_WRITE | CSAF_SHARED; ret_desc->access[CSAID_GPU] = CSAF_READ | CSAF_WRITE | CSAF_SHARED; ret_desc->access[CSAID_ACCEL1] = CSAF_READ | CSAF_WRITE | CSAF_SHARED; ret_desc->types = CSTF_LAYER | CSTF_WINDOW | CSTF_CURSOR | CSTF_FONT | CSTF_SHARED | CSTF_EXTERNAL; ret_desc->priority = CSPP_DEFAULT; ret_desc->size = dfb_config->video_length; /* For hardware layers */ ret_desc->access[CSAID_LAYER0] = CSAF_READ; ret_desc->access[CSAID_LAYER1] = CSAF_READ; ret_desc->access[CSAID_LAYER2] = CSAF_READ; ret_desc->access[CSAID_LAYER3] = CSAF_READ; ret_desc->access[CSAID_LAYER4] = CSAF_READ; ret_desc->access[CSAID_LAYER5] = CSAF_READ; ret_desc->access[CSAID_LAYER6] = CSAF_READ; ret_desc->access[CSAID_LAYER7] = CSAF_READ; ret_desc->access[CSAID_LAYER8] = CSAF_READ; ret_desc->access[CSAID_LAYER9] = CSAF_READ; ret_desc->access[CSAID_LAYER10] = CSAF_READ; ret_desc->access[CSAID_LAYER11] = CSAF_READ; ret_desc->access[CSAID_LAYER12] = CSAF_READ; ret_desc->access[CSAID_LAYER13] = CSAF_READ; ret_desc->access[CSAID_LAYER14] = CSAF_READ; ret_desc->access[CSAID_LAYER15] = CSAF_READ; snprintf( ret_desc->name, DFB_SURFACE_POOL_DESC_NAME_LENGTH, "Mesa" ); local->mesa = mesa; D_MAGIC_SET( data, MesaPoolData ); D_MAGIC_SET( local, MesaPoolLocalData ); return DFB_OK;}
开发者ID:lelou6666,项目名称:DirectFB-1.6.3-ab,代码行数:57,
示例3: osdJoinPoolstatic DFBResultosdJoinPool( CoreDFB *core, CoreSurfacePool *pool, void *pool_data, void *pool_local, void *system_data ){ OSDPoolData *data = pool_data; OSDPoolLocalData *local = pool_local; DavinciDriverData *ddrv = dfb_gfxcard_get_driver_data(); DavinciDeviceData *ddev = dfb_gfxcard_get_device_data(); D_DEBUG_AT( OSD_Surfaces, "%s()/n", __FUNCTION__ ); D_ASSERT( core != NULL ); D_MAGIC_ASSERT( pool, CoreSurfacePool ); D_MAGIC_ASSERT( data, OSDPoolData ); D_ASSERT( local != NULL ); (void) data; local->core = core; local->mem = ddrv->fb[OSD0].mem; local->phys = ddev->fix[OSD0].smem_start; D_MAGIC_SET( local, OSDPoolLocalData ); return DFB_OK;}
开发者ID:linkedinyou,项目名称:WebKitGtkKindleDXG,代码行数:29,
示例4: devmemJoinPoolstatic DFBResultdevmemJoinPool( CoreDFB *core, CoreSurfacePool *pool, void *pool_data, void *pool_local, void *system_data ){ DevMemPoolData *data = pool_data; DevMemPoolLocalData *local = pool_local; DevMemData *devmem = system_data; D_DEBUG_AT( DevMem_Surfaces, "%s()/n", __FUNCTION__ ); D_ASSERT( core != NULL ); D_MAGIC_ASSERT( pool, CoreSurfacePool ); D_MAGIC_ASSERT( data, DevMemPoolData ); D_ASSERT( local != NULL ); D_ASSERT( devmem != NULL ); D_ASSERT( devmem->shared != NULL ); (void) data; local->core = core; local->mem = devmem->mem; D_MAGIC_SET( local, DevMemPoolLocalData ); return DFB_OK;}
开发者ID:Distrotech,项目名称:DirectFB,代码行数:29,
示例5: sh7722AddRegionstatic DFBResultsh7722AddRegion( CoreLayer *layer, void *driver_data, void *layer_data, void *region_data, CoreLayerRegionConfig *config ){ int n; SH7722MultiRegionData *sreg = region_data; SH7722MultiLayerData *slay = layer_data; D_DEBUG_AT( SH7722_Layer, "%s()/n", __FUNCTION__ ); if (slay->added == 0xF) return DFB_LIMITEXCEEDED; for (n=0; n<4; n++) if (! (slay->added & (1 << n))) break; D_ASSERT( n < 4 ); sreg->config = *config; slay->added |= 1 << n; D_MAGIC_SET( sreg, SH7722MultiRegionData ); return DFB_OK;}
开发者ID:lelou6666,项目名称:DirectFB-1.6.3-ab,代码行数:31,
示例6: dfb_font_createCoreFont *dfb_font_create( CoreDFB *core ){ CoreFont *font; font = (CoreFont *) D_CALLOC( 1, sizeof(CoreFont) ); font->core = core; direct_util_recursive_pthread_mutex_init( &font->lock ); /* the proposed pixel_format, may be changed by the font provider */ font->pixel_format = dfb_config->font_format ? : DSPF_A8; /* the state used to blit the glyphs, may be changed by the font provider */ dfb_state_init( &font->state ); font->state.blittingflags = DSBLIT_BLEND_ALPHACHANNEL | DSBLIT_COLORIZE; font->glyph_infos = direct_tree_new(); D_MAGIC_SET( font, CoreFont ); return font;}
开发者ID:Kvasshtain,项目名称:uos-embedded,代码行数:25,
示例7: ImageProviderDispatch_CreateDFBResultImageProviderDispatch_Create( IDirectFB *idirectfb, IDirectFBDataBuffer *buffer, IDirectFBImageProvider *provider, ImageProviderDispatch **ret_dispatch ){ ImageProviderDispatch *dispatch; dispatch = (ImageProviderDispatch*) D_CALLOC( 1, sizeof(ImageProviderDispatch) ); if (!dispatch) return (DFBResult) D_OOM(); dispatch->idirectfb = idirectfb; dispatch->buffer = buffer; dispatch->provider = provider; ImageProvider_Init_Dispatch( core_dfb, dispatch, &dispatch->call ); fusion_call_add_permissions( &dispatch->call, Core_GetIdentity(), FUSION_CALL_PERMIT_EXECUTE ); Core_Resource_AddCleanup( Core_GetIdentity(), ImageProviderDispatch_cleanup, dispatch, NULL, &dispatch->cleanup ); D_MAGIC_SET( dispatch, ImageProviderDispatch ); *ret_dispatch = dispatch; return DFB_OK;}
开发者ID:Distrotech,项目名称:DirectFB,代码行数:28,
示例8: OneTarget_NewintOneTarget_New( OneTarget_InitFunc Init, void *ctx, size_t data_size, OneTarget **ret_target ){ int ret; OneTarget *target; ONE_DEBUG( "%s()/n", __FUNCTION__ ); target = one_core_malloc( one_core, sizeof(OneTarget) + data_size ); if (!target) return -ENOMEM; memset( target, 0, sizeof(OneTarget) + data_size ); target->data = target + 1; ret = Init( target, ctx ); if (ret) { one_core_free( one_core, target ); return ret; } D_MAGIC_SET( target, OneTarget ); *ret_target = target; return 0;}
开发者ID:dechanaud,项目名称:linux-fusion,代码行数:31,
示例9: direct_thread_add_init_handlerDirectThreadInitHandler *direct_thread_add_init_handler( DirectThreadInitFunc func, void *arg ){ DirectThreadInitHandler *handler; handler = D_CALLOC( 1, sizeof(DirectThreadInitHandler) ); if (!handler) { D_WARN( "out of memory" ); return NULL; } handler->func = func; handler->arg = arg; D_MAGIC_SET( handler, DirectThreadInitHandler ); pthread_mutex_lock( &handler_lock ); direct_list_append( &handlers, &handler->link ); pthread_mutex_unlock( &handler_lock ); return handler;}
开发者ID:kizukukoto,项目名称:WDN900_GPL,代码行数:25,
示例10: direct_thread_selfDirectThread *direct_thread_self( void ){ DirectThread *thread; direct_once( &thread_init_once, init_once ); thread = pthread_getspecific( thread_key );// D_MAGIC_ASSERT_IF( thread, DirectThread ); /* Support this function for non-direct threads. */ if (!thread) {// D_DEBUG_AT( Direct_Thread, " -> attaching unknown thread %d/n", direct_gettid() ); thread = direct_calloc( 1, sizeof(DirectThread) ); if (!thread) { D_OOM(); return NULL; } thread->handle.thread = pthread_self(); thread->tid = direct_gettid(); D_MAGIC_SET( thread, DirectThread ); pthread_setspecific( thread_key, thread ); } return thread;}
开发者ID:Distrotech,项目名称:DirectFB,代码行数:30,
示例11: stmfbdevJoinPoolstatic DFBResultstmfbdevJoinPool (CoreDFB *core, CoreSurfacePool *pool, void *pool_data, void *pool_local, void *system_data){ STMfbdevPoolData * const data = pool_data; STMfbdevPoolLocalData * const local = pool_local; STMfbdev * const stmfbdev = dfb_system_data (); D_DEBUG_AT (STMfbdev_Surfaces, "%s()/n", __FUNCTION__); D_ASSERT (core != NULL); D_MAGIC_ASSERT (pool, CoreSurfacePool); D_MAGIC_ASSERT (data, STMfbdevPoolData); D_ASSERT (local != NULL); D_MAGIC_ASSERT (stmfbdev, STMfbdev); (void) data; D_MAGIC_SET (local, STMfbdevPoolLocalData); local->mem = stmfbdev->framebuffer_base; D_ASSERT (local->mem != NULL); local->core = core; return DFB_OK;}
开发者ID:canalplus,项目名称:r7oss,代码行数:30,
示例12: split_chunkstatic Chunk* split_chunk( Chunk *c, int length ){ Chunk *newchunk; D_MAGIC_ASSERT( c, _Chunk_ ); if (c->length == length) /* does not need be splitted */ return c; newchunk = (Chunk*) SHCALLOC( 1, sizeof(Chunk) ); /* calculate offsets and lengths of resulting chunks */ newchunk->offset = c->offset + c->length - length; newchunk->length = length; c->length -= newchunk->length; /* insert newchunk after chunk c */ newchunk->prev = c; newchunk->next = c->next; if (c->next) c->next->prev = newchunk; c->next = newchunk; D_MAGIC_SET( newchunk, _Chunk_ ); return newchunk;}
开发者ID:Kvasshtain,项目名称:uos-embedded,代码行数:27,
示例13: Call_GetTLSstatic CallTLS *Call_GetTLS( FusionWorld *world ){ CallTLS *call_tls; call_tls = direct_tls_get( call_tls_key ); if (!call_tls) { call_tls = D_CALLOC( 1, sizeof(CallTLS) + sizeof(FusionCallExecute3) * fusion_config->call_bin_max_num + fusion_config->call_bin_max_data ); if (!call_tls) { D_OOM(); return NULL; } DirectThread *self = direct_thread_self(); if (self) call_tls->dispatcher = fusion_dispatcher_tid( world ) == direct_thread_get_tid( self ); call_tls->world = world; call_tls->bins = (FusionCallExecute3*) (call_tls + 1); call_tls->bins_data = (char*) (call_tls->bins + fusion_config->call_bin_max_num); D_MAGIC_SET( call_tls, CallTLS ); direct_tls_set( call_tls_key, call_tls ); } D_MAGIC_ASSERT( call_tls, CallTLS ); return call_tls;}
开发者ID:lelou6666,项目名称:DirectFB-1.6.3-ab,代码行数:31,
示例14: direct_signal_handler_addDirectResultdirect_signal_handler_add( int num, DirectSignalHandlerFunc func, void *ctx, DirectSignalHandler **ret_handler ){ DirectSignalHandler *handler; D_ASSERT( func != NULL ); D_ASSERT( ret_handler != NULL ); D_DEBUG_AT( Direct_Signals, "Adding handler %p for signal %d with context %p.../n", func, num, ctx ); handler = D_CALLOC( 1, sizeof(DirectSignalHandler) ); if (!handler) { D_WARN( "out of memory" ); return DR_NOLOCALMEMORY; } handler->num = num; handler->func = func; handler->ctx = ctx; D_MAGIC_SET( handler, DirectSignalHandler ); direct_mutex_lock( &handlers_lock ); direct_list_append( &handlers, &handler->link ); direct_mutex_unlock( &handlers_lock ); *ret_handler = handler; return DR_OK;}
开发者ID:kuii,项目名称:dfbNEON,代码行数:34,
示例15: fusion_shm_pool_createDirectResultfusion_shm_pool_create( FusionWorld *world, const char *name, unsigned int max_size, bool debug, FusionSHMPoolShared **ret_pool ){ FusionSHMPoolShared *pool;#if !DIRECT_BUILD_DEBUGS debug = false;#endif pool = D_CALLOC( 1, sizeof(FusionSHMPoolShared) ); if (!pool) return D_OOM(); pool->debug = debug; D_MAGIC_SET( pool, FusionSHMPoolShared ); *ret_pool = pool; return DR_OK;}
开发者ID:Distrotech,项目名称:DirectFB,代码行数:25,
示例16: fbdevJoinPoolstatic DFBResultfbdevJoinPool( CoreDFB *core, CoreSurfacePool *pool, void *pool_data, void *pool_local, void *system_data ){ FBDevPoolData *data = pool_data; FBDevPoolLocalData *local = pool_local; D_DEBUG_AT( FBDev_Surfaces, "%s()/n", __FUNCTION__ ); D_ASSERT( core != NULL ); D_MAGIC_ASSERT( pool, CoreSurfacePool ); D_MAGIC_ASSERT( data, FBDevPoolData ); D_ASSERT( local != NULL ); (void) data; local->core = core; D_MAGIC_SET( local, FBDevPoolLocalData ); return DFB_OK;}
开发者ID:ysei,项目名称:uclinux-2,代码行数:25,
示例17: unique_decoration_createDFBResultunique_decoration_create( UniqueWindow *window, UniqueDecorationFlags flags, UniqueDecoration **ret_decoration ){ DFBResult ret; UniqueDecoration *decoration; UniqueContext *context; D_ASSERT( window != NULL ); D_ASSERT( D_FLAGS_ARE_IN( flags, UDF_ALL ) ); D_ASSERT( ret_decoration != NULL ); context = window->context; D_MAGIC_ASSERT( context, UniqueContext ); /* Create a decoration object. */ decoration = unique_wm_create_decoration(); if (!decoration) return DFB_FUSION; /* Initialize deocration data. */ decoration->flags = flags; ret = unique_window_link( &decoration->window, window ); if (ret) goto error; ret = unique_context_link( &decoration->context, window->context ); if (ret) goto error; D_MAGIC_SET( decoration, UniqueDecoration ); /* Change global reaction lock. */ fusion_object_set_lock( &decoration->object, &context->stack->context->lock ); /* activate object */ fusion_object_activate( &decoration->object ); /* return the new decoration */ *ret_decoration = decoration; return DFB_OK;error: if (decoration->context) unique_context_unlink( &decoration->context ); if (decoration->window) unique_window_unlink( &decoration->window ); fusion_object_destroy( &decoration->object ); return ret;}
开发者ID:Distrotech,项目名称:DirectFB,代码行数:60,
示例18: CoreGraphicsStateClient_InitDFBResultCoreGraphicsStateClient_Init( CoreGraphicsStateClient *client, CardState *state ){ DFBResult ret; D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p, state %p )/n", __FUNCTION__, client, state ); D_ASSERT( client != NULL ); D_MAGIC_ASSERT( state, CardState ); D_MAGIC_ASSERT( state->core, CoreDFB ); client->magic = 0; client->core = state->core; client->state = state; ret = CoreDFB_CreateState( state->core, &client->gfx_state ); if (ret) return ret; D_MAGIC_SET( client, CoreGraphicsStateClient ); client_list.AddClient( client ); return DFB_OK;}
开发者ID:lelou6666,项目名称:DirectFB-1.6.3-ab,代码行数:26,
示例19: mesaJoinPoolstatic DFBResultmesaJoinPool( CoreDFB *core, CoreSurfacePool *pool, void *pool_data, void *pool_local, void *system_data ){ MesaPoolData *data = pool_data; MesaPoolLocalData *local = pool_local; MesaData *mesa = system_data; D_DEBUG_AT( Mesa_Surfaces, "%s()/n", __FUNCTION__ ); D_ASSERT( core != NULL ); D_MAGIC_ASSERT( pool, CoreSurfacePool ); D_MAGIC_ASSERT( data, MesaPoolData ); D_ASSERT( local != NULL ); D_ASSERT( mesa != NULL ); D_ASSERT( mesa->shared != NULL ); (void) data; local->mesa = mesa; D_MAGIC_SET( local, MesaPoolLocalData ); return DFB_OK;}
开发者ID:lelou6666,项目名称:DirectFB-1.6.3-ab,代码行数:28,
示例20: direct_processor_allocatevoid *direct_processor_allocate( DirectProcessor *processor ){ ProcessorCommand *command; D_MAGIC_ASSERT( processor, DirectProcessor ); D_DEBUG_AT( Direct_Processor_Alloc, "%s( %p '%s' )/n", __FUNCTION__, processor, processor->name ); command = direct_fifo_pop( &processor->recycled ); if (command) { D_MAGIC_ASSERT( command, ProcessorCommand ); } else { command = D_CALLOC( 1, sizeof(ProcessorCommand) + processor->data_size ); if (!command) { D_OOM(); return NULL; } D_MAGIC_SET( command, ProcessorCommand ); } D_DEBUG_AT( Direct_Processor_Alloc, " -> %p - %p/n", command, command + 1 ); return command + 1;}
开发者ID:Distrotech,项目名称:DirectFB,代码行数:27,
示例21: localAllocateBufferstatic DFBResultlocalAllocateBuffer( CoreSurfacePool *pool, void *pool_data, void *pool_local, CoreSurfaceBuffer *buffer, CoreSurfaceAllocation *allocation, void *alloc_data ){ CoreSurface *surface; LocalAllocationData *alloc = alloc_data; D_MAGIC_ASSERT( pool, CoreSurfacePool ); D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer ); D_ASSERT( alloc != NULL ); surface = buffer->surface; D_MAGIC_ASSERT( surface, CoreSurface );#ifndef ANDROID_NDK /* Create aligned local system surface buffer if both base address and pitch are non-zero. */ if (dfb_config->system_surface_align_base && dfb_config->system_surface_align_pitch) { /* Make sure base address and pitch are a positive power of two. */ D_ASSERT( dfb_config->system_surface_align_base >= 4 ); D_ASSERT( !(dfb_config->system_surface_align_base & (dfb_config->system_surface_align_base-1)) ); D_ASSERT( dfb_config->system_surface_align_pitch >= 2 ); D_ASSERT( !(dfb_config->system_surface_align_pitch & (dfb_config->system_surface_align_pitch-1)) ); dfb_surface_calc_buffer_size( surface, dfb_config->system_surface_align_pitch, 0, &alloc->pitch, &alloc->size ); /* Note: The posix_memalign function requires base alignment to actually be at least four. */ int tempRet = posix_memalign( &alloc->addr, dfb_config->system_surface_align_base, alloc->size ); if ( tempRet != 0 ) { D_ERROR( "Local surface pool: Error from posix_memalign:%d with base alignment value:%d. " "%s()-%s:%d/n", tempRet, dfb_config->system_surface_align_base, __FUNCTION__, __FILE__, __LINE__ ); return DFB_FAILURE; } } else {#endif /* Create un-aligned local system surface buffer. */ dfb_surface_calc_buffer_size( surface, 8, 0, &alloc->pitch, &alloc->size ); alloc->addr = D_MALLOC( alloc->size ); if (!alloc->addr) return D_OOM();#ifndef ANDROID_NDK }#endif D_MAGIC_SET( alloc, LocalAllocationData ); allocation->flags = CSALF_VOLATILE; allocation->size = alloc->size; return DFB_OK;}
开发者ID:lelou6666,项目名称:DirectFB-1.6.3-ab,代码行数:58,
示例22: magicVoodooInstance::VoodooInstance() : magic(0), refs(1){ D_DEBUG_AT( Voodoo_Instance, "VoodooInstance::%s( %p )/n", __func__, this ); D_MAGIC_SET( this, VoodooInstance );}
开发者ID:Distrotech,项目名称:DirectFB,代码行数:9,
示例23: wm_add_windowstatic DFBResultwm_add_window( CoreWindowStack *stack, void *wm_data, void *stack_data, CoreWindow *window, void *window_data ){ DFBResult ret; StackData *sdata = stack_data; WindowData *data = window_data; WMData *wmdata = wm_data; D_ASSERT( stack != NULL ); D_ASSERT( wm_data != NULL ); D_ASSERT( stack_data != NULL ); D_ASSERT( window != NULL ); D_ASSERT( window_data != NULL ); D_MAGIC_ASSERT( sdata, StackData ); D_MAGIC_ASSERT( sdata->context, UniqueContext ); data->context = sdata->context; /* Create the unique window. */ ret = unique_window_create( wmdata->core, window, data->context, window->caps, &window->config, &data->window ); if (ret) { D_DERROR( ret, "WM/UniQuE: Could not create window!/n" ); return ret; } /* Attach the global window listener. */ ret = unique_window_attach_global( data->window, UNIQUE_WM_MODULE_WINDOW_LISTENER, data, &data->window_reaction ); if (ret) { unique_window_unref( data->window ); D_DERROR( ret, "WM/UniQuE: Could not attach global window listener!/n" ); return ret; } /* Inherit all local references from the layer window. */ ret = unique_window_inherit( data->window, window ); unique_window_unref( data->window ); if (ret) { unique_window_detach_global( data->window, &data->window_reaction ); D_DERROR( ret, "WM/UniQuE: Could not inherit from core window!/n" ); return ret; } unique_window_get_config( data->window, &window->config ); D_MAGIC_SET( data, WindowData ); return DFB_OK;}
开发者ID:Distrotech,项目名称:DirectFB,代码行数:57,
示例24: fbdevInitPoolstatic DFBResultfbdevInitPool( CoreDFB *core, CoreSurfacePool *pool, void *pool_data, void *pool_local, void *system_data, CoreSurfacePoolDescription *ret_desc ){ DFBResult ret; FBDevPoolData *data = pool_data; FBDevPoolLocalData *local = pool_local; D_DEBUG_AT( FBDev_Surfaces, "%s()/n", __FUNCTION__ ); D_ASSERT( core != NULL ); D_MAGIC_ASSERT( pool, CoreSurfacePool ); D_ASSERT( data != NULL ); D_ASSERT( local != NULL ); D_ASSERT( ret_desc != NULL ); ret = dfb_surfacemanager_create( core, dfb_fbdev->shared->fix.smem_len, &data->manager ); if (ret) return ret; ret_desc->caps = CSPCAPS_NONE; ret_desc->access = CSAF_CPU_READ | CSAF_CPU_WRITE | CSAF_GPU_READ | CSAF_GPU_WRITE | CSAF_SHARED; ret_desc->types = CSTF_LAYER | CSTF_WINDOW | CSTF_CURSOR | CSTF_FONT | CSTF_SHARED | CSTF_EXTERNAL; ret_desc->priority = CSPP_DEFAULT; snprintf( ret_desc->name, DFB_SURFACE_POOL_DESC_NAME_LENGTH, "Frame Buffer Memory" ); local->core = core; D_MAGIC_SET( data, FBDevPoolData ); D_MAGIC_SET( local, FBDevPoolLocalData ); D_ASSERT( dfb_fbdev != NULL ); D_ASSERT( dfb_fbdev->shared != NULL ); dfb_fbdev->shared->manager = data->manager; return DFB_OK;}
开发者ID:ysei,项目名称:uclinux-2,代码行数:44,
示例25: magicVoodooConnection::VoodooConnection( VoodooLink *link ) : magic(0), manager(NULL), link(link){ D_DEBUG_AT( Voodoo_Connection, "VoodooConnection::%s( %p )/n", __func__, this ); D_MAGIC_SET( this, VoodooConnection );}
开发者ID:kuii,项目名称:dfbNEON,代码行数:10,
示例26: init_fallback_logstatic voidinit_fallback_log( void ){ fallback_log.type = DLT_STDERR; fallback_log.fd = fileno( stderr ); direct_util_recursive_pthread_mutex_init( &fallback_log.lock ); D_MAGIC_SET( &fallback_log, DirectLog );}
开发者ID:canalplus,项目名称:r7oss,代码行数:10,
示例27: dfb_core_arena_initializestatic intdfb_core_arena_initialize( FusionArena *arena, void *ctx ){ DFBResult ret; CoreDFB *core = ctx; CoreDFBShared *shared; FusionSHMPoolShared *pool; D_MAGIC_ASSERT( core, CoreDFB ); D_DEBUG_AT( DirectFB_Core, "Initializing.../n" ); /* Create the shared memory pool first! */ ret = fusion_shm_pool_create( core->world, "DirectFB Main Pool", 0x400000, fusion_config->debugshm, &pool ); if (ret) return ret; /* Allocate shared structure in the new pool. */ shared = SHCALLOC( pool, 1, sizeof(CoreDFBShared) ); if (!shared) { fusion_shm_pool_destroy( core->world, pool ); return D_OOSHM(); } core->shared = shared; core->master = true; shared->shmpool = pool; D_MAGIC_SET( shared, CoreDFBShared ); /* Initialize. */ ret = dfb_core_initialize( core ); if (ret) { D_MAGIC_CLEAR( shared ); SHFREE( pool, shared ); fusion_shm_pool_destroy( core->world, pool ); return ret; } fusion_skirmish_init( &shared->lock, "DirectFB Core", core->world ); CoreDFB_Init_Dispatch( core, core, &shared->call ); fusion_call_add_permissions( &shared->call, 0, FUSION_CALL_PERMIT_EXECUTE ); /* Register shared data. */ fusion_arena_add_shared_field( arena, "Core/Shared", shared ); return DFB_OK;}
开发者ID:spartan263,项目名称:vizio_oss,代码行数:53,
示例28: dfb_clipboard_core_initializestatic DFBResultdfb_clipboard_core_initialize( CoreDFB *core, DFBClipboardCore *data, DFBClipboardCoreShared *shared ){ D_DEBUG_AT( Core_Clipboard, "dfb_clipboard_core_initialize( %p, %p, %p )/n", core, data, shared ); D_ASSERT( data != NULL ); D_ASSERT( shared != NULL ); data->core = core; data->shared = shared; shared->shmpool = dfb_core_shmpool( core ); fusion_skirmish_init( &shared->lock, "Clipboard Core", dfb_core_world(core) ); D_MAGIC_SET( data, DFBClipboardCore ); D_MAGIC_SET( shared, DFBClipboardCoreShared ); return DFB_OK;}
开发者ID:batman52,项目名称:dingux-code,代码行数:22,
示例29: direct_thread_set_namevoiddirect_thread_set_name( const char *name ){ char *copy; DirectThread *thread = pthread_getspecific( thread_key ); D_DEBUG_AT( Direct_Thread, "%s( '%s' )/n", __FUNCTION__, name ); /* Support this function for non-direct threads. */ if (!thread) { D_DEBUG_AT( Direct_Thread, " -> attaching unknown thread %d/n", direct_gettid() ); /* Create the key for the TSD (thread specific data). */ pthread_mutex_lock( &key_lock ); if (thread_key == -1) pthread_key_create( &thread_key, NULL ); pthread_mutex_unlock( &key_lock ); thread = D_CALLOC( 1, sizeof(DirectThread) ); if (!thread) { D_OOM(); return; } thread->thread = pthread_self(); thread->tid = direct_gettid(); D_MAGIC_SET( thread, DirectThread ); pthread_setspecific( thread_key, thread ); } else D_DEBUG_AT( Direct_Thread, " -> was '%s' (%d)/n", thread->name, direct_gettid() ); /* Duplicate string. */ copy = D_STRDUP( name ); if (!copy) { D_OOM(); return; } /* Free old string. */ if (thread->name) D_FREE( thread->name ); /* Keep the copy. */ thread->name = copy;}
开发者ID:kizukukoto,项目名称:WDN900_GPL,代码行数:51,
示例30: dfb_surfacemanager_createSurfaceManager *dfb_surfacemanager_create( unsigned int length, CardLimitations *limits ){ Chunk *chunk; SurfaceManager *manager; manager = SHCALLOC( 1, sizeof(SurfaceManager) ); if (!manager) return NULL; chunk = SHCALLOC( 1, sizeof(Chunk) ); if (!chunk) { SHFREE( manager ); return NULL; } chunk->offset = 0; chunk->length = length; manager->chunks = chunk; manager->length = length; manager->available = length; manager->byteoffset_align = limits->surface_byteoffset_alignment; manager->pixelpitch_align = limits->surface_pixelpitch_alignment; manager->bytepitch_align = limits->surface_bytepitch_alignment; manager->max_power_of_two_pixelpitch = limits->surface_max_power_of_two_pixelpitch; manager->max_power_of_two_bytepitch = limits->surface_max_power_of_two_bytepitch; manager->max_power_of_two_height = limits->surface_max_power_of_two_height; fusion_skirmish_init( &manager->lock, "Surface Manager" ); D_MAGIC_SET( chunk, _Chunk_ ); D_MAGIC_SET( manager, SurfaceManager ); return manager;}
开发者ID:Kvasshtain,项目名称:uos-embedded,代码行数:38,
注:本文中的D_MAGIC_SET函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ D_METHOD函数代码示例 C++ D_MAGIC_CLEAR函数代码示例 |