graphicsutils/commongraphicsheaders/rom/graphics_adaptation.hby
author Faisal Memon <faisal.memon@nokia.com>
Fri, 14 May 2010 15:46:16 +0100
branchNewGraphicsArchitecture
changeset 65 ff5b7046e5c4
parent 48 9a3b8b65fc7a
permissions -rw-r--r--
Catchup with the tip

#ifndef __GRAPHICS_ADAPTATION_HBY__
#define __GRAPHICS_ADAPTATION_HBY__

REM Graphics Adaptation Selection

// Supported Graphics Adaptations
#define SGA_CLASSIC                0x1000 // Pre-NGA
#define SGA_SW                     0x1001 // NGA Pure software
#define SGA_MBX                    0x1002 // NGA Fully MBX-accelerated
#define SGA_SW_NO_GRAPHICSRESOURCE 0x1003 // Software NGA without Graphics Resource and DirectGDI

// Apply defaults
#ifndef SYMBIAN_GRAPHICS_ADAPTATION
#  ifndef SYMBIAN_GRAPHICS_USE_GCE
#    define SYMBIAN_GRAPHICS_ADAPTATION SGA_CLASSIC
#  else
#    define SYMBIAN_GRAPHICS_ADAPTATION SGA_SW
#  endif
#endif

// Validate user choices
#if !defined(SYMBIAN_GRAPHICS_USE_GCE) && SYMBIAN_GRAPHICS_ADAPTATION != SGA_CLASSIC
#  error Invalid adaptation choice.  Pre-NGA must use SGA_CLASSIC.
#endif
#if defined(SYMBIAN_GRAPHICS_USE_GCE) && SYMBIAN_GRAPHICS_ADAPTATION == SGA_CLASSIC
#  error Invalid adaptation choice.  NGA must not use SGA_CLASSIC.
#endif
#if defined(SYMBIAN_GRAPHICS_DIRECTGDI_USE_OPENVG) && SYMBIAN_GRAPHICS_ADAPTATION == SGA_CLASSIC
#  error Invalid adaptation choice.  Pre-NGA must not use DirectGDI.
#endif
#if defined(SYMBIAN_GRAPHICS_USE_OPENWF_MIGRATION) && SYMBIAN_GRAPHICS_ADAPTATION != SGA_SW && SYMBIAN_GRAPHICS_ADAPTATION != SGA_SW_NO_GRAPHICSRESOURCE
#  error Invalid adaptation choice.  NGA-OPENWF (GCE migration) must only use basic NGA configuration SGA_SW.
#endif


// Apply over-rides here so that no redefining warnings are given
#if defined(SYMBIAN_GRAPHICS_DIRECTGDI_USE_OPENVG)
#	define DIRECTGDI_DRV <directgdiadapter_vg.iby>
#endif

#if defined(MBXBACKEND)
WARNING MBXBACKEND is deprecated.
#	define GCE_DRV <compositionbackend_mbx.iby> 
#endif

#if defined(SGXBACKEND)
WARNING SGXBACKEND is deprecated.
#	define GRAPHICSRESOURCE_DRV <graphicsresourceadapter_sgx.iby> 
#	define SGRESOURCE_DRV <sgresource_sgx.iby> 
#endif

// Select default drivers
#if SYMBIAN_GRAPHICS_ADAPTATION == SGA_CLASSIC
	#ifndef OPENGLES_DRV
    #	define OPENGLES_DRV <opengles_sw.iby>
	#endif

	#ifndef OPENVG_DRV
    #	define OPENVG_DRV <openvg_sw.iby>
	#endif

	#ifndef EGL_DRV
    #	define EGL_DRV <egl_hg_nongce.iby>
	#endif

	#ifndef FBSRASTERIZER_DRV
	#	define FBSRASTERIZER_DRV <fbsrasterizer_stub.iby>
	#endif
	
	#if defined(GRAPHICS_TEST_GCE)
	// In order to run tests on the GCE a non-NGA environment is required
		#ifndef GCE_DRV
		#	define GCE_DRV <compositionbackend_arm.iby>
		#endif

		#ifndef SURFACEMANAGER_DRV
		#	define SURFACEMANAGER_DRV <surfacemanager_ref.iby>
		#endif

		#ifndef SURFACEUPDATE_DRV
		#	define SURFACEUPDATE_DRV <surfaceupdate_ref.iby>
		#endif
	#endif
