FreeRDP
primitives.c File Reference
#include <string.h>
#include <stdlib.h>
#include <winpr/synch.h>
#include <winpr/sysinfo.h>
#include <winpr/crypto.h>
#include <freerdp/primitives.h>
#include "prim_internal.h"

Macros

#define TAG   FREERDP_TAG("primitives")
 

Functions

static BOOL primitives_init_optimized (primitives_t *prims)
 
void primitives_set_hints (primitive_hints hints)
 
primitive_hints primitives_get_hints (void)
 
static BOOL primitives_init_generic (primitives_t *prims)
 
static BOOL CALLBACK primitives_init_generic_cb (PINIT_ONCE once, PVOID param, PVOID *context)
 
static void primitives_YUV_benchmark_free (primitives_YUV_benchmark *bench)
 
static primitives_YUV_benchmark * primitives_YUV_benchmark_init (primitives_YUV_benchmark *ret)
 
static BOOL primitives_YUV_benchmark_run (primitives_YUV_benchmark *bench, primitives_t *prims, UINT64 runTime, UINT32 *computations)
 
static BOOL primitives_autodetect_best (primitives_t *prims)
 
static BOOL CALLBACK primitives_auto_init_cb (PINIT_ONCE once, PVOID param, PVOID *context)
 
BOOL primitives_init (primitives_t *p, primitive_hints hints)
 
void primitives_uninit (void)
 
static void setup (void)
 
primitives_tprimitives_get (void)
 
primitives_tprimitives_get_generic (void)
 
primitives_tprimitives_get_by_type (DWORD type)
 
DWORD primitives_flags (primitives_t *p)
 

Variables

static primitive_hints primitivesHints = PRIMITIVES_AUTODETECT
 
static primitives_t pPrimitivesGeneric = { 0 }
 
static INIT_ONCE generic_primitives_InitOnce = INIT_ONCE_STATIC_INIT
 
static INIT_ONCE auto_primitives_InitOnce = INIT_ONCE_STATIC_INIT
 
static primitives_t pPrimitives = { 0 }
 

Macro Definition Documentation

◆ TAG

#define TAG   FREERDP_TAG("primitives")

Function Documentation

◆ primitives_auto_init_cb()

static BOOL CALLBACK primitives_auto_init_cb ( PINIT_ONCE  once,
PVOID  param,
PVOID *  context 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_autodetect_best()

static BOOL primitives_autodetect_best ( primitives_t prims)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_flags()

DWORD primitives_flags ( primitives_t p)
Here is the caller graph for this function:

◆ primitives_get()

primitives_t* primitives_get ( void  )

◆ primitives_get_by_type()

primitives_t* primitives_get_by_type ( DWORD  type)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_get_generic()

primitives_t* primitives_get_generic ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_get_hints()

primitive_hints primitives_get_hints ( void  )

◆ primitives_init()

BOOL primitives_init ( primitives_t p,
primitive_hints  hints 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_generic()

static BOOL primitives_init_generic ( primitives_t prims)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_generic_cb()

static BOOL CALLBACK primitives_init_generic_cb ( PINIT_ONCE  once,
PVOID  param,
PVOID *  context 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_init_optimized()

static BOOL primitives_init_optimized ( primitives_t prims)
static
Here is the call graph for this function:

◆ primitives_set_hints()

void primitives_set_hints ( primitive_hints  hints)

◆ primitives_uninit()

void primitives_uninit ( void  )

◆ primitives_YUV_benchmark_free()

static void primitives_YUV_benchmark_free ( primitives_YUV_benchmark *  bench)
static
Here is the caller graph for this function:

◆ primitives_YUV_benchmark_init()

static primitives_YUV_benchmark* primitives_YUV_benchmark_init ( primitives_YUV_benchmark *  ret)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_YUV_benchmark_run()

static BOOL primitives_YUV_benchmark_run ( primitives_YUV_benchmark *  bench,
primitives_t prims,
UINT64  runTime,
UINT32 *  computations 
)
static
Here is the caller graph for this function:

◆ setup()

static void setup ( void  )
static
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ auto_primitives_InitOnce

INIT_ONCE auto_primitives_InitOnce = INIT_ONCE_STATIC_INIT
static

◆ generic_primitives_InitOnce

INIT_ONCE generic_primitives_InitOnce = INIT_ONCE_STATIC_INIT
static

◆ pPrimitives

primitives_t pPrimitives = { 0 }
static

◆ pPrimitivesGeneric

primitives_t pPrimitivesGeneric = { 0 }
static

◆ primitivesHints

primitive_hints primitivesHints = PRIMITIVES_AUTODETECT
static