| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622 |
- /****************************************************************************
- *
- * Copyright (c) 2005 - 2014 by Vivante Corp. All rights reserved.
- *
- * The material in this file is confidential and contains trade secrets
- * of Vivante Corporation. This is proprietary information owned by
- * Vivante Corporation. No part of this work may be disclosed,
- * reproduced, copied, transmitted, or used in any way for any purpose,
- * without the express written permission of Vivante Corporation.
- *
- *****************************************************************************/
- #ifndef __gc_hal_enum_h_
- #define __gc_hal_enum_h_
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* Chip models. */
- typedef enum _gceCHIPMODEL
- {
- gcv200 = 0x0200,
- gcv300 = 0x0300,
- gcv320 = 0x0320,
- gcv328 = 0x0328,
- gcv350 = 0x0350,
- gcv355 = 0x0355,
- gcv400 = 0x0400,
- gcv410 = 0x0410,
- gcv420 = 0x0420,
- gcv428 = 0x0428,
- gcv450 = 0x0450,
- gcv500 = 0x0500,
- gcv520 = 0x0520,
- gcv530 = 0x0530,
- gcv600 = 0x0600,
- gcv700 = 0x0700,
- gcv800 = 0x0800,
- gcv860 = 0x0860,
- gcv880 = 0x0880,
- gcv1000 = 0x1000,
- gcv1500 = 0x1500,
- gcv2000 = 0x2000,
- gcv2100 = 0x2100,
- gcv2200 = 0x2200,
- gcv2500 = 0x2500,
- gcv3000 = 0x3000,
- gcv4000 = 0x4000,
- gcv5000 = 0x5000,
- gcv5200 = 0x5200,
- gcv6400 = 0x6400,
- }
- gceCHIPMODEL;
- /* Chip features. */
- typedef enum _gceFEATURE
- {
- gcvFEATURE_PIPE_2D = 0,
- gcvFEATURE_PIPE_3D,
- gcvFEATURE_PIPE_VG,
- gcvFEATURE_DC,
- gcvFEATURE_HIGH_DYNAMIC_RANGE,
- gcvFEATURE_MODULE_CG,
- gcvFEATURE_MIN_AREA,
- gcvFEATURE_BUFFER_INTERLEAVING,
- gcvFEATURE_BYTE_WRITE_2D,
- gcvFEATURE_ENDIANNESS_CONFIG,
- gcvFEATURE_DUAL_RETURN_BUS,
- gcvFEATURE_DEBUG_MODE,
- gcvFEATURE_YUY2_RENDER_TARGET,
- gcvFEATURE_FRAGMENT_PROCESSOR,
- gcvFEATURE_2DPE20,
- gcvFEATURE_FAST_CLEAR,
- gcvFEATURE_YUV420_TILER,
- gcvFEATURE_YUY2_AVERAGING,
- gcvFEATURE_FLIP_Y,
- gcvFEATURE_EARLY_Z,
- gcvFEATURE_COMPRESSION,
- gcvFEATURE_MSAA,
- gcvFEATURE_SPECIAL_ANTI_ALIASING,
- gcvFEATURE_SPECIAL_MSAA_LOD,
- gcvFEATURE_422_TEXTURE_COMPRESSION,
- gcvFEATURE_DXT_TEXTURE_COMPRESSION,
- gcvFEATURE_ETC1_TEXTURE_COMPRESSION,
- gcvFEATURE_CORRECT_TEXTURE_CONVERTER,
- gcvFEATURE_TEXTURE_8K,
- gcvFEATURE_SCALER,
- gcvFEATURE_YUV420_SCALER,
- gcvFEATURE_SHADER_HAS_W,
- gcvFEATURE_SHADER_HAS_SIGN,
- gcvFEATURE_SHADER_HAS_FLOOR,
- gcvFEATURE_SHADER_HAS_CEIL,
- gcvFEATURE_SHADER_HAS_SQRT,
- gcvFEATURE_SHADER_HAS_TRIG,
- gcvFEATURE_VAA,
- gcvFEATURE_HZ,
- gcvFEATURE_CORRECT_STENCIL,
- gcvFEATURE_VG20,
- gcvFEATURE_VG_FILTER,
- gcvFEATURE_VG21,
- gcvFEATURE_VG_DOUBLE_BUFFER,
- gcvFEATURE_MC20,
- gcvFEATURE_SUPER_TILED,
- gcvFEATURE_FAST_CLEAR_FLUSH,
- gcvFEATURE_2D_FILTERBLIT_PLUS_ALPHABLEND,
- gcvFEATURE_2D_DITHER,
- gcvFEATURE_2D_A8_TARGET,
- gcvFEATURE_2D_A8_NO_ALPHA,
- gcvFEATURE_2D_FILTERBLIT_FULLROTATION,
- gcvFEATURE_2D_BITBLIT_FULLROTATION,
- gcvFEATURE_WIDE_LINE,
- gcvFEATURE_FC_FLUSH_STALL,
- gcvFEATURE_FULL_DIRECTFB,
- gcvFEATURE_HALF_FLOAT_PIPE,
- gcvFEATURE_LINE_LOOP,
- gcvFEATURE_2D_YUV_BLIT,
- gcvFEATURE_2D_TILING,
- gcvFEATURE_NON_POWER_OF_TWO,
- gcvFEATURE_3D_TEXTURE,
- gcvFEATURE_TEXTURE_ARRAY,
- gcvFEATURE_TILE_FILLER,
- gcvFEATURE_LOGIC_OP,
- gcvFEATURE_COMPOSITION,
- gcvFEATURE_MIXED_STREAMS,
- gcvFEATURE_2D_MULTI_SOURCE_BLT,
- gcvFEATURE_END_EVENT,
- gcvFEATURE_VERTEX_10_10_10_2,
- gcvFEATURE_TEXTURE_10_10_10_2,
- gcvFEATURE_TEXTURE_ANISOTROPIC_FILTERING,
- gcvFEATURE_TEXTURE_FLOAT_HALF_FLOAT,
- gcvFEATURE_2D_ROTATION_STALL_FIX,
- gcvFEATURE_2D_MULTI_SOURCE_BLT_EX,
- gcvFEATURE_BUG_FIXES10,
- gcvFEATURE_2D_MINOR_TILING,
- /* Supertiled compressed textures are supported. */
- gcvFEATURE_TEX_COMPRRESSION_SUPERTILED,
- gcvFEATURE_FAST_MSAA,
- gcvFEATURE_BUG_FIXED_INDEXED_TRIANGLE_STRIP,
- gcvFEATURE_INDEX_FETCH_FIX,
- gcvFEATURE_TEXTURE_TILE_STATUS_READ,
- gcvFEATURE_DEPTH_BIAS_FIX,
- gcvFEATURE_RECT_PRIMITIVE,
- gcvFEATURE_BUG_FIXES11,
- gcvFEATURE_SUPERTILED_TEXTURE,
- gcvFEATURE_2D_NO_COLORBRUSH_INDEX8,
- gcvFEATURE_RS_YUV_TARGET,
- gcvFEATURE_2D_FC_SOURCE,
- gcvFEATURE_2D_CC_NOAA_SOURCE,
- gcvFEATURE_PE_DITHER_FIX,
- gcvFEATURE_2D_YUV_SEPARATE_STRIDE,
- gcvFEATURE_FRUSTUM_CLIP_FIX,
- gcvFEATURE_TEXTURE_SWIZZLE,
- gcvFEATURE_PRIMITIVE_RESTART,
- gcvFEATURE_TEXTURE_LINEAR,
- gcvFEATURE_TEXTURE_YUV_ASSEMBLER,
- gcvFEATURE_LINEAR_RENDER_TARGET,
- gcvFEATURE_SHADER_HAS_ATOMIC,
- gcvFEATURE_SHADER_HAS_INSTRUCTION_CACHE,
- gcvFEATURE_SHADER_ENHANCEMENTS2,
- gcvFEATURE_BUG_FIXES7,
- gcvFEATURE_SHADER_HAS_RTNE,
- gcvFEATURE_SHADER_HAS_EXTRA_INSTRUCTIONS2,
- gcvFEATURE_SHADER_ENHANCEMENTS3,
- gcvFEATURE_DYNAMIC_FREQUENCY_SCALING,
- gcvFEATURE_SINGLE_BUFFER,
- gcvFEATURE_OCCLUSION_QUERY,
- gcvFEATURE_2D_GAMMA,
- gcvFEATURE_2D_COLOR_SPACE_CONVERSION,
- gcvFEATURE_2D_SUPER_TILE_VERSION,
- gcvFEATURE_HALTI0,
- gcvFEATURE_HALTI1,
- gcvFEATURE_HALTI2,
- gcvFEATURE_2D_MIRROR_EXTENSION,
- gcvFEATURE_TEXTURE_ASTC,
- gcvFEATURE_2D_SUPER_TILE_V1,
- gcvFEATURE_2D_SUPER_TILE_V2,
- gcvFEATURE_2D_SUPER_TILE_V3,
- gcvFEATURE_2D_MULTI_SOURCE_BLT_EX2,
- gcvFEATURE_NEW_RA,
- gcvFEATURE_BUG_FIXED_IMPLICIT_PRIMITIVE_RESTART,
- gcvFEATURE_PE_MULTI_RT_BLEND_ENABLE_CONTROL,
- gcvFEATURE_SMALL_MSAA, /* An upgraded version of Fast MSAA */
- gcvFEATURE_VERTEX_INST_ID_AS_ATTRIBUTE,
- gcvFEATURE_DUAL_16,
- gcvFEATURE_BRANCH_ON_IMMEDIATE_REG,
- gcvFEATURE_2D_COMPRESSION,
- gcvFEATURE_TPC_COMPRESSION,
- gcvFEATURE_2D_OPF_YUV_OUTPUT,
- gcvFEATURE_2D_FILTERBLIT_A8_ALPHA,
- gcvFEATURE_2D_MULTI_SRC_BLT_TO_UNIFIED_DST_RECT,
- gcvFEATURE_V2_COMPRESSION_Z16_FIX,
- gcvFEATURE_VERTEX_INST_ID_AS_INTEGER,
- gcvFEATURE_2D_YUV_MODE,
- gcvFEATURE_ACE,
- gcvFEATURE_COLOR_COMPRESSION,
- gcvFEATURE_32BPP_COMPONENT_TEXTURE_CHANNEL_SWIZZLE,
- gcvFEATURE_64BPP_HW_CLEAR_SUPPORT,
- gcvFEATURE_TX_LERP_PRECISION_FIX,
- gcvFEATURE_COMPRESSION_V2,
- gcvFEATURE_MMU,
- gcvFEATURE_COMPRESSION_V3,
- gcvFEATURE_TX_DECOMPRESSOR,
- gcvFEATURE_MRT_TILE_STATUS_BUFFER,
- gcvFEATURE_COMPRESSION_V1,
- gcvFEATURE_V1_COMPRESSION_Z16_DECOMPRESS_FIX,
- gcvFEATURE_RTT,
- gcvFEATURE_GENERICS,
- gcvFEATURE_2D_ONE_PASS_FILTER,
- gcvFEATURE_2D_ONE_PASS_FILTER_TAP,
- gcvFEATURE_2D_POST_FLIP,
- gcvFEATURE_2D_PIXEL_ALIGNMENT,
- gcvFEATURE_CORRECT_AUTO_DISABLE_COUNT,
- gcvFEATURE_CORRECT_AUTO_DISABLE_COUNT_WIDTH,
- gcvFEATURE_HALTI3,
- gcvFEATURE_EEZ,
- gcvFEATURE_INTEGER_SIGNEXT_FIX,
- gcvFEATURE_INTEGER_PIPE_FIX,
- gcvFEATURE_PSOUTPUT_MAPPING,
- gcvFEATURE_8K_RT_FIX,
- gcvFEATURE_TX_TILE_STATUS_MAPPING,
- gcvFEATURE_SRGB_RT_SUPPORT,
- gcvFEATURE_UNIFORM_APERTURE,
- gcvFEATURE_TEXTURE_16K,
- gcvFEATURE_PA_FARZCLIPPING_FIX,
- gcvFEATURE_PE_DITHER_COLORMASK_FIX,
- gcvFEATURE_ZSCALE_FIX,
- gcvFEATURE_MULTI_PIXELPIPES,
- gcvFEATURE_PIPE_CL,
- gcvFEATURE_BUG_FIXES18,
- gcvFEATURE_UNIFIED_SAMPLERS,
- gcvFEATURE_CL_PS_WALKER,
- gcvFEATURE_NEW_HZ,
- gcvFEATURE_TX_FRAC_PRECISION_6BIT,
- gcvFEATURE_SH_INSTRUCTION_PREFETCH,
- gcvFEATURE_PROBE,
- gcvFEATURE_BUG_FIXES8,
- gcvFEATURE_2D_ALL_QUAD,
- gcvFEATURE_SINGLE_PIPE_HALTI1,
- gcvFEATURE_BLOCK_SIZE_16x16,
- gcvFEATURE_NO_USER_CSC,
- gcvFEATURE_ANDROID_ONLY,
- gcvFEATURE_HAS_PRODUCTID,
- gcvFEATURE_V2_MSAA_COMP_FIX,
- gcvFEATURE_S8_ONLY_RENDERING,
- gcvFEATURE_SEPARATE_SRC_DST,
- gcvFEATURE_FE_START_VERTEX_SUPPORT,
- gcvFEATURE_RS_DEPTHSTENCIL_NATIVE_SUPPORT,
- gcvFEATURE_HALTI4,
- gcvFEATURE_MSAA_FRAGMENT_OPERATION,
- gcvFEATURE_ZERO_ATTRIB_SUPPORT,
- /* Insert features above this comment only. */
- gcvFEATURE_COUNT /* Not a feature. */
- }
- gceFEATURE;
- /* Chip SWWA. */
- typedef enum _gceSWWA
- {
- gcvSWWA_601 = 0,
- gcvSWWA_706,
- gcvSWWA_1163,
- gcvSWWA_1165,
- /* Insert SWWA above this comment only. */
- gcvSWWA_COUNT /* Not a SWWA. */
- }
- gceSWWA;
- /* Option Set*/
- typedef enum _gceOPITON
- {
- /* HW setting we take PREFER */
- gcvOPTION_PREFER_MULTIPIPE_RS = 0,
- gcvOPTION_PREFER_ZCONVERT_BYPASS =1,
- gcvOPTION_HW_NULL = 50,
- gcvOPTION_PRINT_OPTION = 51,
- gcvOPTION_FBO_PREFER_MEM = 80,
- /* Insert option above this comment only */
- gcvOPTION_COUNT /* Not a OPTION*/
- }
- gceOPTION;
- typedef enum _gceFRAMEINFO
- {
- gcvFRAMEINFO_FRAME_NUM = 0,
- gcvFRAMEINFO_DRAW_NUM = 1,
- gcvFRAMEINFO_DRAW_DUAL16_NUM = 2,
- gcvFRAMEINFO_DRAW_FL32_NUM = 3,
- gcvFRAMEINFO_COUNT,
- }
- gceFRAMEINFO;
- typedef enum _gceFRAMEINFO_OP
- {
- gcvFRAMEINFO_OP_INC = 0,
- gcvFRAMEINFO_OP_DEC = 1,
- gcvFRAMEINFO_OP_ZERO = 2,
- gcvFRAMEINFO_OP_GET = 3,
- gcvFRAMEINFO_OP_COUNT,
- }
- gceFRAMEINFO_OP;
- /* Chip Power Status. */
- typedef enum _gceCHIPPOWERSTATE
- {
- gcvPOWER_ON = 0,
- gcvPOWER_OFF,
- gcvPOWER_IDLE,
- gcvPOWER_SUSPEND,
- gcvPOWER_SUSPEND_ATPOWERON,
- gcvPOWER_OFF_ATPOWERON,
- gcvPOWER_IDLE_BROADCAST,
- gcvPOWER_SUSPEND_BROADCAST,
- gcvPOWER_OFF_BROADCAST,
- gcvPOWER_OFF_RECOVERY,
- gcvPOWER_OFF_TIMEOUT,
- gcvPOWER_ON_AUTO
- }
- gceCHIPPOWERSTATE;
- /* CPU cache operations */
- typedef enum _gceCACHEOPERATION
- {
- gcvCACHE_CLEAN = 0x01,
- gcvCACHE_INVALIDATE = 0x02,
- gcvCACHE_FLUSH = gcvCACHE_CLEAN | gcvCACHE_INVALIDATE,
- gcvCACHE_MEMORY_BARRIER = 0x04
- }
- gceCACHEOPERATION;
- /* Surface types. */
- typedef enum _gceSURF_TYPE
- {
- gcvSURF_TYPE_UNKNOWN = 0,
- gcvSURF_INDEX,
- gcvSURF_VERTEX,
- gcvSURF_TEXTURE,
- gcvSURF_RENDER_TARGET,
- gcvSURF_DEPTH,
- gcvSURF_BITMAP,
- gcvSURF_TILE_STATUS,
- gcvSURF_IMAGE,
- gcvSURF_MASK,
- gcvSURF_SCISSOR,
- gcvSURF_HIERARCHICAL_DEPTH,
- gcvSURF_NUM_TYPES, /* Make sure this is the last one! */
- /* Combinations. */
- gcvSURF_NO_TILE_STATUS = 0x100,
- gcvSURF_NO_VIDMEM = 0x200, /* Used to allocate surfaces with no underlying vidmem node.
- In Android, vidmem node is allocated by another process. */
- gcvSURF_CACHEABLE = 0x400, /* Used to allocate a cacheable surface */
- gcvSURF_FLIP = 0x800, /* The Resolve Target the will been flip resolve from RT */
- gcvSURF_TILE_STATUS_DIRTY = 0x1000, /* Init tile status to all dirty */
- gcvSURF_LINEAR = 0x2000,
- gcvSURF_CREATE_AS_TEXTURE = 0x4000, /* create it as a texture */
- gcvSURF_PROTECTED_CONTENT = 0x8000, /* create it as content protected */
- /* Create it as no compression, valid on when it has tile status. */
- gcvSURF_NO_COMPRESSION = 0x40000,
- gcvSURF_CONTIGUOUS = 0x20000, /*create it as contiguous */
- gcvSURF_TEXTURE_LINEAR = gcvSURF_TEXTURE
- | gcvSURF_LINEAR,
- gcvSURF_RENDER_TARGET_LINEAR = gcvSURF_RENDER_TARGET
- | gcvSURF_LINEAR,
- gcvSURF_RENDER_TARGET_NO_TILE_STATUS = gcvSURF_RENDER_TARGET
- | gcvSURF_NO_TILE_STATUS,
- gcvSURF_RENDER_TARGET_TS_DIRTY = gcvSURF_RENDER_TARGET
- | gcvSURF_TILE_STATUS_DIRTY,
- gcvSURF_DEPTH_NO_TILE_STATUS = gcvSURF_DEPTH
- | gcvSURF_NO_TILE_STATUS,
- gcvSURF_DEPTH_TS_DIRTY = gcvSURF_DEPTH
- | gcvSURF_TILE_STATUS_DIRTY,
- /* Supported surface types with no vidmem node. */
- gcvSURF_BITMAP_NO_VIDMEM = gcvSURF_BITMAP
- | gcvSURF_NO_VIDMEM,
- gcvSURF_TEXTURE_NO_VIDMEM = gcvSURF_TEXTURE
- | gcvSURF_NO_VIDMEM,
- /* Cacheable surface types with no vidmem node. */
- gcvSURF_CACHEABLE_BITMAP_NO_VIDMEM = gcvSURF_BITMAP_NO_VIDMEM
- | gcvSURF_CACHEABLE,
- gcvSURF_CACHEABLE_BITMAP = gcvSURF_BITMAP
- | gcvSURF_CACHEABLE,
- gcvSURF_FLIP_BITMAP = gcvSURF_BITMAP
- | gcvSURF_FLIP,
- }
- gceSURF_TYPE;
- typedef enum _gceSURF_USAGE
- {
- gcvSURF_USAGE_UNKNOWN,
- gcvSURF_USAGE_RESOLVE_AFTER_CPU,
- gcvSURF_USAGE_RESOLVE_AFTER_3D
- }
- gceSURF_USAGE;
- typedef enum _gceSURF_COLOR_SPACE
- {
- gcvSURF_COLOR_SPACE_UNKNOWN,
- gcvSURF_COLOR_SPACE_LINEAR,
- gcvSURF_COLOR_SPACE_NONLINEAR,
- }
- gceSURF_COLOR_SPACE;
- typedef enum _gceSURF_COLOR_TYPE
- {
- gcvSURF_COLOR_UNKNOWN = 0,
- gcvSURF_COLOR_LINEAR = 0x01,
- gcvSURF_COLOR_ALPHA_PRE = 0x02,
- }
- gceSURF_COLOR_TYPE;
- /* Rotation. */
- typedef enum _gceSURF_ROTATION
- {
- gcvSURF_0_DEGREE = 0,
- gcvSURF_90_DEGREE,
- gcvSURF_180_DEGREE,
- gcvSURF_270_DEGREE,
- gcvSURF_FLIP_X,
- gcvSURF_FLIP_Y,
- gcvSURF_POST_FLIP_X = 0x40000000,
- gcvSURF_POST_FLIP_Y = 0x80000000,
- }
- gceSURF_ROTATION;
- /* Surface flag */
- typedef enum _gceSURF_FLAG
- {
- /* None flag */
- gcvSURF_FLAG_NONE = 0x0,
- /* content is preserved after swap */
- gcvSURF_FLAG_CONTENT_PRESERVED = 0x1,
- /* content is updated after swap*/
- gcvSURF_FLAG_CONTENT_UPDATED = 0x2,
- /* content is y inverted */
- gcvSURF_FLAG_CONTENT_YINVERTED = 0x4,
- /* content is protected */
- gcvSURF_FLAG_CONTENT_PROTECTED = 0x8,
- /* surface is contiguous. */
- gcvSURF_FLAG_CONTIGUOUS = (1 << 4),
- }
- gceSURF_FLAG;
- typedef enum _gceMIPMAP_IMAGE_FORMAT
- {
- gcvUNKNOWN_MIPMAP_IMAGE_FORMAT = -2
- }
- gceMIPMAP_IMAGE_FORMAT;
- /* Surface formats. */
- typedef enum _gceSURF_FORMAT
- {
- /* Unknown format. */
- gcvSURF_UNKNOWN = 0,
- /* Palettized formats. */
- gcvSURF_INDEX1 = 100,
- gcvSURF_INDEX4,
- gcvSURF_INDEX8,
- /* RGB formats. */
- gcvSURF_A2R2G2B2 = 200,
- gcvSURF_R3G3B2,
- gcvSURF_A8R3G3B2,
- gcvSURF_X4R4G4B4,
- gcvSURF_A4R4G4B4,
- gcvSURF_R4G4B4A4,
- gcvSURF_X1R5G5B5,
- gcvSURF_A1R5G5B5,
- gcvSURF_R5G5B5A1,
- gcvSURF_R5G6B5,
- gcvSURF_R8G8B8,
- gcvSURF_X8R8G8B8,
- gcvSURF_A8R8G8B8,
- gcvSURF_R8G8B8A8,
- gcvSURF_G8R8G8B8,
- gcvSURF_R8G8B8G8,
- gcvSURF_X2R10G10B10,
- gcvSURF_A2R10G10B10,
- gcvSURF_X12R12G12B12,
- gcvSURF_A12R12G12B12,
- gcvSURF_X16R16G16B16,
- gcvSURF_A16R16G16B16,
- gcvSURF_A32R32G32B32,
- gcvSURF_R8G8B8X8,
- gcvSURF_R5G5B5X1,
- gcvSURF_R4G4B4X4,
- gcvSURF_X16R16G16B16_2_A8R8G8B8,
- gcvSURF_A16R16G16B16_2_A8R8G8B8,
- gcvSURF_A32R32G32B32_2_G32R32F,
- gcvSURF_A32R32G32B32_4_A8R8G8B8,
- /* BGR formats. */
- gcvSURF_A4B4G4R4 = 300,
- gcvSURF_A1B5G5R5,
- gcvSURF_B5G6R5,
- gcvSURF_B8G8R8,
- gcvSURF_B16G16R16,
- gcvSURF_X8B8G8R8,
- gcvSURF_A8B8G8R8,
- gcvSURF_A2B10G10R10,
- gcvSURF_X16B16G16R16,
- gcvSURF_A16B16G16R16,
- gcvSURF_B32G32R32,
- gcvSURF_X32B32G32R32,
- gcvSURF_A32B32G32R32,
- gcvSURF_B4G4R4A4,
- gcvSURF_B5G5R5A1,
- gcvSURF_B8G8R8X8,
- gcvSURF_B8G8R8A8,
- gcvSURF_X4B4G4R4,
- gcvSURF_X1B5G5R5,
- gcvSURF_B4G4R4X4,
- gcvSURF_B5G5R5X1,
- gcvSURF_X2B10G10R10,
- gcvSURF_B8G8R8_SNORM,
- gcvSURF_X8B8G8R8_SNORM,
- gcvSURF_A8B8G8R8_SNORM,
- gcvSURF_A8B12G12R12_2_A8R8G8B8,
- /* Compressed formats. */
- gcvSURF_DXT1 = 400,
- gcvSURF_DXT2,
- gcvSURF_DXT3,
- gcvSURF_DXT4,
- gcvSURF_DXT5,
- gcvSURF_CXV8U8,
- gcvSURF_ETC1,
- gcvSURF_R11_EAC,
- gcvSURF_SIGNED_R11_EAC,
- gcvSURF_RG11_EAC,
- gcvSURF_SIGNED_RG11_EAC,
- gcvSURF_RGB8_ETC2,
- gcvSURF_SRGB8_ETC2,
- gcvSURF_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
- gcvSURF_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
- gcvSURF_RGBA8_ETC2_EAC,
- gcvSURF_SRGB8_ALPHA8_ETC2_EAC,
- /* YUV formats. */
- gcvSURF_YUY2 = 500,
- gcvSURF_UYVY,
- gcvSURF_YV12,
- gcvSURF_I420,
- gcvSURF_NV12,
- gcvSURF_NV21,
- gcvSURF_NV16,
- gcvSURF_NV61,
- gcvSURF_YVYU,
- gcvSURF_VYUY,
- /* Depth formats. */
- gcvSURF_D16 = 600,
- gcvSURF_D24S8,
- gcvSURF_D32,
- gcvSURF_D24X8,
- gcvSURF_D32F,
- gcvSURF_S8D32F,
- gcvSURF_S8D32F_1_G32R32F,
- gcvSURF_S8D32F_2_A8R8G8B8,
- gcvSURF_D24S8_1_A8R8G8B8,
- gcvSURF_S8,
- /* Alpha formats. */
- gcvSURF_A4 = 700,
- gcvSURF_A8,
- gcvSURF_A12,
- gcvSURF_A16,
- gcvSURF_A32,
- gcvSURF_A1,
- /* Luminance formats. */
- gcvSURF_L4 = 800,
- gcvSURF_L8,
- gcvSURF_L12,
- gcvSURF_L16,
- gcvSURF_L32,
- gcvSURF_L1,
- /* Alpha/Luminance formats. */
- gcvSURF_A4L4 = 900,
- gcvSURF_A2L6,
- gcvSURF_A8L8,
- gcvSURF_A4L12,
- gcvSURF_A12L12,
- gcvSURF_A16L16,
- /* Bump formats. */
- gcvSURF_L6V5U5 = 1000,
- gcvSURF_V8U8,
- gcvSURF_X8L8V8U8,
- gcvSURF_Q8W8V8U8,
- gcvSURF_A2W10V10U10,
- gcvSURF_V16U16,
- gcvSURF_Q16W16V16U16,
- /* R/RG/RA formats. */
- gcvSURF_R8 = 1100,
- gcvSURF_X8R8,
- gcvSURF_G8R8,
- gcvSURF_X8G8R8,
- gcvSURF_A8R8,
- gcvSURF_R16,
- gcvSURF_X16R16,
- gcvSURF_G16R16,
- gcvSURF_X16G16R16,
- gcvSURF_A16R16,
- gcvSURF_R32,
- gcvSURF_X32R32,
- gcvSURF_G32R32,
- gcvSURF_X32G32R32,
- gcvSURF_A32R32,
- gcvSURF_RG16,
- gcvSURF_R8_SNORM,
- gcvSURF_G8R8_SNORM,
- gcvSURF_R8_1_X8R8G8B8,
- gcvSURF_G8R8_1_X8R8G8B8,
- /* Floating point formats. */
- gcvSURF_R16F = 1200,
- gcvSURF_X16R16F,
- gcvSURF_G16R16F,
- gcvSURF_X16G16R16F,
- gcvSURF_B16G16R16F,
- gcvSURF_X16B16G16R16F,
- gcvSURF_A16B16G16R16F,
- gcvSURF_R32F,
- gcvSURF_X32R32F,
- gcvSURF_G32R32F,
- gcvSURF_X32G32R32F,
- gcvSURF_B32G32R32F,
- gcvSURF_X32B32G32R32F,
- gcvSURF_A32B32G32R32F,
- gcvSURF_A16F,
- gcvSURF_L16F,
- gcvSURF_A16L16F,
- gcvSURF_A16R16F,
- gcvSURF_A32F,
- gcvSURF_L32F,
- gcvSURF_A32L32F,
- gcvSURF_A32R32F,
- gcvSURF_E5B9G9R9,
- gcvSURF_B10G11R11F,
- gcvSURF_X16B16G16R16F_2_A8R8G8B8,
- gcvSURF_A16B16G16R16F_2_A8R8G8B8,
- gcvSURF_G32R32F_2_A8R8G8B8,
- gcvSURF_X32B32G32R32F_2_G32R32F,
- gcvSURF_A32B32G32R32F_2_G32R32F,
- gcvSURF_X32B32G32R32F_4_A8R8G8B8,
- gcvSURF_A32B32G32R32F_4_A8R8G8B8,
- gcvSURF_R16F_1_A4R4G4B4,
- gcvSURF_G16R16F_1_A8R8G8B8,
- gcvSURF_B16G16R16F_2_A8R8G8B8,
- gcvSURF_R32F_1_A8R8G8B8,
- gcvSURF_B32G32R32F_3_A8R8G8B8,
- gcvSURF_B10G11R11F_1_A8R8G8B8,
- /* sRGB format. */
- gcvSURF_SBGR8 = 1400,
- gcvSURF_A8_SBGR8,
- gcvSURF_X8_SBGR8,
- /* Integer formats. */
- gcvSURF_R8I = 1500,
- gcvSURF_R8UI,
- gcvSURF_R16I,
- gcvSURF_R16UI,
- gcvSURF_R32I,
- gcvSURF_R32UI,
- gcvSURF_X8R8I,
- gcvSURF_G8R8I,
- gcvSURF_X8R8UI,
- gcvSURF_G8R8UI,
- gcvSURF_X16R16I,
- gcvSURF_G16R16I,
- gcvSURF_X16R16UI,
- gcvSURF_G16R16UI,
- gcvSURF_X32R32I,
- gcvSURF_G32R32I,
- gcvSURF_X32R32UI,
- gcvSURF_G32R32UI,
- gcvSURF_X8G8R8I,
- gcvSURF_B8G8R8I,
- gcvSURF_X8G8R8UI,
- gcvSURF_B8G8R8UI,
- gcvSURF_X16G16R16I,
- gcvSURF_B16G16R16I,
- gcvSURF_X16G16R16UI,
- gcvSURF_B16G16R16UI,
- gcvSURF_X32G32R32I,
- gcvSURF_B32G32R32I,
- gcvSURF_X32G32R32UI,
- gcvSURF_B32G32R32UI,
- gcvSURF_X8B8G8R8I,
- gcvSURF_A8B8G8R8I,
- gcvSURF_X8B8G8R8UI,
- gcvSURF_A8B8G8R8UI,
- gcvSURF_X16B16G16R16I,
- gcvSURF_A16B16G16R16I,
- gcvSURF_X16B16G16R16UI,
- gcvSURF_A16B16G16R16UI,
- gcvSURF_X32B32G32R32I,
- gcvSURF_A32B32G32R32I,
- gcvSURF_X32B32G32R32UI,
- gcvSURF_A32B32G32R32UI,
- gcvSURF_A2B10G10R10UI,
- gcvSURF_G32R32I_2_A8R8G8B8,
- gcvSURF_G32R32UI_2_A8R8G8B8,
- gcvSURF_X16B16G16R16I_2_A8R8G8B8,
- gcvSURF_A16B16G16R16I_2_A8R8G8B8,
- gcvSURF_X16B16G16R16UI_2_A8R8G8B8,
- gcvSURF_A16B16G16R16UI_2_A8R8G8B8,
- gcvSURF_X32B32G32R32I_2_G32R32I,
- gcvSURF_A32B32G32R32I_2_G32R32I,
- gcvSURF_X32B32G32R32I_3_A8R8G8B8,
- gcvSURF_A32B32G32R32I_4_A8R8G8B8,
- gcvSURF_X32B32G32R32UI_2_G32R32UI,
- gcvSURF_A32B32G32R32UI_2_G32R32UI,
- gcvSURF_X32B32G32R32UI_3_A8R8G8B8,
- gcvSURF_A32B32G32R32UI_4_A8R8G8B8,
- gcvSURF_A2B10G10R10UI_1_A8R8G8B8,
- gcvSURF_A8B8G8R8I_1_A8R8G8B8,
- gcvSURF_A8B8G8R8UI_1_A8R8G8B8,
- gcvSURF_R8I_1_A4R4G4B4,
- gcvSURF_R8UI_1_A4R4G4B4,
- gcvSURF_R16I_1_A4R4G4B4,
- gcvSURF_R16UI_1_A4R4G4B4,
- gcvSURF_R32I_1_A8R8G8B8,
- gcvSURF_R32UI_1_A8R8G8B8,
- gcvSURF_X8R8I_1_A4R4G4B4,
- gcvSURF_X8R8UI_1_A4R4G4B4,
- gcvSURF_G8R8I_1_A4R4G4B4,
- gcvSURF_G8R8UI_1_A4R4G4B4,
- gcvSURF_X16R16I_1_A4R4G4B4,
- gcvSURF_X16R16UI_1_A4R4G4B4,
- gcvSURF_G16R16I_1_A8R8G8B8,
- gcvSURF_G16R16UI_1_A8R8G8B8,
- gcvSURF_X32R32I_1_A8R8G8B8,
- gcvSURF_X32R32UI_1_A8R8G8B8,
- gcvSURF_X8G8R8I_1_A4R4G4B4,
- gcvSURF_X8G8R8UI_1_A4R4G4B4,
- gcvSURF_B8G8R8I_1_A8R8G8B8,
- gcvSURF_B8G8R8UI_1_A8R8G8B8,
- gcvSURF_B16G16R16I_2_A8R8G8B8,
- gcvSURF_B16G16R16UI_2_A8R8G8B8,
- gcvSURF_B32G32R32I_3_A8R8G8B8,
- gcvSURF_B32G32R32UI_3_A8R8G8B8,
- /* ASTC formats. */
- gcvSURF_ASTC4x4 = 1600,
- gcvSURF_ASTC5x4,
- gcvSURF_ASTC5x5,
- gcvSURF_ASTC6x5,
- gcvSURF_ASTC6x6,
- gcvSURF_ASTC8x5,
- gcvSURF_ASTC8x6,
- gcvSURF_ASTC8x8,
- gcvSURF_ASTC10x5,
- gcvSURF_ASTC10x6,
- gcvSURF_ASTC10x8,
- gcvSURF_ASTC10x10,
- gcvSURF_ASTC12x10,
- gcvSURF_ASTC12x12,
- gcvSURF_ASTC4x4_SRGB,
- gcvSURF_ASTC5x4_SRGB,
- gcvSURF_ASTC5x5_SRGB,
- gcvSURF_ASTC6x5_SRGB,
- gcvSURF_ASTC6x6_SRGB,
- gcvSURF_ASTC8x5_SRGB,
- gcvSURF_ASTC8x6_SRGB,
- gcvSURF_ASTC8x8_SRGB,
- gcvSURF_ASTC10x5_SRGB,
- gcvSURF_ASTC10x6_SRGB,
- gcvSURF_ASTC10x8_SRGB,
- gcvSURF_ASTC10x10_SRGB,
- gcvSURF_ASTC12x10_SRGB,
- gcvSURF_ASTC12x12_SRGB,
- gcvSURF_FORMAT_COUNT
- }
- gceSURF_FORMAT;
- /* Format modifiers. */
- typedef enum _gceSURF_FORMAT_MODE
- {
- gcvSURF_FORMAT_OCL = 0x80000000
- }
- gceSURF_FORMAT_MODE;
- /* Pixel swizzle modes. */
- typedef enum _gceSURF_SWIZZLE
- {
- gcvSURF_NOSWIZZLE = 0,
- gcvSURF_ARGB,
- gcvSURF_ABGR,
- gcvSURF_RGBA,
- gcvSURF_BGRA
- }
- gceSURF_SWIZZLE;
- /* Transparency modes. */
- typedef enum _gceSURF_TRANSPARENCY
- {
- /* Valid only for PE 1.0 */
- gcvSURF_OPAQUE = 0,
- gcvSURF_SOURCE_MATCH,
- gcvSURF_SOURCE_MASK,
- gcvSURF_PATTERN_MASK,
- }
- gceSURF_TRANSPARENCY;
- /* Surface Alignment. */
- typedef enum _gceSURF_ALIGNMENT
- {
- gcvSURF_FOUR = 0,
- gcvSURF_SIXTEEN,
- gcvSURF_SUPER_TILED,
- gcvSURF_SPLIT_TILED,
- gcvSURF_SPLIT_SUPER_TILED
- }
- gceSURF_ALIGNMENT;
- /* Surface Addressing. */
- typedef enum _gceSURF_ADDRESSING
- {
- gcvSURF_NO_STRIDE_TILED = 0,
- gcvSURF_NO_STRIDE_LINEAR,
- gcvSURF_STRIDE_TILED,
- gcvSURF_STRIDE_LINEAR
- }
- gceSURF_ADDRESSING;
- /* Transparency modes. */
- typedef enum _gce2D_TRANSPARENCY
- {
- /* Valid only for PE 2.0 */
- gcv2D_OPAQUE = 0,
- gcv2D_KEYED,
- gcv2D_MASKED
- }
- gce2D_TRANSPARENCY;
- /* Mono packing modes. */
- typedef enum _gceSURF_MONOPACK
- {
- gcvSURF_PACKED8 = 0,
- gcvSURF_PACKED16,
- gcvSURF_PACKED32,
- gcvSURF_UNPACKED,
- }
- gceSURF_MONOPACK;
- /* Blending modes. */
- typedef enum _gceSURF_BLEND_MODE
- {
- /* Porter-Duff blending modes. */
- /* Fsrc Fdst */
- gcvBLEND_CLEAR = 0, /* 0 0 */
- gcvBLEND_SRC, /* 1 0 */
- gcvBLEND_DST, /* 0 1 */
- gcvBLEND_SRC_OVER_DST, /* 1 1 - Asrc */
- gcvBLEND_DST_OVER_SRC, /* 1 - Adst 1 */
- gcvBLEND_SRC_IN_DST, /* Adst 0 */
- gcvBLEND_DST_IN_SRC, /* 0 Asrc */
- gcvBLEND_SRC_OUT_DST, /* 1 - Adst 0 */
- gcvBLEND_DST_OUT_SRC, /* 0 1 - Asrc */
- gcvBLEND_SRC_ATOP_DST, /* Adst 1 - Asrc */
- gcvBLEND_DST_ATOP_SRC, /* 1 - Adst Asrc */
- gcvBLEND_SRC_XOR_DST, /* 1 - Adst 1 - Asrc */
- /* Special blending modes. */
- gcvBLEND_SET, /* DST = 1 */
- gcvBLEND_SUB /* DST = DST * (1 - SRC) */
- }
- gceSURF_BLEND_MODE;
- /* Per-pixel alpha modes. */
- typedef enum _gceSURF_PIXEL_ALPHA_MODE
- {
- gcvSURF_PIXEL_ALPHA_STRAIGHT = 0,
- gcvSURF_PIXEL_ALPHA_INVERSED
- }
- gceSURF_PIXEL_ALPHA_MODE;
- /* Global alpha modes. */
- typedef enum _gceSURF_GLOBAL_ALPHA_MODE
- {
- gcvSURF_GLOBAL_ALPHA_OFF = 0,
- gcvSURF_GLOBAL_ALPHA_ON,
- gcvSURF_GLOBAL_ALPHA_SCALE
- }
- gceSURF_GLOBAL_ALPHA_MODE;
- /* Color component modes for alpha blending. */
- typedef enum _gceSURF_PIXEL_COLOR_MODE
- {
- gcvSURF_COLOR_STRAIGHT = 0,
- gcvSURF_COLOR_MULTIPLY
- }
- gceSURF_PIXEL_COLOR_MODE;
- /* Color component modes for alpha blending. */
- typedef enum _gce2D_PIXEL_COLOR_MULTIPLY_MODE
- {
- gcv2D_COLOR_MULTIPLY_DISABLE = 0,
- gcv2D_COLOR_MULTIPLY_ENABLE
- }
- gce2D_PIXEL_COLOR_MULTIPLY_MODE;
- /* Color component modes for alpha blending. */
- typedef enum _gce2D_GLOBAL_COLOR_MULTIPLY_MODE
- {
- gcv2D_GLOBAL_COLOR_MULTIPLY_DISABLE = 0,
- gcv2D_GLOBAL_COLOR_MULTIPLY_ALPHA,
- gcv2D_GLOBAL_COLOR_MULTIPLY_COLOR
- }
- gce2D_GLOBAL_COLOR_MULTIPLY_MODE;
- /* Alpha blending factor modes. */
- typedef enum _gceSURF_BLEND_FACTOR_MODE
- {
- gcvSURF_BLEND_ZERO = 0,
- gcvSURF_BLEND_ONE,
- gcvSURF_BLEND_STRAIGHT,
- gcvSURF_BLEND_INVERSED,
- gcvSURF_BLEND_COLOR,
- gcvSURF_BLEND_COLOR_INVERSED,
- gcvSURF_BLEND_SRC_ALPHA_SATURATED,
- gcvSURF_BLEND_STRAIGHT_NO_CROSS,
- gcvSURF_BLEND_INVERSED_NO_CROSS,
- gcvSURF_BLEND_COLOR_NO_CROSS,
- gcvSURF_BLEND_COLOR_INVERSED_NO_CROSS,
- gcvSURF_BLEND_SRC_ALPHA_SATURATED_CROSS
- }
- gceSURF_BLEND_FACTOR_MODE;
- /* Alpha blending porter duff rules. */
- typedef enum _gce2D_PORTER_DUFF_RULE
- {
- gcvPD_CLEAR = 0,
- gcvPD_SRC,
- gcvPD_SRC_OVER,
- gcvPD_DST_OVER,
- gcvPD_SRC_IN,
- gcvPD_DST_IN,
- gcvPD_SRC_OUT,
- gcvPD_DST_OUT,
- gcvPD_SRC_ATOP,
- gcvPD_DST_ATOP,
- gcvPD_ADD,
- gcvPD_XOR,
- gcvPD_DST
- }
- gce2D_PORTER_DUFF_RULE;
- /* Alpha blending factor modes. */
- typedef enum _gce2D_YUV_COLOR_MODE
- {
- gcv2D_YUV_601= 0,
- gcv2D_YUV_709,
- gcv2D_YUV_USER_DEFINED,
- gcv2D_YUV_USER_DEFINED_CLAMP,
- /* Default setting is for src. gcv2D_YUV_DST
- can be ORed to set dst.
- */
- gcv2D_YUV_DST = 0x80000000,
- }
- gce2D_YUV_COLOR_MODE;
- typedef enum _gce2D_COMMAND
- {
- gcv2D_CLEAR = 0,
- gcv2D_LINE,
- gcv2D_BLT,
- gcv2D_STRETCH,
- gcv2D_HOR_FILTER,
- gcv2D_VER_FILTER,
- gcv2D_MULTI_SOURCE_BLT,
- gcv2D_FILTER_BLT,
- }
- gce2D_COMMAND;
- typedef enum _gce2D_TILE_STATUS_CONFIG
- {
- gcv2D_TSC_DISABLE = 0,
- gcv2D_TSC_ENABLE = 0x00000001,
- gcv2D_TSC_COMPRESSED = 0x00000002,
- gcv2D_TSC_DOWN_SAMPLER = 0x00000004,
- gcv2D_TSC_2D_COMPRESSED = 0x00000008,
- gcv2D_TSC_TPC_COMPRESSED = 0x00000010,
- }
- gce2D_TILE_STATUS_CONFIG;
- typedef enum _gce2D_QUERY
- {
- gcv2D_QUERY_RGB_ADDRESS_MIN_ALIGN = 0,
- gcv2D_QUERY_RGB_STRIDE_MIN_ALIGN,
- gcv2D_QUERY_YUV_ADDRESS_MIN_ALIGN,
- gcv2D_QUERY_YUV_STRIDE_MIN_ALIGN,
- }
- gce2D_QUERY;
- typedef enum _gce2D_SUPER_TILE_VERSION
- {
- gcv2D_SUPER_TILE_VERSION_V1 = 1,
- gcv2D_SUPER_TILE_VERSION_V2 = 2,
- gcv2D_SUPER_TILE_VERSION_V3 = 3,
- }
- gce2D_SUPER_TILE_VERSION;
- typedef enum _gce2D_STATE
- {
- gcv2D_STATE_SPECIAL_FILTER_MIRROR_MODE = 1,
- gcv2D_STATE_SUPER_TILE_VERSION,
- gcv2D_STATE_EN_GAMMA,
- gcv2D_STATE_DE_GAMMA,
- gcv2D_STATE_MULTI_SRC_BLIT_UNIFIED_DST_RECT,
- gcv2D_STATE_PROFILE_ENABLE,
- gcv2D_STATE_XRGB_ENABLE,
- gcv2D_STATE_ARRAY_EN_GAMMA = 0x10001,
- gcv2D_STATE_ARRAY_DE_GAMMA,
- gcv2D_STATE_ARRAY_CSC_YUV_TO_RGB,
- gcv2D_STATE_ARRAY_CSC_RGB_TO_YUV,
- }
- gce2D_STATE;
- typedef enum _gce2D_STATE_PROFILE
- {
- gcv2D_STATE_PROFILE_NONE = 0x0,
- gcv2D_STATE_PROFILE_COMMAND = 0x1,
- gcv2D_STATE_PROFILE_SURFACE = 0x2,
- gcv2D_STATE_PROFILE_ALL = 0xFFFF,
- }
- gce2D_STATE_PROFILE;
- /* Texture object types */
- typedef enum _gceTEXTURE_TYPE
- {
- gcvTEXTURE_UNKNOWN = 0,
- gcvTEXTURE_1D,
- gcvTEXTURE_2D,
- gcvTEXTURE_3D,
- gcvTEXTURE_CUBEMAP,
- gcvTEXTURE_1D_ARRAY,
- gcvTEXTURE_2D_ARRAY,
- gcvTEXTURE_EXTERNAL
- }
- gceTEXTURE_TYPE;
- #if gcdENABLE_3D
- /* Texture functions. */
- typedef enum _gceTEXTURE_FUNCTION
- {
- gcvTEXTURE_DUMMY = 0,
- gcvTEXTURE_REPLACE = 0,
- gcvTEXTURE_MODULATE,
- gcvTEXTURE_ADD,
- gcvTEXTURE_ADD_SIGNED,
- gcvTEXTURE_INTERPOLATE,
- gcvTEXTURE_SUBTRACT,
- gcvTEXTURE_DOT3
- }
- gceTEXTURE_FUNCTION;
- /* Texture sources. */
- typedef enum _gceTEXTURE_SOURCE
- {
- gcvCOLOR_FROM_TEXTURE = 0,
- gcvCOLOR_FROM_CONSTANT_COLOR,
- gcvCOLOR_FROM_PRIMARY_COLOR,
- gcvCOLOR_FROM_PREVIOUS_COLOR
- }
- gceTEXTURE_SOURCE;
- /* Texture source channels. */
- typedef enum _gceTEXTURE_CHANNEL
- {
- gcvFROM_COLOR = 0,
- gcvFROM_ONE_MINUS_COLOR,
- gcvFROM_ALPHA,
- gcvFROM_ONE_MINUS_ALPHA
- }
- gceTEXTURE_CHANNEL;
- #endif /* gcdENABLE_3D */
- /* Filter types. */
- typedef enum _gceFILTER_TYPE
- {
- gcvFILTER_SYNC = 0,
- gcvFILTER_BLUR,
- gcvFILTER_USER
- }
- gceFILTER_TYPE;
- /* Filter pass types. */
- typedef enum _gceFILTER_PASS_TYPE
- {
- gcvFILTER_HOR_PASS = 0,
- gcvFILTER_VER_PASS
- }
- gceFILTER_PASS_TYPE;
- /* Endian hints. */
- typedef enum _gceENDIAN_HINT
- {
- gcvENDIAN_NO_SWAP = 0,
- gcvENDIAN_SWAP_WORD,
- gcvENDIAN_SWAP_DWORD
- }
- gceENDIAN_HINT;
- /* Tiling modes. */
- typedef enum _gceTILING
- {
- gcvINVALIDTILED = 0x0, /* Invalid tiling */
- /* Tiling basic modes enum'ed in power of 2. */
- gcvLINEAR = 0x1, /* No tiling. */
- gcvTILED = 0x2, /* 4x4 tiling. */
- gcvSUPERTILED = 0x4, /* 64x64 tiling. */
- gcvMINORTILED = 0x8, /* 2x2 tiling. */
- /* Tiling special layouts. */
- gcvTILING_SPLIT_BUFFER = 0x100,
- /* Tiling combination layouts. */
- gcvMULTI_TILED = gcvTILED
- | gcvTILING_SPLIT_BUFFER,
- gcvMULTI_SUPERTILED = gcvSUPERTILED
- | gcvTILING_SPLIT_BUFFER,
- }
- gceTILING;
- /* 2D pattern type. */
- typedef enum _gce2D_PATTERN
- {
- gcv2D_PATTERN_SOLID = 0,
- gcv2D_PATTERN_MONO,
- gcv2D_PATTERN_COLOR,
- gcv2D_PATTERN_INVALID
- }
- gce2D_PATTERN;
- /* 2D source type. */
- typedef enum _gce2D_SOURCE
- {
- gcv2D_SOURCE_MASKED = 0,
- gcv2D_SOURCE_MONO,
- gcv2D_SOURCE_COLOR,
- gcv2D_SOURCE_INVALID
- }
- gce2D_SOURCE;
- /* Pipes. */
- typedef enum _gcePIPE_SELECT
- {
- gcvPIPE_INVALID = ~0,
- gcvPIPE_3D = 0,
- gcvPIPE_2D
- }
- gcePIPE_SELECT;
- /* Hardware type. */
- typedef enum _gceHARDWARE_TYPE
- {
- gcvHARDWARE_INVALID = 0x00,
- gcvHARDWARE_3D = 0x01,
- gcvHARDWARE_2D = 0x02,
- gcvHARDWARE_VG = 0x04,
- #if gcdMULTI_GPU_AFFINITY
- gcvHARDWARE_OCL = 0x05,
- #endif
- gcvHARDWARE_3D2D = gcvHARDWARE_3D | gcvHARDWARE_2D
- }
- gceHARDWARE_TYPE;
- #define gcdCHIP_COUNT 3
- typedef enum _gceMMU_MODE
- {
- gcvMMU_MODE_1K,
- gcvMMU_MODE_4K,
- } gceMMU_MODE;
- /* User signal command codes. */
- typedef enum _gceUSER_SIGNAL_COMMAND_CODES
- {
- gcvUSER_SIGNAL_CREATE,
- gcvUSER_SIGNAL_DESTROY,
- gcvUSER_SIGNAL_SIGNAL,
- gcvUSER_SIGNAL_WAIT,
- gcvUSER_SIGNAL_MAP,
- gcvUSER_SIGNAL_UNMAP,
- }
- gceUSER_SIGNAL_COMMAND_CODES;
- /* Sync point command codes. */
- typedef enum _gceSYNC_POINT_COMMAND_CODES
- {
- gcvSYNC_POINT_CREATE,
- gcvSYNC_POINT_DESTROY,
- gcvSYNC_POINT_SIGNAL,
- }
- gceSYNC_POINT_COMMAND_CODES;
- /* Shared buffer command codes. */
- typedef enum _gceSHBUF_COMMAND_CODES
- {
- gcvSHBUF_CREATE,
- gcvSHBUF_DESTROY,
- gcvSHBUF_MAP,
- gcvSHBUF_WRITE,
- gcvSHBUF_READ,
- }
- gceSHBUF_COMMAND_CODES;
- /* Event locations. */
- typedef enum _gceKERNEL_WHERE
- {
- gcvKERNEL_COMMAND,
- gcvKERNEL_VERTEX,
- gcvKERNEL_TRIANGLE,
- gcvKERNEL_TEXTURE,
- gcvKERNEL_PIXEL,
- }
- gceKERNEL_WHERE;
- #if gcdENABLE_VG
- /* Hardware blocks. */
- typedef enum _gceBLOCK
- {
- gcvBLOCK_COMMAND,
- gcvBLOCK_TESSELLATOR,
- gcvBLOCK_TESSELLATOR2,
- gcvBLOCK_TESSELLATOR3,
- gcvBLOCK_RASTER,
- gcvBLOCK_VG,
- gcvBLOCK_VG2,
- gcvBLOCK_VG3,
- gcvBLOCK_PIXEL,
- /* Number of defined blocks. */
- gcvBLOCK_COUNT
- }
- gceBLOCK;
- #endif
- /* gcdDUMP message type. */
- typedef enum _gceDEBUG_MESSAGE_TYPE
- {
- gcvMESSAGE_TEXT,
- gcvMESSAGE_DUMP
- }
- gceDEBUG_MESSAGE_TYPE;
- /* Shading format. */
- typedef enum _gceSHADING
- {
- gcvSHADING_SMOOTH,
- gcvSHADING_FLAT_D3D,
- gcvSHADING_FLAT_OPENGL,
- }
- gceSHADING;
- /* Culling modes. */
- typedef enum _gceCULL
- {
- gcvCULL_NONE,
- gcvCULL_CCW,
- gcvCULL_CW,
- }
- gceCULL;
- /* Fill modes. */
- typedef enum _gceFILL
- {
- gcvFILL_POINT,
- gcvFILL_WIRE_FRAME,
- gcvFILL_SOLID,
- }
- gceFILL;
- /* Compare modes. */
- typedef enum _gceCOMPARE
- {
- gcvCOMPARE_INVALID = 0,
- gcvCOMPARE_NEVER,
- gcvCOMPARE_NOT_EQUAL,
- gcvCOMPARE_LESS,
- gcvCOMPARE_LESS_OR_EQUAL,
- gcvCOMPARE_EQUAL,
- gcvCOMPARE_GREATER,
- gcvCOMPARE_GREATER_OR_EQUAL,
- gcvCOMPARE_ALWAYS,
- }
- gceCOMPARE;
- /* Stencil modes. */
- typedef enum _gceSTENCIL_MODE
- {
- gcvSTENCIL_NONE,
- gcvSTENCIL_SINGLE_SIDED,
- gcvSTENCIL_DOUBLE_SIDED,
- }
- gceSTENCIL_MODE;
- /* Stencil operations. */
- typedef enum _gceSTENCIL_OPERATION
- {
- gcvSTENCIL_KEEP,
- gcvSTENCIL_REPLACE,
- gcvSTENCIL_ZERO,
- gcvSTENCIL_INVERT,
- gcvSTENCIL_INCREMENT,
- gcvSTENCIL_DECREMENT,
- gcvSTENCIL_INCREMENT_SATURATE,
- gcvSTENCIL_DECREMENT_SATURATE,
- gcvSTENCIL_OPERATION_INVALID = -1
- }
- gceSTENCIL_OPERATION;
- /* Stencil selection. */
- typedef enum _gceSTENCIL_WHERE
- {
- gcvSTENCIL_FRONT,
- gcvSTENCIL_BACK,
- }
- gceSTENCIL_WHERE;
- /* Texture addressing selection. */
- typedef enum _gceTEXTURE_WHICH
- {
- gcvTEXTURE_S,
- gcvTEXTURE_T,
- gcvTEXTURE_R,
- }
- gceTEXTURE_WHICH;
- /* Texture addressing modes. */
- typedef enum _gceTEXTURE_ADDRESSING
- {
- gcvTEXTURE_INVALID = 0,
- gcvTEXTURE_CLAMP,
- gcvTEXTURE_WRAP,
- gcvTEXTURE_MIRROR,
- gcvTEXTURE_BORDER,
- gcvTEXTURE_MIRROR_ONCE,
- }
- gceTEXTURE_ADDRESSING;
- /* Texture filters. */
- typedef enum _gceTEXTURE_FILTER
- {
- gcvTEXTURE_NONE,
- gcvTEXTURE_POINT,
- gcvTEXTURE_LINEAR,
- gcvTEXTURE_ANISOTROPIC,
- }
- gceTEXTURE_FILTER;
- typedef enum _gceTEXTURE_COMPONENT
- {
- gcvTEXTURE_COMPONENT_R,
- gcvTEXTURE_COMPONENT_G,
- gcvTEXTURE_COMPONENT_B,
- gcvTEXTURE_COMPONENT_A,
- gcvTEXTURE_COMPONENT_NUM,
- } gceTEXTURE_COMPONENT;
- /* Texture swizzle modes. */
- typedef enum _gceTEXTURE_SWIZZLE
- {
- gcvTEXTURE_SWIZZLE_R = 0,
- gcvTEXTURE_SWIZZLE_G,
- gcvTEXTURE_SWIZZLE_B,
- gcvTEXTURE_SWIZZLE_A,
- gcvTEXTURE_SWIZZLE_0,
- gcvTEXTURE_SWIZZLE_1,
- gcvTEXTURE_SWIZZLE_INVALID,
- } gceTEXTURE_SWIZZLE;
- typedef enum _gceTEXTURE_COMPARE_MODE
- {
- gcvTEXTURE_COMPARE_MODE_INVALID = 0,
- gcvTEXTURE_COMPARE_MODE_NONE,
- gcvTEXTURE_COMPARE_MODE_REF,
- } gceTEXTURE_COMPARE_MODE;
- /* Pixel output swizzle modes. */
- typedef enum _gcePIXEL_SWIZZLE
- {
- gcvPIXEL_SWIZZLE_R = gcvTEXTURE_SWIZZLE_R,
- gcvPIXEL_SWIZZLE_G = gcvTEXTURE_SWIZZLE_G,
- gcvPIXEL_SWIZZLE_B = gcvTEXTURE_SWIZZLE_B,
- gcvPIXEL_SWIZZLE_A = gcvTEXTURE_SWIZZLE_A,
- gcvPIXEL_SWIZZLE_INVALID,
- } gcePIXEL_SWIZZLE;
- /* Primitive types. */
- typedef enum _gcePRIMITIVE
- {
- gcvPRIMITIVE_POINT_LIST,
- gcvPRIMITIVE_LINE_LIST,
- gcvPRIMITIVE_LINE_STRIP,
- gcvPRIMITIVE_LINE_LOOP,
- gcvPRIMITIVE_TRIANGLE_LIST,
- gcvPRIMITIVE_TRIANGLE_STRIP,
- gcvPRIMITIVE_TRIANGLE_FAN,
- gcvPRIMITIVE_RECTANGLE,
- }
- gcePRIMITIVE;
- /* Index types. */
- typedef enum _gceINDEX_TYPE
- {
- gcvINDEX_8,
- gcvINDEX_16,
- gcvINDEX_32,
- }
- gceINDEX_TYPE;
- /* Multi GPU rendering modes. */
- typedef enum _gceMULTI_GPU_RENDERING_MODE
- {
- gcvMULTI_GPU_RENDERING_MODE_OFF,
- gcvMULTI_GPU_RENDERING_MODE_SPLIT_WIDTH,
- gcvMULTI_GPU_RENDERING_MODE_SPLIT_HEIGHT,
- gcvMULTI_GPU_RENDERING_MODE_INTERLEAVED_64x64,
- gcvMULTI_GPU_RENDERING_MODE_INTERLEAVED_128x64,
- gcvMULTI_GPU_RENDERING_MODE_INTERLEAVED_128x128
- }
- gceMULTI_GPU_RENDERING_MODE;
- typedef enum _gceCORE_3D_MASK
- {
- gcvCORE_3D_0_MASK = (1 << 0),
- gcvCORE_3D_1_MASK = (1 << 1),
- gcvCORE_3D_ALL_MASK = (0xFFFF)
- }
- gceCORE_3D_MASK;
- typedef enum _gceCORE_3D_ID
- {
- gcvCORE_3D_0_ID = 0,
- gcvCORE_3D_1_ID = 1,
- gcvCORE_3D_ID_INVALID = ~0UL
- }
- gceCORE_3D_ID;
- typedef enum _gceMULTI_GPU_MODE
- {
- gcvMULTI_GPU_MODE_COMBINED = 0,
- gcvMULTI_GPU_MODE_INDEPENDENT = 1
- }
- gceMULTI_GPU_MODE;
- typedef enum _gceMACHINECODE
- {
- gcvMACHINECODE_ANTUTU0 = 0x0,
- gcvMACHINECODE_GLB27_RELEASE_0,
- gcvMACHINECODE_GLB25_RELEASE_0,
- gcvMACHINECODE_GLB25_RELEASE_1,
- gcvMACHINECODE_GLB25_RELEASE_2,
- /* keep it as the last enum */
- gcvMACHINECODE_COUNT
- }
- gceMACHINECODE;
- typedef enum _gceUNIFORMCVT
- {
- gcvUNIFORMCVT_NONE = 0,
- gcvUNIFORMCVT_TO_BOOL,
- gcvUNIFORMCVT_TO_FLOAT,
- } gceUNIFORMCVT;
- typedef enum _gceHAL_ARG_VERSION
- {
- gcvHAL_ARG_VERSION_V1 = 0x0,
- }
- gceHAL_ARG_VERSION;
- typedef enum _gceCMDBUF_TYPE
- {
- /* Contiguous command buffer. */
- gcvCMDBUF_CONTIGUOUS,
- /* Virtual command buffer. */
- gcvCMDBUF_VIRTUAL,
- /* Command buffer allocated from reserved memory. */
- gcvCMDBUF_RESERVED,
- }
- gceCMDBUF_SOURCE;
- typedef enum _gceECO_FALG
- {
- gcvECO_FLAG_MSAA_COHERENCEY = 1 << 0,
- }
- gceECO_FLAG;
- /*
- * Bit of a requirment is 1 means requirement is a must, 0 means requirement can
- * be ignored.
- */
- #define gcvALLOC_FLAG_CONTIGUOUS_BIT 0
- #define gcvALLOC_FLAG_CACHEABLE_BIT 1
- #define gcvALLOC_FLAG_SECURITY_BIT 2
- #define gcvALLOC_FLAG_NON_CONTIGUOUS_BIT 3
- #define gcvALLOC_FLAG_MEMLIMIT_BIT 4
- /* No special needs. */
- #define gcvALLOC_FLAG_NONE (0)
- /* Physical contiguous. */
- #define gcvALLOC_FLAG_CONTIGUOUS (1 << gcvALLOC_FLAG_CONTIGUOUS_BIT)
- /* Can be remapped as cacheable. */
- #define gcvALLOC_FLAG_CACHEABLE (1 << gcvALLOC_FLAG_CACHEABLE_BIT)
- /* Secure buffer. */
- #define gcvALLOC_FLAG_SECURITY (1 << gcvALLOC_FLAG_SECURITY_BIT)
- /* Physical non contiguous. */
- #define gcvALLOC_FLAG_NON_CONTIGUOUS (1 << gcvALLOC_FLAG_NON_CONTIGUOUS_BIT)
- #define gcvALLOC_FLAG_MEMLIMIT (1 << gcvALLOC_FLAG_MEMLIMIT_BIT)
- /* GL_VIV internal usage */
- #ifndef GL_MAP_BUFFER_OBJ_VIV
- #define GL_MAP_BUFFER_OBJ_VIV 0x10000
- #endif
- /* Command buffer usage. */
- #define gcvCOMMAND_2D (1 << 0)
- #define gcvCOMMAND_3D (1 << 1)
- /******************************************************************************\
- ****************************** Object Declarations *****************************
- \******************************************************************************/
- typedef struct _gckCONTEXT * gckCONTEXT;
- typedef struct _gcoCMDBUF * gcoCMDBUF;
- typedef struct _gcsSTATE_DELTA * gcsSTATE_DELTA_PTR;
- typedef struct _gcsQUEUE * gcsQUEUE_PTR;
- typedef struct _gcoQUEUE * gcoQUEUE;
- typedef struct _gcsHAL_INTERFACE * gcsHAL_INTERFACE_PTR;
- typedef struct _gcs2D_PROFILE * gcs2D_PROFILE_PTR;
- #if gcdENABLE_VG
- typedef struct _gcoVGHARDWARE * gcoVGHARDWARE;
- typedef struct _gcoVGBUFFER * gcoVGBUFFER;
- typedef struct _gckVGHARDWARE * gckVGHARDWARE;
- typedef struct _gcsVGCONTEXT * gcsVGCONTEXT_PTR;
- typedef struct _gcsVGCONTEXT_MAP * gcsVGCONTEXT_MAP_PTR;
- typedef struct _gcsVGCMDQUEUE * gcsVGCMDQUEUE_PTR;
- typedef struct _gcsTASK_MASTER_TABLE * gcsTASK_MASTER_TABLE_PTR;
- typedef struct _gckVGKERNEL * gckVGKERNEL;
- typedef void * gctTHREAD;
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif /* __gc_hal_enum_h_ */
|