#elif SYMBIAN_GRAPHICS_ADAPTATION == SGA_SW
	#ifndef OPENGLES_DRV
    #	define OPENGLES_DRV <opengles_sw.iby>
	#endif

	#ifndef OPENVG_DRV
    #	define OPENVG_DRV <openvg_sw.iby>
	#endif

	#ifndef EGL_DRV
	#	ifdef SYMBIAN_GRAPHICS_USE_EGL_REF
	#		define EGL_DRV <egl_ref.iby>
	#	else
	#		define EGL_DRV <egl_hg_gce.iby>
	#	endif
	#endif

	#ifndef GCE_DRV
	#	define GCE_DRV <compositionbackend_arm.iby>
	#endif

	#ifndef SURFACEMANAGER_DRV
	#	define SURFACEMANAGER_DRV <surfacemanager_ref.iby>
	#endif

	#ifndef SURFACEUPDATE_DRV
	#	define SURFACEUPDATE_DRV <surfaceupdate_ref.iby>
	#endif

    #define INCLUDE_GRAPHICSRESOURCEADAPTER

	#ifndef GRAPHICSRESOURCE_DRV
	#	define GRAPHICSRESOURCE_DRV <graphicsresourceadapter_sw.iby>
	#endif

	#ifndef SGRESOURCE_DRV
	#	define SGRESOURCE_DRV <sgresource_sw.iby>
	#endif

	#ifndef DIRECTGDI_DRV
	#	define DIRECTGDI_DRV <directgdiadapter_sw.iby>
	#endif

	#ifndef FBSRASTERIZER_DRV
	#	define FBSRASTERIZER_DRV <fbsrasterizer_stub.iby>
	#endif
	
	#ifdef SYMBIAN_GRAPHICS_USE_OPENWF_MIGRATION
	#   ifndef OPENWFCLIB_DRV
	#       define OPENWFCLIB_DRV <openwfc_ref.iby>
	#   endif
	#endif

    #ifdef SYMBIAN_GRAPHICS_USE_OPENWF
    #   ifndef OPENWFCLIB_DRV
    #       define OPENWFCLIB_DRV <openwfc_ref.iby>
    #   endif
    #endif

	
#elif SYMBIAN_GRAPHICS_ADAPTATION == SGA_MBX
	// Imagination's MBX drivers used as default
	#ifndef OPENGLES_DRV
    #	define OPENGLES_DRV <img_opengles.iby>
	#endif

	#ifndef OPENVG_DRV
    #	define OPENVG_DRV <img_openvg.iby>
	#endif

	#ifndef EGL_DRV
    #	define EGL_DRV <img_egl.iby>
	#endif

	#ifndef GCE_DRV
	#	define GCE_DRV <compositionbackend_mbx.iby>
	#endif

	#ifndef SURFACEMANAGER_DRV
	#	define SURFACEMANAGER_DRV <surfacemanager_ref.iby>
	#endif

	#ifndef SURFACEUPDATE_DRV
	#	define SURFACEUPDATE_DRV <surfaceupdate_ref.iby>
	#endif

    #define INCLUDE_GRAPHICSRESOURCEADAPTER
    
	#ifndef GRAPHICSRESOURCE_DRV
	#	define GRAPHICSRESOURCE_DRV <graphicsresourceadapter_mbx.iby>
	#endif

	#ifndef SGRESOURCE_DRV
	#	define SGRESOURCE_DRV <sgresource_mbx.iby>
	#endif

	#ifndef DIRECTGDI_DRV
	#	define DIRECTGDI_DRV <directgdiadapter_vg.iby>
	#endif
	
	#ifndef FBSRASTERIZER_DRV
	#	define FBSRASTERIZER_DRV <fbsrasterizer_stub.iby>
	#endif
	
#elif SYMBIAN_GRAPHICS_ADAPTATION == SGA_SW_NO_GRAPHICSRESOURCE
	#ifndef OPENGLES_DRV
    #	define OPENGLES_DRV <opengles_sw.iby>
	#endif

	#ifndef OPENVG_DRV
    #	define OPENVG_DRV <openvg_sw.iby>
	#endif

	#ifndef EGL_DRV
	#	ifdef SYMBIAN_GRAPHICS_USE_EGL_REF
	#		define EGL_DRV <egl_ref.iby>
	#	else
	#		define EGL_DRV <egl_hg_gce.iby>
	#	endif
	#endif

	#ifndef GCE_DRV
	#	define GCE_DRV <compositionbackend_arm.iby>
	#endif

	#ifndef SURFACEMANAGER_DRV
	#	define SURFACEMANAGER_DRV <surfacemanager_ref.iby>
	#endif

	#ifndef SURFACEUPDATE_DRV
	#	define SURFACEUPDATE_DRV <surfaceupdate_ref.iby>
	#endif
	
	#ifndef FBSRASTERIZER_DRV
	#	define FBSRASTERIZER_DRV <fbsrasterizer_stub.iby>
	#endif

	#ifndef SGRESOURCE_DRV
	#	define SGRESOURCE_DRV <sgresource_sw.iby>
	#endif
	
	#ifdef SYMBIAN_GRAPHICS_USE_OPENWF_MIGRATION
	#   ifndef OPENWFCLIB_DRV
	#       define OPENWFCLIB_DRV <openwfc_ref.iby>
	#   endif
	#endif
	
#else
#  error "Unsupported Graphics adaptation selected"
#endif


// Log selections to the generated OBY file
REM "OPENGLES DRV"         : OPENGLES_DRV
REM "OPENVG DRV"           : OPENVG_DRV
REM "EGL DRV"              : EGL_DRV
REM "GCE DRV"              : GCE_DRV
REM "GRAPHICSRESOURCE DRV" : GRAPHICSRESOURCE_DRV 
REM "SURFACEMANAGER DRV"   : SURFACEMANAGER_DRV
REM "SURFACEUPDATE DRV"    : SURFACEUPDATE_DRV
REM "DIRECTGDI DRV"        : DIRECTGDI_DRV 
REM "FBSRASTERIZER DRV"    : FBSRASTERIZER_DRV 
REM "SRGREOURCE DRV"       : SGRESOURCE_DRV 
REM "OPENWFCLIB_DRV"       : OPENWFCLIB_DRV

#endif  // __GRAPHICS_ADAPTATION_HBY__