os/graphics/fbs/fontandbitmapserver/sfbs/patchableconstants.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
// Defines all the patchable constants in fbserv.exe.
sl@0
    15
// The definition of the constants must not be in the same file as the usage,
sl@0
    16
// or the compiler will optimise them out, so put them all in here.
sl@0
    17
// Note that existing patchable constants are declared as global,
sl@0
    18
// i.e. not in a namespace, so I have continued the trend.
sl@0
    19
// 
sl@0
    20
//
sl@0
    21
sl@0
    22
#include <e32def.h>
sl@0
    23
sl@0
    24
sl@0
    25
/**
sl@0
    26
@SYMPatchable
sl@0
    27
@publishedPartner
sl@0
    28
@released
sl@0
    29
sl@0
    30
This constant determines the maximum size of the shared heap in the font and bitmap server.
sl@0
    31
Up to the value of the constant, the size of the virtual address range reserved for this heap
sl@0
    32
equals the amount of physical RAM memory. As available hardware RAM sizes increase in the future,
sl@0
    33
it may become impossible to reserve a virtual address range that big, hence the need for an upper limit.
sl@0
    34
@note	Default value: 64MB (0x04000000)
sl@0
    35
@note   Emulator value 2MB (0x0200000)
sl@0
    36
*/
sl@0
    37
#ifdef __WINS__
sl@0
    38
EXPORT_C extern const TInt KFbServSharedHeapMaxSize = 0x00200000;
sl@0
    39
#else
sl@0
    40
EXPORT_C extern const TInt KFbServSharedHeapMaxSize = 0x04000000;
sl@0
    41
#endif
sl@0
    42
sl@0
    43
/**
sl@0
    44
@SYMPatchable
sl@0
    45
@internalTechnology
sl@0
    46
sl@0
    47
This constant modifies the writable data paging mode used by the font and bitmap server.
sl@0
    48
It is configured at rom build time via the following definitions in fbserv.iby:
sl@0
    49
	SYMBIAN_GRAPHICS_FBSERV_PAGEDATA
sl@0
    50
	SYMBIAN_GRAPHICS_FBSERV_UNPAGEDDATA
sl@0
    51
	SYMBIAN_GRAPHICS_FBSERV_PAGE_BITMAP_DATA_ONLY
sl@0
    52
	SYMBIAN_GRAPHICS_FBSERV_PAGE_BITMAP_DATA_AND_SHARED_HEAP_ONLY
sl@0
    53
@note	Default value: (0x00) This does not modify the writable data paging mode.
sl@0
    54
*/
sl@0
    55
EXPORT_C extern const TInt KFbServWritableDataPagingMode = 0x00;
sl@0
    56
sl@0
    57
/**
sl@0
    58
@SYMPatchable
sl@0
    59
@publishedPartner
sl@0
    60
@prototype
sl@0
    61
sl@0
    62
This constant determines the maximum size of the GPU memory that the font and 
sl@0
    63
bitmap server's glyph atlas can use.
sl@0
    64
The glyph atlas will store glyphs in this memory.  When the glyph atlas reaches 
sl@0
    65
this limit, old glyphs will be evicted from the cache to make space for new glyphs.
sl@0
    66
@note	Default value: 0.5 MB (0x00080000).
sl@0
    67
*/
sl@0
    68
EXPORT_C extern const TInt KFbServGlyphAtlasCacheLimit = 0x00080000;
sl@0
    69
sl@0
    70
// Header files declaring these constants are included to confirm that the definition matches.
sl@0
    71
// They are included at the end because otherwise the ARM compiler refuses to initialise the values.
sl@0
    72
#if (__ARMCC_VERSION >= 310000)
sl@0
    73
//#	include "SERVER.H"	// Commented out to prevent warning dllexport/dllimport conflict
sl@0
    74
#else
sl@0
    75
#	include "SERVER.H"
sl@0
    76
#endif