mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-23 13:01:42 +00:00
47b1730948
identifies itself as GCC, but doesn't support the same extended assembly features/misfeatures as GCC. With the help of the Intel compiler group, we've determined that the Intel compiler can be identified at compile time by the definition of the preprocessor variable __INTEL_COMPILER. These changes make all of the assembly code currently written to simply avoid the Intel compiler. This is an interim solution to get a build working despite the Intel compiler. A more correct solution has been identified, see the discussion of bug #147013 for more information.
54 lines
2.6 KiB
C
54 lines
2.6 KiB
C
#ifndef gimp_composite_sse_h
|
|
#define gimp_composite_sse_h
|
|
|
|
extern gboolean gimp_composite_sse_init (void);
|
|
|
|
/*
|
|
* The function gimp_composite_*_install() is defined in the code generated by make-install.py
|
|
* I hate to create a .h file just for that declaration, so I do it here (for now).
|
|
*/
|
|
extern gboolean gimp_composite_sse_install (void);
|
|
|
|
#if !defined(__INTEL_COMPILER)
|
|
#if defined(USE_SSE)
|
|
#if defined(ARCH_X86)
|
|
#if __GNUC__ >= 3
|
|
#if defined(ARCH_X86_64) || !defined(PIC)
|
|
#define COMPILE_SSE_IS_OKAY
|
|
#endif /* defined(ARCH_X86_64) || !defined(PIC) */
|
|
#endif /* __GNUC__ >= 3 */
|
|
#endif /* */
|
|
#endif /* */
|
|
#endif /* */
|
|
|
|
#ifdef COMPILE_SSE_IS_OKAY
|
|
/*
|
|
*
|
|
*/
|
|
extern void gimp_composite_addition_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_burn_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_coloronly_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_darken_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_difference_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_dissolve_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_divide_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_dodge_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_grain_extract_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_grain_merge_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_hardlight_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_hueonly_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_lighten_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_multiply_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_overlay_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_replace_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_saturationonly_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_screen_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_softlight_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_subtract_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_swap_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_valueonly_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
extern void gimp_composite_scale_rgba8_rgba8_rgba8_sse (GimpCompositeContext *ctx);
|
|
|
|
#endif /* COMPILE_SSE_IS_OKAY */
|
|
#endif
|