Exemple #1
0
/* ------------------------------------------------------------------------- */
static BOOL CALLBACK primitives_init_generic(PINIT_ONCE once, PVOID param, PVOID* context)
{
	WINPR_UNUSED(once);
	WINPR_UNUSED(param);
	WINPR_UNUSED(context);
	primitives_init_add(&pPrimitivesGeneric);
	primitives_init_andor(&pPrimitivesGeneric);
	primitives_init_alphaComp(&pPrimitivesGeneric);
	primitives_init_copy(&pPrimitivesGeneric);
	primitives_init_set(&pPrimitivesGeneric);
	primitives_init_shift(&pPrimitivesGeneric);
	primitives_init_sign(&pPrimitivesGeneric);
	primitives_init_colors(&pPrimitivesGeneric);
	primitives_init_YCoCg(&pPrimitivesGeneric);
	primitives_init_YUV(&pPrimitivesGeneric);
	return TRUE;
}
Exemple #2
0
/* ------------------------------------------------------------------------- */
void primitives_init(void)
{
	if (pPrimitives == NULL)
	{
		pPrimitives = calloc(1, sizeof(primitives_t));

		if (pPrimitives == NULL)
			return;
	}

	/* Now call each section's initialization routine. */
	primitives_init_add(pPrimitives);
	primitives_init_andor(pPrimitives);
	primitives_init_alphaComp(pPrimitives);
	primitives_init_copy(pPrimitives);
	primitives_init_set(pPrimitives);
	primitives_init_shift(pPrimitives);
	primitives_init_sign(pPrimitives);
	primitives_init_colors(pPrimitives);
}
Exemple #3
0
/* ------------------------------------------------------------------------- */
void primitives_init_set_opt(primitives_t* prims)
{
	generic = primitives_get_generic();
	primitives_init_set(prims);
	/* Pick tuned versions if possible. */
#ifdef WITH_IPP
	prims->set_8u  = (__set_8u_t)  ippsSet_8u;
	prims->set_32s = (__set_32s_t) ippsSet_32s;
	prims->set_32u = (__set_32u_t) ipp_wrapper_set_32u;
	prims->zero = (__zero_t) ippsZero_8u;
#elif defined(WITH_SSE2)

	if (IsProcessorFeaturePresent(PF_SSE2_INSTRUCTIONS_AVAILABLE))
	{
		prims->set_8u  = sse2_set_8u;
		prims->set_32s = sse2_set_32s;
		prims->set_32u = sse2_set_32u;
	}

#endif
}