Pendingchrome9
chrome9 时间:2021-02-01 阅读:(
)
OpenGraphicsProgrammingManualChrome9HCMGraphicsProcessorVX855andVX875PartII:3D/VideoPreliminaryRevision1.
0July29,2009VIATECHNOLOGIES,INC.
CopyrightNotice:Copyright2009VIATechnologiesIncorporated.
CreativeCommonsLicense:Freetocopyanddistribute.
Notallowtomodify.
Retaintheidentityofauthorship.
TrademarkNotices:isaregisteredtrademarkofVIATechnologies,Incorporated.
VX855andVX875mayonlybeusedtoidentifyproductsofVIATechnologies.
WindowsVista,XP,VMRandPlugandPlayareregisteredtrademarksofMicrosoftCorp.
Alltrademarksarethepropertiesoftheirrespectiveowners.
DisclaimerNotice:Nolicenseisgranted,impliedorotherwise,underanypatentorpatentrightsofVIATechnologies,Inc.
VIATechnologiesmakesnowarranties,impliedorotherwise,inregardtothisdocumentandtotheproductsdescribedinthisdocument.
VIATechnologiesassumesnoresponsibilityforanyerrorsinthisdocument.
Furthermore,VIATechnologiesassumesnoresponsibilityfortheuseormisuseoftheinformationinthisdocumentandforanypatentinfringementsthatmayarisefromtheuseofthisdocument.
Theinformationandproductspecificationswithinthisdocumentaresubjecttochangeatanytime,withoutnoticeandwithoutobligationtonotifyanypersonofsuchchange.
Offices:VIATechnologiesIncorporatedTaiwanOffice:1stFloor,No.
531Chung-ChengRoad,Hsin-TienTaipei,TaiwanROCTel:886-2-2218-5452FAX:886-2-2218-5453Homepage:http://www.
via.
com.
twVIATechnologiesIncorporatedUSAOffice:940MissionCourtFremont,CA94539USATel:510-683-3300FAX:510-683-3301or510-687-4654HomePage:http://www.
viatech.
comVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009-i-RevisionHistoryREVISIONHISTORYDocumentReleaseDateRevisionInitials1.
07/29/09InitialpublicreleaseLWVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009iiTableofContentsTABLEOFCONTENTSREVISIONHISTORYITABLEOFCONTENTS.
IILISTOFFIGURESIVLISTOFTABLESIVINTRODUCTION.
1ABOUTTHISPROGRAMMINGGUIDE1SUPPORTINGPRODUCTSANDFEATURES.
3SYSTEMBLOCKDIAGRAM4VIDEODISPLAYREGISTERS5VIDEODISPLAYREGISTERS.
5VIDEODISPLAYENGINEREGISTERDESCRIPTIONS(200-12F0H)8DVD/VIDEOCONTROLREGISTER(3260-326CH)32VIDEOCAPTUREENGINEREGISTERS.
33VIDEOCAPTUREENGINEREGISTERS.
33VIDEOCAPTUREENGINEREGISTERDESCRIPTIONS(300-35FH)35HQVREGISTERS.
42HQVREGISTERS42HQVENGINEREGISTERDESCRIPTIONS(360-3FFH)44COMMANDREGULATOR(CR)REGISTERS.
56MEMORYMAPPEDI/OREGISTERADDRESSSPACES.
56DEFINITIONOFI/OREGISTERS.
57ForWriteMode57HPARATYPE00H:PRIMITIVEVERTEXDATAORVERTEXINDEX.
61HPARATYPE10H:COMMANDSFORCOMMANDREGULATOR.
62Sub-Address(Bits[31:24]):00-7Ch62HPARATYPE11H:COMMANDSFORFRAMEBUFFERSWAPPINGANDCR'SMISCELLANEOUSSETTING69Sub-Address(Bits[31:24]):00-ABh.
69CRREGISTERSIN2DREGISTERSPACE(60-6CH)75CRREGISTERSINVIDEOCONTROLREGISTERSPACE(3260-326CH)763DREGISTERS.
77HPARATYPE00H:PRIMITIVEVERTEXDATAORVERTEXINDEX.
77HPARATYPE01H:ATTRIBUTEOTHERTHANTEXTURE.
78Sub-Address(Bits[31:24]):00-AAh78HPARATYPE02H:ATTRIBUTEOFTEXTURESTAGEN(HPARASUBTYPE:00-0FH)116Sub-Address(Bits[31:24]):00-51h116HPARATYPE02H:ATTRIBUTEOFTEXTURESAMPLESTAGEN(HPARASUBTYPE:20-2FH)124VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009iiiTableofContentsSub-Address(Bits[31:24]):00-51h124HPARATYPE02H:ATTRIBUTEOFTEXTURESTAGEN(HPARASUBTYPE:FEH)128Sub-Address(Bits[31:24]):00-13h128HPARATYPE03H:PALETTE(HPARASUBTYPE:00-22H)138HPARATYPE04H:VERTEXANDPRIMITIVESETTING148Sub-Address(Bits[31:24]):00-AAh148HPARATYPE10H:COMMANDSFORCOMMANDREGULATOR.
166HPARATYPE11H:COMMANDSFORFRAMEBUFFERSWAPPINGANDCR'SMISCELLANEOUSSETTING166VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009ivTableofContentsLISTOFFIGURESFIGURE1.
THECHROME9HCMBLOCKDIAGRAM4LISTOFTABLESTABLE1.
VX855/VX875SERIESCOMPARISONTABLE3TABLE2.
VIDEODISPLAYENGINEREGISTERS5TABLE3.
GRAPHICSHARDWARECOLORCURSOROPERATION.
26TABLE4.
VIDEOCAPTUREENGINE33TABLE5.
HIGHQUALITYVIDEOREGISTERS.
42VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091IntroductionINTRODUCTIONThisdocumentcontainsdetailedgraphicsregistersdescriptionsandothergeneralinformationfortheChrome9HCMgraphicengine.
ThegraphicsregistersfortheChrome9HCMmainfeaturesanditsunderlyingsubsystemsaredescribedexplicitlyinthefollowingchapters.
AboutThisProgrammingGuideTheprogrammingmanualisorganizedinto2volumes(PartI&PartII).
Abriefdescriptionofeachchapterisgivenbelow:PartI:Introduction.
AnoverviewoftheChrome9HCMdesignfeaturesisgiveninthischapter,alongwithblockdiagramandreferencelist.
RegisterOverviewRegisterspecificationsforregisteraddressingandI/Ospacedivisionareshowninthischapter.
PCIInterfaceRegisterDescriptionsPCIinterfacesummarytableanddetailedregisterdescriptionsarepresentedinthischapter.
VGAI/ORegisterDescriptionsThischapterprovidesdetailedVGA-relatedregistersummaryanddescriptions.
ThevariousvideomodessupportbytheChrome9HCMcontrollerarealsoincludedintheconfigurationsection.
2DEngineRegisterDescriptionsInthischapterprovidesdetailed2DEngineregistersummaryanddescriptions.
DMARegisterDescriptionsThischapterprovidesdetailedDMAregistersummaryanddescriptions.
CBURotationRegisterDescriptionsThischapterprovidesdetailedCBUrotationregistersummaryanddescriptions.
LVDSRegisterDescriptionsThischapterprovidesdetailedLVDSregistersummaryanddescriptions.
PartII:VideoDisplayEngineRegisterDescriptionsThischapterprovidesdetailedvideodisplayengineregistersummaryanddescriptions.
VideoCaptureEngineRegisterDescriptionsThischapterprovidesdetailedvideocaptureengineregistersummaryanddescriptions.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20092IntroductionHQVRegisterDescriptionsThischapterprovidesdetailedHQVregistersummaryanddescriptions.
CommandRegulator(CR)RegisterDescriptionsThischapterprovidesdetailedCRregistersummaryanddescriptions.
3DEngineRegisterDescriptionsThischapterprovidesdetailed3DEngineregistersummaryanddescriptions.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20093IntroductionSupportingProductsandFeaturesThisdocumentincludesalltheGFXregistersforVIAVX855andVX875.
PleaserefertoTable1forthespecificationdifferencesofVX855andVX875products.
ThischipintegratesfunctionalmodulesofthetraditionalNorthBridgeandSouthBridgechips,plus3D/2DandVideoProcessors,VideoDecodingAcceleratorandcontrollerforexternaldisplayinterface.
Theregistersetispartitionedintothreeblocks:NorthModule,SouthModuleandGraphicsandVideoModule;ofwhich,NorthModuleandSouthModuleregistersaredescribedinthisSystemProgrammingManualwhilegraphicsandvideoregistersaredescribedintheGraphicsProgrammingGuide.
Table1.
VX855/VX875SeriesComparisonTableProductModelVX855VX875FSBSpeed(MHz)400-800400-533MemoryTypeDDR2-8001.
5V/1.
8VDDR2-6671.
5V/1.
8VSnapshotMemoryYesYesCoreVoltage1.
2V1.
0VPackageDimension27x27mmFCBGA906balls21x21mmFCBGA945ballsVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20094IntroductionSystemBlockDiagramTheblockdiagramfortheChrome9HCMisshownFigure1.
PCIEDownStream266MHz/CBU/DMANBHostBusCammandEngine(CR)128-bit2DVideoProcessor(HQV)SetupEngineRenderingPipelinesVertexCacheTextureEngineTextureCacheCapturePort0/1IGA1IGA2LVDSVideoEngine0/1(Scaler/YUVtoRGB)VideoStreamH/WSpriterH/WCursorGFXStreamMemoryInterfaceUnit(ARB,GTI)VGAGFXControllerNBSequencer(GMINT)3DEngineDisplayEngineCapturePort/TS-InterfaceCRTLCDPanel/MonitorDigitalVisualPort1DVI/TVDACFigure1.
TheChrome9HCMBlockDiagramVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20095VideoDisplayRegistersVIDEODISPLAYREGISTERSThisdocumentprovidesdetailedvideodisplayengineregistersummarytable.
Registerdescriptionsonvideoplayback/blendingenginearefollowedinthesequentsections.
VideoDisplayRegistersTheChrome9HCMGraphicEnginehasanintegratedvideoplaybackandblendingengine.
Thevideoplaybackenginecansimultaneouslysupportuptothreelivevideowindows,andeachvideowindowcanbeindependentlyscaled.
Twoblendingenginessupportthegraphics-to-videoblending,followedbyvideo-to-videoblendingeffect.
Theblendingfactorisfromconstant,alphastreamoriscombinedwithgraphicsdata.
Table2summarizesthevideoplaybackandblendingengineregisters.
Detailregisterdescriptionfollows.
Table2.
VideoDisplayEngineRegistersOffset(Hex)RegisterNameAttributeVideoRelatedEnginesRegisterSpace1(0x00000200~0x000003FF)203-200InterruptFlags&MasksControlRW207-204AddressFlipStatusRO20B-208AlphaWindow/HI(ForSecondDisplay)HorizontalandVerticalLocationStartRW20F-20CAlphaWindowHorizontalandVerticalEnd&HI(ForSecondDisplay)CenterOffsetRW213-210AlphaWindowControlRW217-214CRTStartingAddressRW21B-218TheSecondDisplayStartingAddressRW21F-21CAlphaStreamFrameBufferStrideRW223-220PrimaryDisplayColorKeyRW227-224AlphaWindow&HI(ForSecondDisplay)FrameBufferStartingAddressRW22B-228ChromaKeyLowerBoundRW22F-22CChromaKeyUpperBoundRW233-230VideoStream1ControlRW237-234VideoWindow1FetchCountRW23B-238VideoWindow1FrameBufferYStartingAddress1RW23F-23CVideoWindow1FrameBufferStrideRW243-240VideoWindow1HorizontalandVerticalStartLocationRW247-244VideoWindow1HorizontalandVerticalEndingLocationRW24B-248VideoWindow1FrameBufferYStartingAddress2RW24F-24CVideoWindow1DisplayZoomControlRW253-250VideoWindow1MinifyandInterpolationControlRW257-254VideoWindow1FrameBufferYStartingAddress0RW25B-258Video1FIFODepthandThresholdControlRW25F-25CVideoWindow1HorizontalandVerticalStartingLocationOffsetRW263-260HIControlForSecondDisplayRW267-264TheSecondDisplayColorKeyRW26B-268V3andAlphaWindowFIFOPre-thresholdControlRW26F-26CVideoWindow1DisplayCountOnScreenControlRW273-270HITransparentColorForSecondDisplayRW277-274HIInverseColorForSecondDisplayRW27B-278V3andAlphaWindowFIFODepthandThresholdControlRW27F-27CV3DisplayCountOnScreenControlRW283-280PrimaryDisplaySecondColorKeyRW287-284V1ColorSpaceConversion&EnhancementControl1RWVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20096VideoDisplayRegistersOffset(Hex)RegisterNameAttribute28B-288V1ColorSpaceConversion&EnhancementControl2RW28F-28CReservedRO293-290AlphaWindow/HI(ForPrimaryDisplay)EndingPositionRW297-2943DAGPPauseAddressMMIOPortWO29B-298ComposeOutputModesSelectRW29F-29CV3FrameBufferStartingAddress2RW2A3-2A0V3ControlRW2A7-2A4V3FrameBufferStartingAddress0RW2AB-2A8V3FrameBufferStartingAddress1RW2AF-2ACV3FrameBufferStrideRW2B3-2B0V3HorizontalandVerticalStartRW2B7-2B4V3HorizontalandVerticalEndRW2BB-2B8V3andAlphaWindowFetchCountRW2BF-2BCV3DisplayZoomControlRW2C3-2C0V3Minify&InterpolationControlRW2C7-2C4V3ColorSpaceConversion&EnhancementControl1RW2CB-2C8V3ColorSpaceConversion&EnhancementControl2RW2CF-2CCReservedRO2D3-2D0GraphicsHardwareCursorModeControlRW2D7-2D4GraphicsHardwareCursorPositionRW2DB-2D8GraphicsHardwareCursorOriginRW2DF-2DCGraphicsHardwareCursorBackgroundColorRW2E3-2E0GraphicsHardwareCursorForegroundColorRW2E7-2E4ReservedRO2EB-2E8HIforPrimaryDisplayFIFOControlSignalRW2EF-2ECHIforPrimaryDisplayTransparentcolorRW2F3-2F0HIforPrimaryDisplayControlSignalRW2F7-2F4HIforPrimaryDisplayFrameBufferStartingAddressRW2FB-2F8HIforPrimaryDisplayHorizontalandVerticalStartRW2FF-2FCHIforPrimaryDisplayCenterOffsetRWVideoRelatedEnginesRegisterSpace2(0x00001200~0x000013FF)1203-1200Video1GammaRCorrectionControlRW1207-1204Video1GammaGCorrectionControlRW120B-1208Video1GammaBCorrectionControlRW120F-120CHI(ForPrimaryDisplay)InverseColorRW1223-1220Video3GammaRCorrectionControlRW1227-1224Video3GammaGCorrectionControlRW122B-1228Video3GammaBCorrectionControlRW122F-122CVideo3HorizontalandVerticalStartingLocationOffsetRW127F-1230ReservedRO1283-1280InterruptFlagsandMasksControlRW1287-1284LogicSignatureSettingRW128B-1288ReservedRO128F-128CLogicSignatureAddressResult0RW1293-1290IGA1DisplayPositionCounter0RO1297-1294IGA1DisplayPositionCounter1RO129B-1298IGA1DisplayPositionCounter2RW129F-129CLogicSignatureDataResult0RW12A3-12A0IGA2DisplayPositionCounter0RO12A7-12A4IGA2DisplayPositionCounter1RO12AB-12A8IGA2DisplayPositionCounter2RWVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20097VideoDisplayRegistersOffset(Hex)RegisterNameAttribute12B3-12B0PrimaryDisplayDataColorSpaceConversionandEnhancementControl1RW12B7-12B4PrimaryDisplayDataColorSpaceConversionandEnhancementControl2RW12BB-12B8PrimaryDisplayDataColorSpaceConversionandEnhancementControl3RW12BF-12BCPrimaryDisplayDataColorSpaceConversionandEnhancementControl4RW12FF-12C0ReservedROExtendedVideoEnginesRegisterSpace2(0x00003200~0x000033FF)3260DVD/VideoIDControl326CDVD/VideoWaitControlRegisterNote:1)PortAddress:MB1+OffsetAddressMB1isdeclaredintheregisterwithoffsetaddress17h-14hinthePCIconfigurationspace.
2)Thereisadditionalregisterspacetomatchtheaboveregisterdefinition.
Whenwritearegistertothisspace,itwillbesentto"commandregulator"firstandthenpasstovideodisplayengine.
However,registerreadwillbesameastheoriginalaction.
Therelationshipbetweentheadditionalregisterspaceandoriginalregisterspaceis:(Theadditionalregisteraddress)=(Theoriginalregisteraddress)+16'h2000.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20098VideoDisplayRegistersVideoDisplayEngineRegisterDescriptions(200-12F0h)OffsetAddress:203-200hInterruptFlagsandMasksControlDefaultValue:00000000hBitAttributeDefaultDescription31RW0InterruptEnable0:Disable1:Enable30RW0LVDSSenseInterruptEnable0:Disable1:Enable29RW0Capture0VBICaptureEndInterruptEnable0:Disable1:Enable28RW0Capture0ActiveVideoDataCaptureEndEnable0:Disable1:Enable27RW1C0LVDSSenseInterruptStatus26RW0Capture1VBICaptureEndInterruptEnable0:Disable1:Enable25RW0FirstHQVEngineInterruptEnable0:Disable1:Enable(Referto03D0h)24RW0Capture1ActiveVideoDataCaptureEndEnable0:Disable1:Enable23RW0DMA1TransferDoneInterruptEnable0:Disable1:Enable22RW0DMA1DescriptorDoneInterruptEnable0:Disable1:Enable21RW0DMA0TransferDoneInterruptEnable0:Disable1:Enable20RW0DMA0DescriptorDoneInterruptEnable0:Disable1:Enable19RW0VGAVSYNCInterruptMaskEnable0:Disable1:Enable18RW0MCCompleteFrameInterruptMaskEnable0:Disable1:Enable17RW0SecondaryDisplayVSYNCInterruptEnable0:Disable1:Enable16RW0DVISenseInterruptEnable0:Disable1:Enable15RW1C0SecondaryDisplayVSYNCInterruptsStatus14RW1C0Capture1VBICaptureEndInterruptStatus13RW1C0Capture0VBICaptureEndInterruptStatus12RW1C0Capture0ActiveVideoDataCaptureEndInterruptStatus11RW0SecondHQVEngineInterruptEnable0:Disable1:Enable(Referto13D0hformoredetail.
)10RW0SecondHQVEngineInterruptStatus(Referto13D0hformoredetail.
)9RW1C0FirstHQVEngineInterruptStatus(Referto03D0hformoredetail.
)8RW1C0Capture1ActiveVideoDataCaptureEndInterruptStatus7RW1C0DMA1TransferDoneInterruptStatus6RW1C0DMA1DescriptorDoneInterruptStatus5RW1C0DMA0TransferDoneInterruptStatus4RW1C0DMA0DescriptorDoneInterruptStatus3RW1C0VGAVSYNCInterruptStatus2RW1C0MCCompleteFrameInterruptStatus1RO0VerticalBlankingStatus0RW1C0DVISenseInterruptStatusVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20099VideoDisplayRegistersOffsetAddress:207-204hAddressFlipStatusDefaultValue:00000000hBitAttributeDefaultDescription31:12RO0Reserved11RO0VideoWindow1SWFlipStatus(R)WriteB0+254'hporttoclearthisbit.
10RO0VideoWindow3SWFlipStatus(R)WriteB0+2A4'hporttoclearthisbit.
9:6RO0Reserved5RW1C0CRInterruptStatus4RO0AlphaWindowStartingAddressUpdateStatus0:Updated1:NotyetupdatedItwillbesetaswritesRx224,andbeclearedasstartingaddressisupdated.
3RO0VideoWindow3StartingAddressUpdateStatus0:Updated1:NotyetupdatedItwillbesetaswritesRx2A4,andbeclearedasstartingaddressisupdated.
2RO0IGA2VerticalBlankingStatus1RO0GraphicsStartingAddressUpdateStatus0:Updated1:NotyetupdatedItwillbesetaswritesRx214,andbeclearedasstartingaddressisupdated.
0RO0VideoWindow1StartingAddressUpdateStatus0:Updated1:NotyetupdatedItwillbesetaswritesRx254,andbeclearedasstartingaddressisupdated.
OffsetAddress:20B-208hAlphaWindow/HardwareIcon(HI)HorizontalandVerticalLocationStartDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16WO0DependonHardwareIconEnable(Rx260[0]):WhenRx260[0]=0:Alphawindowhorizontal(X)startinglocationWhenRx260[0]=1:Hardwareiconhorizontal(X)startinglocationUnit:Pixel15:11RO0Reserved10:0WO0WhenWrite:DependonHardwareIconEnable(Rx260[0])WhenRx260[0]=0:Alphawindowvertical(Y)startinglocationWhenRx260[0]=1:Hardwareiconvertical(Y)startinglocationUnit:LineWhenRead:GraphicDisplayVerticalLineNumberUnit:LineOffsetAddress:20F-20ChAlphaWindowHorizontalandVerticalLocationEnd/HardwareIcon(HI)CenterOffsetDefaultValue:00000000hBitAttributeDefaultDescription31:27RW0Reserved26:16RW0DependonHardwareIconEnable(Rx260[0])WhenRx260[0]=0:Alphawindowhorizontal(X)endinglocationWhenRx260[0]=1:Hardwareiconhorizontal(X)centeroffsetUnit:Pixel15:11RO0Reserved10:0RW0DependonHardwareIconEnable(Rx260[0])WhenRx260[0]=0:bits[10:0]=Alphawindowvertical(Y)endinglocationWhenRx260[0]=1:bits[6:0]=Hardwareiconvertical(Y)enteroffsetUnit:LineVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200910VideoDisplayRegistersOffsetAddress:213-210hAlphaWindowControlDefaultValue:0000FF00hBitAttributeDefaultDescription31:21RO0Reserved20:16RW0AlphaStreamRequestExpireNumberUnit:4Requests15:8RWFFhConstantAlphaFactorSettingForGraphicsBlending7:2RO0Reserved1:0RW00bGraphicsBlendingAlphaSelect(Alpha*VID+(1-Alpha)*GRA)00:Blendingusingconstantalphafactor[15:8]01:Alphaisfromalphastream10:Alphaisfromgraphicsstream11:ReservedOffsetAddress:217-214hCRTStartingAddressShadowDefaultValue:00000000hBitAttributeDefaultDescription31RW0IGA1DownScalingFlipAddressequivalentto3X5.
EC[1]30RW0IGA1DownScalingLineFlipEnable29RO0Reserved28:0RW0PrimaryDisplayStartingAddressorIGA1DownScalingSourceStartingAddress(Validwhen3X5.
EC[0]=1)Addressequivalentto:3X5.
48[4:0]3X5.
34[7:0]3X5.
0C[7:0]3X5.
0D[7:0]Note:Inmonochromemode,the"X"intheabovetablestandsfor"B".
Incolormode,the"X"intheabovetablestandsfor"D".
OffsetAddress:21B-218hTheSecondDisplayStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31:29RO0DisplayAddressSelection00:S.
L.
Othersarenotsupported28:3RW0TheSecondDisplayStartingAddressorIGA2DownScalingSourceStartingAddress(Validwhen3X5.
E8[4]=1)Unit:8bytes2RO0Reserved1RW0IGA2DownScalingLineFlipEnable0RW0IGA2DownScalingFlipAddressequivalentto3X5.
E8[5].
Note:Thisregistershouldbethesamewith3X5.
5E,5Dand5Cregisters.
OffsetAddress:21F-21ChAlphaStreamFrameBufferStrideDefaultValue:00000000hBitAttributeDefaultDescription31:13RO0Reserved12:4RW0AlphaStreamFrameBufferStrideUnit:16bytes3:0RO0ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200911VideoDisplayRegistersOffsetAddress:223-220hPrimaryDisplayColorKeyDefaultValue:00000000hBitAttributeDefaultDescription31RW0CRTColorKeyForRGB10colormode[29]30RW0CRTColorKeyEnable0:Disable1:Enable29RW0CRTColorKeyInverseControl0:Displayvideoifcolorkeymatches1:Displayvideoifcolorkeydoesnotmatch28:0RW0CRTColorKeyBits[28:0]:ForRGB10colormode[28:0]Bits[23:0]:For32-bittruecolormodeBits[15:0]:For565highcolormodeBits[14:0]:For555highcolormodeBits[7:0]:For256colormodeOffsetAddress:227-224hAlphaWindow/HardwareIconFrameBufferStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31RO0Reserved30:29RW00bTargetofFrameBufferStartingAddress00:S.
L.
01:S.
F.
10:Reserved11:L.
L.
28:4RW0DependOnHardwareIconEnable(Rx260[0])0:Framebufferstartingaddressforalphawindow1:FramebufferstartingaddressforhardwareiconUnit:16bytes3:0RO0ReservedOffsetAddress:22B-228hChromaKeyLowerBoundDefaultValue:00000000hBitAttributeDefaultDescription31RW0ChromaKeyLowerforY/GBit[1]30RW0ChromaKeyEnable0:Disable1:Enable29RW0ChromaKeyInverseControl0:Displayvideoifchromakeydoesnotmatch1:Displayvideoifchromakeymatches28:0RW0ChromaKeyLower{[23:16],[31],[28]}:Y/G{[15:8],[27:26]}:U/R{[7:0],[25:24]}:V/BOffsetAddress:22F-22ChChromaKeyUpperBoundDefaultValue:00000000hBitAttributeDefaultDescription31RO0Reserved30RW0ChromaKeySelect1:Selectvideo30:Selectvideo129:0RO0ChromaKeyUpper{[23:16],[29:28]}Y/G{[15:8],[27:26]}:U/R{[7:0],[25:24]}:V/BVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200912VideoDisplayRegistersOffsetAddress:233-230hVideoStream1ControlDefaultValue:00000000hBitAttributeDefaultDescription31RW0V1DisplaytoCRTortheSecondDisplay0:CRT1:Seconddisplay30RW0V1WindowPre-fetchEnable29RW0V1WindowGammaFunctionEnable28RW0V1WindowDe-GammaFunctionEnable27RW0V1WindowAdderTileModeEnable26:25RW00bV1FlipControl00:SWflip01:HWflipandtriggledbytheHQVengine.
10:HWflipandtriggledbytheCapturePort0.
11:HWflipandtriggledbytheCapturePort1.
24RW0V1FrametoFieldEnable0:Disable1:EnableIfenabled,thestridewillbe2timesoforiginalvalues.
Thisbitisvalidat1.
Softwareflip.
2.
HQVflip.
3.
Captureframemodeflip.
4.
MCframemodeflip.
23RO0Reserved22RW0V1De-interlaceModeIfenabled,hardwarewilladdonelinetothetopofodd(bottom)field.
0:Disable1:Enable21RW0V1LineFlipOnlyinNonVideoActivePeriodEnable0:Disable1:Enable20:16RW0V1RequestExpireNumber(Unit:4requests)15:10RO0Reserved9RW0DividedV1FlipforHQVEngineVSYNCNumbertoHalfEnable0:Disable1:Enable8RW0V1ColorSpaceConversionDisable0:Enable1:Disable7RW0V1ColorSpaceConversionChromaSignBitsConversion6:5RO0Reserved4:2RW000bV1StreamDataFormat000:YUV422001:RGB32010:RGB15011:RGB16100:YUV411101:RGB10Other:reserved1RO0Reserved0RW0V1Enable0:Disable1:EnableOffsetAddress:237-234hVideoWindow1FetchCountDefaultValue:00000000hBitAttributeDefaultDescription31:30RO0Reserved29:20RW0V1PerLineFetchCountItisequaltono-sizinglinefetchcount/minifytimes.
(Unit:16bytes)19:0RO0ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200913VideoDisplayRegistersOffsetAddress:23B-238hVideoWindow1FetchBufferYStartingAddress1DefaultValue:00000000hBitAttributeDefaultDescription31RO0Reserved30:29RW00bTargetofTheSecondFrameBufferStartingAddress00:S.
L.
01:S.
F.
10:Reserved11:L.
L.
28:3RW0V1PackedModeThesecondframebufferstartingaddress2:0RO0ReservedOffsetAddress:23F-23ChVideoWindow1FrameBufferStrideDefaultValue:00000000hBitAttributeDefaultDescription31:14RO0Reserved13:4RW0V1PackedModeFramebufferstride(Unit:16bytes)3:0RO0ReservedOffsetAddress:243-240hVideoWindow1HorizontalandVerticalStartingLocationDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0VideoWindow1Horizontal(X)StartingLocation(-1).
(Unit:pixel)15:11RO0Reserved10:0RW0VideoWindow1Vertical(Y)StartingLocation(-1).
(Unit:Line)OffsetAddress:247-244hVideoWindow1HorizontalandVerticalEndingLocationDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0VideoWindow1Horizontal(X)EndingLocation(-1).
(Unit:pixel)15:11RO0Reserved10:0RW0VideoWindow1Vertical(Y)EndingLocation(-1).
(Unit:Line)OffsetAddress:24B-248hVideoWindow1FrameBufferYStartingAddress2DefaultValue:00000000hBitAttributeDefaultDescription31RO0Reserved30:29RW00bTargetofTheThirdFrameBufferStartingAddress00:S.
L.
01:S.
F.
10:Reserved11:L.
L.
28:3RW0V1PackedModeThethirdframebufferstartingaddress.
(Unit:16bytes)2:0RO0ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200914VideoDisplayRegistersOffsetAddress:24F-24ChVideoWindow1DisplayZoomControlDefaultValue:00000000hBitAttributeDefaultDescription31RW0VideoWindow1Horizontal(X)ZoomEnable0:Disable1:Enable30:27RO0Reserved26:16RW0VideoWindow1Horizontal(X)ZoomFactor15RW0VideoWindow1Vertical(Y)ZoomEnable0:Disable1:Enable14:10RO0Reserved9:0RW0VideoWindow1Vertical(Y)ZoomFactorOffsetAddress:253-250hVideoWindow1Minify&InterpolationControlDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:24RW000bV1Horizontal(X)MinifyControl000:Nominify;001:Minifybyafactorof2010:Reserved011:Minifybyafactorof4101:Minifybyafactorof8111:Minifybyafactorof16Others:reserved23:19RO0Reserved18:16RW000bV1Vertical(Y)MinifyControl000:Nominify001:Minifybyafactorof2010:Reserved011:Minifybyafactorof4101:Minifybyafactorof8111:Minifybyafactorof16Others:reserved15:3RO0Reserved2RW0V1Luma-onlyInterpolationWhentheVerticalInterpolationIsEnabled0:Onlylumavaluesinterpolated1:AllYUV/YcbCrvaluesinterpolated1RW0V1Horizontal(X)InterpolationModeSelect0:Pixelisreplicated1:Enableinterpolation0RW0V1Vertical(Y)InterpolationModeSelect0:Pixelisreplicated1:EnableinterpolationVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200915VideoDisplayRegistersOffsetAddress:257-254hVideoWindow1FrameBufferYStartingAddress0DefaultValue:00000000hBitAttributeDefaultDescription31RO0V1PlayOdd/EvenFieldControlThisbitisvalidwhenSWPlaybackandFieldBasePictureareselected.
0:Playevenfield1:Playoddfield30:29RO00bTargetofTheFirstFrameBufferStartingAddress00:S.
L.
01:S.
F.
10:Reserved11:L.
L.
28:2RO0V1PackedModeThefirstframebufferstartingaddress.
(Unit:4bytes)1:0RO0ReservedNote:Inpackedmode,wecoulduseRx254[3:2]toget1.
Nominify:4bytesalignment.
Rx254[3:2]arevalid2.
(Minify=2):8bytesalignment.
Rx254[3]isvalid,andRx254[2]isomitted.
3.
(Minify>2):16bytesalignment.
Rx254[3:2]areomitted.
OffsetAddress:25B-258hVideoWindow1FIFODepthandThresholdControlDefaultValue:00000000hBitAttributeDefaultDescription31:24RW0V1FIFOPre-thresholdLetV1issuerequestearly.
Normally,thisvalueisgreaterthanorequaltoV1FIFOthreshold(Rx258[15:8]).
(Unit:level)23:26RO0Reserved15:8RW0V1FIFOThresholdLetV1requestpriorityfromlowtohigh.
(Unit:level)7:0RW0V1FIFODepth(-1)(Unit:level)Note:Onelevelisequalto16bytes.
OffsetAddress:25F-25ChVideoWindow1HorizontalandVerticalStartingLocationOffsetDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0VideoWindow1Horizontal(X)StartingLocationOffset(Unit:16bytes)15:11RO0Reserved10:0RW0VideoWindow1Vertical(Y)StartingLocationOffset(Unit:Line)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200916VideoDisplayRegistersOffsetAddress:263-260hHardwareIcon(HI)Control(OnlyforSecondDisplay)DefaultValue:000F00F0hBitAttributeDefaultDescription31RW0V4DisplayTargetSelect0:DisplaytoCRT1:Displaytosecondarydisplay30RW0V4WindowPre-fetchEnable0Disable1Enable29RW0HI+(1-aplha)*GraphicsMode0Disable1Enable28RW0AlphaValueSourceSelect(OnlyforthetruecolorHardwareicon)0:Frombits[23:16]1:Fromthebits[31:24]ofhardwareicon27:26RW00bHIWindowSize00:32x3201:64x641x:128x128Unit:Pixel*line25:24RW00bHIDataStreamFormat00:RGB55501:RGB56510:RGB3211:RGB1023:20RO0Reserved19:16RWFhHIConstantAlpha[3:0](HIAPA)15:12RW0AlphaChangedValue(HICV)PerFrameAsHIFanIn/OutTurnon(WhenRx260[8]=1)ALPHAn[7:0]=ALPHAn-1[7:0]+/-HICV[3:0],wherejustALPHAn[7:4]isvalidalphavalueandALPHA0={HIAPA}.
11:10RW0DMA1DescriptorDoneInterruptEnable0:Disable1:Enable9RW0HIFanIn/OutSelector0:Default1:Fanin(+)8RW0HIFanIn/OutEnable0:Disable1:Enable7:4RWFhHIConstantAlpha[7:4](HIAPA)Therestbitsareputon[19:16].
3RO0Reserved2RW0HIBlendingEnable0:Disable1:Enable1RO0Reserved0RW0HIEnable0:Disable1:EnableVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200917VideoDisplayRegistersOffsetAddress:267-264hTheSecondDisplayColorKeyDefaultValue:00000000hBitAttributeDefaultDescription31RW0TheSecondDisplayColorKeyBit[29]ForRGB10TrueColorModeSeealsobits[28:0]fordetail.
30RW0SecondDisplayColorKeyEnable0:Disable1:Enable29RW0SecondDisplayColorKeyInverseControl0:Displayvideoifcolorkeymatches1:Displayvideoifcolorkeydoesnotmatch28:0RW0TheSecondDisplayColorKeyBits[31,28:0]:ForRGB10truecolormodeBits[23:0]:For32-bittruecolormodeBtis[15:0]:For565highcolormodeBits[14:0]:For555highcolormodeBits[7:0]:For256colormodeOffsetAddress:26B-268hV3andAlphaWindowFIFOPre-ThresholdControlDefaultValue:00000000hBitAttributeDefaultDescription31:23RO0Reserved22:16RW0AlphaWindowFIFOPre-thresholdLetalphaengineissuerequestearly.
ThisvalueisnormallygreaterthanorequaltothealphaengineFIFOthreshold(Rx278[30:24]).
Unit:Level15:8RO0Reserved7:0RW0V3FIFOPre-thresholdLetV3issuerequestearly.
ThisvalueisnormallygreaterthanorequaltoV3FIFOthreshold(Rx278[15:8]).
Unit:LevelOffsetAddress:26F-26ChVideoWindow1DisplayCountOnScreenControlDefaultValue:00000000hBitAttributeDefaultDescription31:28RO0Reserved27:26RW0V1VerticalLineCountThatShowsOnScreen(Unit:Line)25:12RO0Reserved11:0RW0V1HorizontalPixelCountThatShowsOnScreen(-1)(Unit:Pixel)OffsetAddress:273-270hHardwareIcon(HI)TransparentColor(OnlyForSecondDisplay)DefaultValue:00000000hBitAttributeDefaultDescription31:30RO0Reserved29:0RW0HITransparentColorBits[29:0]:ForRGB10Bits[23:0]:ForRGB32Bits[15:0]:ForRGB565Bits[14:0]:ForRGB555VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200918VideoDisplayRegistersOffsetAddress:277-274hHardwareIcon(HI)InverseColor(OnlyForSecondDisplay)DefaultValue:00000000hBitAttributeDefaultDescription31:30RO0Reserved29:0RW0HIInverseColorBits[29:0]:ForRGB10Bits[23:0]:ForRGB32Bits[15:0]:ForRGB565Bits[14:0]:ForRGB555OffsetAddress:27B-278hV3andAlphaWindowFIFODepthandThresholdContorlDefaultValue:00000000hBitAttributeDefaultDescription31RO0Reserved30:24RW0AlphaWindowFIFOThresholdUnit:Level23RO0Reserved22:16RW0AlphaWindowFIFODepth(-1)Unit:Level15:8RW0VideoWindow3FIFOThresholdUnit:Level7:0RW0VideoWindow3FIFODepth(-1)Unit:LevelNote:Onelevelisequalto16bytes.
OffsetAddress:27F-27ChVideoWindow3DisplayCountOnScreenControlDefaultValue:00000000hBitAttributeDefaultDescription31:28RO0Reserved27:26RW0V3VerticalLineCountThatShowsOnScreen(Unit:Line)15:12RO0Reserved11:0RW0V1HorizontalPixelCountThatShowsOnScreen(-1)(Unit:Pixel)OffsetAddress:283-280hPrimaryDisplaySecondColorKeyDefaultValue:00000000hBitAttributeDefaultDescription31RO0Reserved30RW0CRTColorKeyEnable0:Disable1:Enable29RW0CRTColorKeyInverseControl0:Displayvideoifcolorkeymatches1:Displayvideoifcolorkeydoesnotmatch28:24RO0Reserved23:0RW0PrimaryDisplayColorKeyBits[23:0]:For32-bittruecolormodeBits[15:0]:For565highcolormodeBits[14:0]:For555highcolormodeBits[7:0]:For256colormodeVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200919VideoDisplayRegistersOffsetAddress:287-284hVideoWindow1ColorSpaceConversionandEnhancementControl1DefaultValue:00000000hBitAttributeDefaultDescription31RW0SDTV(BT601)CoefficientEnable0:Disable1:Enable30RW0HDTV(BT709)CoefficientEnable0:Disable1:Enable29RO0Reserved28:24RW0CoefficientAX.
XXXXFrom0to1.
937523:22RO0Reserved21:16RW0CoefficientB1SXX.
XXXS=1:negative,S=0:positive;from–2.
125to2.
125.
15:14RO0Reserved13:8RW0CoefficientC1SXX.
XXXS=1:negative,S=0:positive;from–2.
125to2.
125.
7:0RW0CoefficientD2'scomplementinteger;from-128to127.
Note:R=AY+B1Cb+C1Cr+DOffsetAddress:28B-288hVideoWindow1ColorSpaceConversionandEnhancementControl2DefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:24RW0CoefficientB2SX.
XXXS=1:negative,S=0positive;from–1.
875to1.
875.
23:21RO0Reserved20:16RW0CoefficientC2SX.
XXXS=1:negative,S=0positive;from–1.
875to1.
875.
15:14RO0Reserved13:8RW0CoefficientB3SXX.
XXXS=1:negative,S=0positive;from–3.
875to3.
875.
7:6RO0Reserved5:0RW0CoefficientC3SXX.
XXXS=1:negative,S=0positive;from–3.
875to3.
875.
Note:G=AY+B2Cb+C2Cr+DB=AY+B3Cb+C3Cr+DOffsetAddress:28F-28Ch–ReservedOffsetAddress:293-290hAlphaWindow/HardwareIcon(ForPrimaryDisplay)EndingPositionDefaultValue:00000000hBitAttributeDefaultDescription31:28RO0Reserved27:16RW0HardwareIconHorizontal(X)EndingPosition15:11RO0Reserved10:0RW0HardwareIconVertical(Y)EndingPositionUnit:LineOffsetAddress:297-294h3DAGPPauseAddressMMIOPortDefaultValue:00000000hBitAttributeDefaultDescription31:0RW03DAGPPauseAddressMMIOPortVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200920VideoDisplayRegistersOffsetAddress:29B-298hComposeOutputModeSelectDefaultValue:03000000hBitAttributeDefaultDescription31RW0Video1CommandEnd,V1LoadNewRegisterSetting1:FireIfregistersareupdatedtoengine,thisbitwillbeclearedto0andthedefaultissetat0.
30RW0Video3CommandEnd,V3LoadNewRegisterSetting1:FireIfregistersareupdatedtoengine,thisbitwillbeclearedto0andthedefaultissetat0.
29RW0VideoRegisterAlwaysLoadedForhardwaresimulationandthedefaultissetat0.
28RW0VideoRegisterLoadedatVerticalBlankingWithoutWaitingSourceFlipNeedtowritebit[31]orbit[30]anddefaultissetat0.
27RW0Video3RegisterAlwaysLoadedForhardwaresimulationandthedefaultissetat0.
26RW0Video3RegisterLoadedatVerticalBlankingWithoutWaitingSourceFlipNeedtowritebit[31]orbit[30]anddefaultissetat0.
25:24RW11bInterpolationFIFOClockSelect00:Notinuse01:V1HDTV10:V3HDTV11:V1SDTVandV3SDTV23:21RO0Reserved20RW0VideoOutputOverlapControl0:V1isontop1:V3isontop19:8RO0Reserved7RW0MCKBypassEnable0:Disable1:Enable6RO0Reserved5RW0BypassLCDHorizontalMagnifyFunction4RW0BypassLCDVerticalMagnifyFunction3RW0Video3LineFlipEnable0:Disable1:Enable2RW0Video1LineFlipEnable0:Disable1:Enable1RO0Reserved0RW0Video1RoundControlEnable0:Disable1:EnableOffsetAddress:29F-29ChVideoWindow3FrameBufferStartingAddress2DefaultValue:00000000hBitAttributeDefaultDescription31RO0Reserved30:29RW00bTargetofTheThirdFrameBufferStartingAddress00:S.
L.
01:S.
F.
10:Reserved11:L.
L.
28:3RW0TheThirdFrameBufferStartingAddressofV3Unit:16bytes2:0RO0ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200921VideoDisplayRegistersOffsetAddress:2A3-2A0hVideoStream3ControlDefaultValue:00000000hBitAttributeDefaultDescription31RO0Reserved30RW0V3WindowPre-fetchEnable0:Disable1:Enable29RW0V3WindowGammaFunctionEnable0:Disable1:Enable28:27RO0Reserved26:25RW00bV3FlipControl00:SWflip01:HWflipandtriggeredbytheHQVengine10:Reserved10:HWflipandtriggeredbytheCapturePort011:Reserved11:HWflipandtriggeredbytheCapturePort124RW0V3FrametoFieldEnable0:Disable1:EnableIfenabled,thestridewillbe2timesoforiginalvalues.
ThisbitisvalidwhensoftwarefliporHQVflip.
23RO0Reserved22RW0V3De-interlaceMode0:Disable1:EnableIfenabled,hardwarewilladdonelinetothetopofodd(bottom)field.
21RW0V3LineFlipOnlyinNonVideoActivePeriodEnable0:Disable1:Enable20:16RW0V3RequestExpireNumberUnit:4requests15:10RO0Reserved9RW0DividedV3FlipforHQVEngineVSYNCNumbertoHalf0:Disable1:Enable8RW0V3ColorSpaceConversion0:Enable1:Disable7RW0V3ColorSpaceConversionChromaSignBitsConversion0:Normal1:Inverse6:5RO0Reserved4:2RW000bV3StreamDataFormatx00:YUV422001:RGB32x10:RGB15011:RGB16Others:Reserved1RO0Reserved0RW0V3Enable0:Disable1:EnableOffsetAddress:2A7-2A4hVideoWindow3FrameBufferStartingAddress0DefaultValue:00000000hBitAttributeDefaultDescription31RW0V3PlayOdd/EvenFieldControlThisbitisvalidwhenSWPlaybackandFieldBasePictureareselected.
0:Playevenfield1:Playoddfield30:29RO00bTargetofTheFirstFrameBufferStartingAddress00:S.
L.
01:S.
F.
10:Reserved11:L.
L.
28:2RW0TheFirstFrameBufferStartingAddressofV3Unit:4bytes1:0RO0ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200922VideoDisplayRegistersOffsetAddress:2AB-2A8hVideoWindow3FrameBufferStartingAddress1DefaultValue:00000000hBitAttributeDefaultDescription31RO0Reserved30:29RW00bTargetofTheSecondFrameBufferStartingAddress00:S.
L.
01:S.
F.
10:Reserved11:L.
L.
28:3RW0TheSecondFrameBufferStartingAddressofV3Unit:16bytes2:0RO0ReservedOffsetAddress:2AF-2AChVideoWindow3FrameBufferStrideDefaultValue:00000000hBitAttributeDefaultDescription31:14RO0Reserved13:4RW0V3FrameBufferStrideUnit:16bytes3:0RO0ReservedOffsetAddress:2B3-2B0hVideoWindow3HorizontalandVerticalStartDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0V3Horizontal(X)StartingLocationUnit:Pixel15:11RO0Reserved10:0RW0V3Vertical(Y)StartingLocationUnit:LineOffsetAddress:2B7-2B4hVideoWindow3HorizontalandVerticalEndDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0V3Horizontal(X)EndingLocationUnit:Pixel15:11RO0Reserved10:0RW0V3Vertical(Y)EndingLocationUnit:LineOffsetAddress:2BB-2B8hVideoWindow3andAlphaWindowFetchCountDefaultValue:00000000hBitAttributeDefaultDescription31:30RO0Reserved29:20RW0V3PerLineFetchCountUnit:Pixel19:10RO0Reserved9:0RW0AlphaWindowPerLineFetchCountUnit:LineVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200923VideoDisplayRegistersOffsetAddress:2BF-2BChVideoWindow3DisplayZoomControlDefaultValue:00000000hBitAttributeDefaultDescription31RW0V3Horizontal(X)ZoomEnable0:Disable1:Enable30:27RO0Reserved26:16RW0V3Horizontal(X)ZoomFactor15RW0V3Vertical(Y)ZoomEnable0:Disable1:Enable14:10RO0Reserved9:0RW0V3Vertical(Y)ZoomFactorOffsetAddress:2C3-2C0hVideoWindow3MinifyandInterpolationControlDefaultValue:00000000hBitAttributeDefaultDescription31:27RW0Reserved26:24RW000bV3Horizontal(X)MinifyControl000:Nominify001:Minifybyafactorof2010:Reserved011:Minifybyafactorof4101:Minifybyafactorof8111:Minifybyafactorof16Others:Reserved.
23:19RO0Reserved18:16RW000bV3Vertical(Y)MinifyControl000:Nominify001:Minifybyafactorof2010:Reserved011:Minifybyafactorof4101:Minifybyafactorof8111:Minifybyafactorof16Others:Reserved.
15:3RO0Reserved2RW0V3Luma-onlyInterpolationWhenTheVerticalInterpolationIsEnabled0:Onlylumavaluesinterpolated1:AllYUV/YcbCrvaluesinterpolated1RW0V3Horizontal(X)InterpolationModeSelect0:Pixelisreplicated1:Enableinterpolation0RW0V3Vertical(Y)InterpolationModeSelect0Pixelisreplicated1EnableinterpolationNote:V1andV3cansupportinterpolationsimultaneouslywhenbothvideosourceresolutionsarelowerthan800x600.
Ifanyoneexceedsthe800x600resolution,onlyoneofthemcansupportinterpolation.
Thecontrolbitisdefinedat0x298[25:24].
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200924VideoDisplayRegistersOffsetAddress:2C7-2C4hVideoWindow3ColorSpaceConversionandEnhancementControl1DefaultValue:00000000hBitAttributeDefaultDescription31RW0SDTV(BT601)CoefficientEnable0:Disable1:Enable30RW0HDTV(BT709)CoefficientEnable0:Disable1:Enable29RO0Reserved28:24RW0CoefficientAX.
XXXXfrom0to1.
937523:22RO0Reserved21:16RW0CoefficientB1SXX.
XXXS=1:negative,S=0:positive;from–2.
125to2.
125.
15:14RO0Reserved13:8RW0CoefficientC1SXX.
XXXS=1:negative,S=0:positive;from–2.
125to2.
125.
7:0RW0CoefficientD[10:3]2'scomplementinteger;from-128to127.
Note:R=AY+B1Cb+C1Cr+DOffsetAddress:2CB-2C8hVideoWindow3ColorSpaceConversionandEnhancementControl2DefaultValue:00000000hBitAttributeDefaultDescription31:29RW0CoefficientD[2:0]2'scomplementinteger;from-128to127.
28:24RW0CoefficientB2SX.
XXXS=1:negative,S=0:positive;from–1.
875to1.
875.
23:21RO0Reserved20:16RW0CoefficientC2SX.
XXXS=1:negative,S=0:positive;from–1.
875to1.
875.
15:14RO0Reserved13:8RW0CoefficientB3SXX.
XXS=1:negative,S=0positive;from0to3.
75.
7:6RO0Reserved5:0RW0CoefficientC3SX.
XXS=1:negative,S=0:positive;from–3.
875to3.
875.
Note:G=AY+B2Cb+C2Cr+D,B=AY+B3Cb+C3Cr+DOffsetAddress:2CF-2CCh–ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200925VideoDisplayRegistersOffsetAddress:2D3-2D0hGraphicHardwareCursorModeControlDefaultValue:00000000hBitAttributeDefaultDescription31RW0MonoCursorDisplayPath0:Primary1:Secondary30:29RW00bTargetofTheHardwareCursorBufferStartingAddress00:S.
L.
01:S.
F.
10:Reserved11:L.
L.
28:26RO0Reserved25:8RW0HardwareCursorBaseAddressUpto64MbytesFor32x32x2pattern:Bits[25:8]definethebaseaddressFor64x64x2pattern:Bits[25:10]definethebaseaddress7:2RO0Reserved1RW0HardwareCursorSize0:64x64x21:32x32x20RW0HardwareCursorEnable0:Disable1:EnableOffsetAddress:2D7-2D4hGraphicHardwareCursorPositionDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HardwareCursorPositionintheX-coordinate15:11RO0Reserved10:0RW0HardwareCursorPositionintheY-coordinateOffsetAddress:2DB-2D8hGraphicHardwareCursorOriginDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HardwareCursorOriginintheX-coordinate15:11RO0Reserved10:0RW0HardwareCursorOriginintheY-coordinateOffsetAddress:2DF-2DChGraphicHardwareCursorBackgroundDefaultValue:00000000hBitAttributeDefaultDescription31:24RO0Reserved23:0RW0For256ColorModeBits[7:0]specifyhardwarecursorbackgroundcolorFor555HighColorModeBits[14:0]specifyhardwarecursorbackgroundcolorFor565HighColorModeBits[15:0]specifyhardwarecursorbackgroundcolorFor32-bitsTrueColorModeBits[23:0]specifyhardwarecursorbackgroundcolorVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200926VideoDisplayRegistersOffsetAddress:2E3-2E0hGraphicHardwareCursorForegroundDefaultValue:00000000hBitAttributeDefaultDescription31:24RO0Reserved23:0RW0For256ColorModeBits[7:0]specifyhardwarecursorforegroundcolor.
For555HighColorModeBits[14:0]specifyhardwarecursorforegroundcolor.
For565HighColorModeBits[15:0]specifyhardwarecursorforegroundcolor.
For32-bitsTrueColorModeBits[23:0]specifyhardwarecursorforegroundcolor.
Table3belowshowsthehardwarecolorcursoroperation.
Pleasebenotedthistableisonlyapplicabletothegraphicsmodes.
Forthetextmodes,theVGAregisterscontrolthehardwarecolorcursor.
Table3.
GraphicsHardwareColorCursorOperationPixelOperationANDPlaneXORPlaneChoosegraphicshardwarecolorcursorbackgroundcolor00Choosegraphicshardwarecolorcursorforegroundcolor01Transparent10VGAdataisinverted11OffsetAddress:2E7-2E4h–ReservedOffsetAddress:2EB-2E8hHIFIFODepthandThresholdControl(OnlyForPrimaryDisplay)DefaultValue:00000000hBitAttributeDefaultDescription31:24RW0HIFIFOPre-thresholdLetHIissuerequestearly.
Normally,thisvalueisgreaterthanorequaltoHIFIFOthreshold(Rx2E8[14:8]).
(Unit:Level)23:16RO0Reserved15:8RW0HIFIFOThresholdLetHIrequestpriorityfromlowtohigh.
(Unit:Level)7:0RO0HIFIFODepth(-1)Unit:LevelOffsetAddress:2EF-2EChHardwareIcon(HI)TransparentColor(OnlyForPrimaryDisplay)DefaultValue:00000000hBitAttributeDefaultDescription31:30RO0Reserved29:0RW0HITransparentColorBits[29:0]:ForRGB10Bits[23:0]:ForRGB32Bits[15:0]:ForRGB565Bits[14:0]:ForRGB555VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200927VideoDisplayRegistersOffsetAddress:2F3-2F0hHardwareIcon(HI)Control(OnlyforPrimaryDisplay)DefaultValue:000F00F0hBitAttributeDefaultDescription31RO0Reserved30RW0HIWindowPre-fetchEnable29RW0HWI+(1-aplha)*GraphicsMode0Disable1Enable28RW0AlphaValueComeFromWhereOnlyforthetruecolorhardwareicon.
0:Frombits[7:4]andbits[19:16]1:Fromthebits[31:24]ofhardwareicon27:26RW00bHIWindowSize00:32x3201:64x641x:128x128Unit:Pixelxline25:24RW00bHIDataStreamFormat00:RGB55501:RGB56510:RGB3211:RGB1023:20RO0Reserved19:16RWFhHIConstantAlpha[3:0](HIAPA)15:12RW0AlphaChangedValue(HICV)PerFrameasHIFanIn/OutTurnOn(WhenRx260[8]=1)ALPHAn[7:0]=ALPHAn-1[7:0]+/-HICV[3:0],wherejustALPHAn[7:4]isvalidalphavalueandALPHA0={HIAPA}.
11:10RO0Reserved9RW0HIFanIn/OutSelector0:Default1:Fanin(+)8RW0HIFanIn/OutEnable0:Disable1:Enable7:4RWFhHIConstantAlpha[7:4](HIAPA)Therestbitsareputonbits[19:16].
3RO0Reserved2RW0HIBlendingEnable0:Default1:Enable1RO0Reserved0RW0HIEnable0:Default1:EnableOffsetAddress:2F7-2F4hHardwareIconFrameBufferStartingAddress(OnlyForPrimaryDisplay)DefaultValue:00000000hBitAttributeDefaultDescription31RO0Reserved30:29RW00bTargetofTheFrameBufferStartingAddress00:S.
L.
01:S.
F.
10:Reserved11:L.
L.
28:4RW0FrameBufferStartingAddressforHardwareIconUnit:16bytes3:0RO0ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200928VideoDisplayRegistersOffsetAddress:2FB-2F8hHardwareIcon(HI)HorizontalandVerticalLocationStart(OnlyForPrimaryDisplay)DefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HardwareIconHorizontal(X)StartingLocationUnit:Pixel15:11RO0Reserved10:0RW0HardwareIconVertical(Y)StartingLocationUnit:LineOffsetAddress:2FF-2FChHardwareIcon(HI)CenterOffset(OnlyForPrimaryDisplay)DefaultValue:00000000hBitAttributeDefaultDescription31:23RO0Reserved22:16RW0HardwareIconHorizontal(X)CenterOffsetUnit:Pixel15:7RO0Reserved6:0RW0HardwareIconHorizontal(Y)CenterOffsetUnit:LineOffsetAddress:1203-1200hVideoGammaColorRRegisterforVideo1DefaultValue:00000000hBitAttributeDefaultDescription31:26RO0Reserved25:16RW0ColorValueAfterGammaFunction15:5RO0Reserved4:0RW0ColorIndexNumberforGammaFunctionDivisionOffsetAddress:1207-1204hVideoGammaColorGRegisterforVideo1DefaultValue:00000000hBitAttributeDefaultDescription31:26RO0Reserved25:16RW0ColorValueAfterGammaFunction15:5RO0Reserved4:0RW0ColorIndexNumberforGammaFunctionDivisionOffsetAddress:120B-1208hVideoGammaColorBRegisterforVideo1DefaultValue:00000000hBitAttributeDefaultDescription31:26RO0Reserved25:16RW0ColorValueAfterGammaFunction15:5RO0Reserved4:0RW0ColorIndexNumberforGammaFunctionDivisionOffsetAddress:120F-120ChHardwareIcon(HI)InverseColor(OnlyForPrimaryDisplay)DefaultValue:00000000hBitAttributeDefaultDescription31:30RO0Reserved29:0RW0HIInverseColorBits[29:0]:ForRGB10Bits[23:0]:ForRGB32Btis[15:0]:ForRGB565Bits[14:0]:ForRGB555VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200929VideoDisplayRegistersOffsetAddress:1223-1220hVideoGammaColorRRegisterforVideo3DefaultValue:00000000hBitAttributeDefaultDescription31:26RO0Reserved25:16RW0ColorValueAfterGammaFunction15:5RO0Reserved4:0RW0ColorIndexNumberforGammaFunctionDivisionOffsetAddress:1227-1224hVideoGammaColorGRegisterforVideo3DefaultValue:00000000hBitAttributeDefaultDescription31:26RO0Reserved25:16RW0ColorValueAfterGammaFunction15:5RO0Reserved4:0RW0ColorIndexNumberforGammaFunctionDivisionOffsetAddress:122B-1228hVideoGammaColorBRegisterforVideo3DefaultValue:00000000hBitAttributeDefaultDescription31:26RO0Reserved25:16RW0ColorValueAfterGammaFunction15:5RO0Reserved4:0RW0ColorIndexNumberforGammaFunctionDivisionOffsetAddress:122F-122ChVideoWindow3HorizontalandVerticalStartingLocationOffsetDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0VideoWindow3Horizontal(X)StartingLocationOffset(Unit:16bytes)15:11RO0Reserved10:0RW0VideoWindow3Vertical(Y)StartingLocationOffset(Unit:Line)OffsetAddress:1283-1280hInterruptFlagsandMasksControlDefaultValue:00000000hBitAttributeDefaultDescription31RW1C0MSIPendingInterruptRe-triggerBitWhenSWwantstoexitinterruptservice,pleaseclearthebit.
HWmaysendoutinterruptagainifpendinginterruptexists.
ThefunctionisenabledwhenMSIEnable=1'b1.
30:20RO0Reserved19RW0DMA3TransferDoneInterruptEnable0:Disable1:Enable18RW0DMA3DescriptorDoneInterruptEnable0:Disable1:Enable17RW0DMA2TransferDoneInterruptEnable0:Disable1:Enable16RW0DMA2DescriptorDoneInterruptEnable0:Disable1:Enable15:5RO0Reserved4RW1C0CRTSenseInterruptStatus3RW1C0DMA3TransferDoneInterruptStatus2RW1C0DMA3DescriptorDoneInterruptStatus1RW1C0DMA2TransferDoneInterruptStatus0RW1C0DMA2DescriptorDoneInterruptStatusVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200930VideoDisplayRegistersOffsetAddress:1287-1284hLogicSignatureSettingDefaultValue:00000000hBitAttributeDefaultDescription31:4RO0Reserved3RW0SignatureRDDisableChannel02RW0VSYNCSelectSignalChannel01RW0SignatureEnableChannel0fromT-Arbiter0RW0SignatureEnableChannel0fromP-ArbiterOffsetAddress:128B-1288h–ReservedOffsetAddress:128F-128ChLogicSignatureAdderResult0DefaultValue:00000000hBitAttributeDefaultDescription31:0RW0LogicSignatureAdderResult0OffsetAddress:1293-1290hIGA1DisplayPositionCounter0DefaultValue:00000000hBitAttributeDefaultDescription31:16RO0IGA1DisplayLineCounter15:0RO0IGA1DisplayFrameCounterOffsetAddress:1297-1294hIGA1DisplayPositionCounter1DefaultValue:00000000hBitAttributeDefaultDescription31:16RO0Reserved15:0RO0IGA1DisplayFrameCounterOffsetAddress:129B-1298hIGA1DisplayPositionCounter2DefaultValue:00000000hBitAttributeDefaultDescription31:16RO0Reserved15:0RW0IGA1DisplayFrameCounterEnable0:Disable1:EnableWhenthisbitisdisabled,framecounteralwaysgets16'h0.
OffsetAddress:129F-129ChLogicSignatureDataResult0DefaultValue:00000000hBitAttributeDefaultDescription31:0RW0LogicSignatureDataResult0OffsetAddress:12A3-12A0hIGA2DisplayPositionCounter0DefaultValue:00000000hBitAttributeDefaultDescription31:16RO0IGA2DisplayLineCounter15:0RO0IGA2DisplayFrameCounterVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200931VideoDisplayRegistersOffsetAddress:12A7-12A4hIGA2DisplayPositionCounter1DefaultValue:00000000hBitAttributeDefaultDescription31:16RO0Reserved15:0RO0IGA2DisplayFrameCounterOffsetAddress:12AB-12A8hIGA2DisplayPositionCounter2DefaultValue:00000000hBitAttributeDefaultDescription31:16RO0Reserved15:0RW0IGA2DisplayFrameCounterEnable0:Disable1:EnableWhenthisbitisdisabled,framecounteralwaysgets16'h0.
OffsetAddress:12B3-12B0hPrimaryDisplayDataColorSpaceConversionandEnhancementControl1DefaultValue:00000000hBitAttributeDefaultDescription31:30RO0Reserved29:20RW0A1Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200932VideoDisplayRegistersDVD/VideoControlRegister(3260-326Ch)OffsetAddress:3260hDVD/VideoIDControl-RefertoCRChapter's"CRRegistersinVideoControlRegisterSpace"formoredetailsOffsetAddress:326ChDVD/VideoWaitControl-RefertoCRChapter's"CRRegistersinVideoControlRegisterSpace"formoredetailsVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200933VideoDisplayRegistersVIDEOCAPTUREENGINEREGISTERSThisdocumentprovidesdetailedvideocaptureengineregistersummarytable.
Registerdescriptionsonvideocaptureengineregistersarefollowedinthesequentsections.
VideoCaptureEngineRegistersThesevideocaptureengineregistertablesdocumenttheaddressoffset,registernameandregisterattributeforeachregister.
Table4.
VideoCaptureEngineOffset(Hex)RegisterNameAttributeFirstVideoCaptureEngineRegister303-300CaptureInterruptControlandFlagsRW307-304ReservedRO30B-308TransportStreamControlRW30F-30CReservedRO313-310CaptureInterfaceControlRW317-314ActiveVideoHorizontalRange(CCIR601only)RW31B-318ActiveVideoVerticalRange(CCIR601only)RW31F-31CActiveVideoScalingControlRW323-320VBIDataHorizontalRangeRW327-324VBIDataVerticalRangeRW32B-328FirstVBIBufferStartingAddressRW32F-32CVBIBufferStrideRW333-330AncillaryDataCountSettingRW337-334MaximumDataCountofActiveVideoRW33B-338MaximumDataCountofVBIorANCRW33F-33CCaptureDataCountRO343-340FirstActiveVideoFrameBufferStartingAddressRW347-344SecondActiveVideoFrameBufferStartingAddressRW34B-348ThirdActiveVideoFrameBufferStartingAddressRW34F-34CSecondVBIBufferStartingAddressRW353-350StrideofActiveVideoBufferandCoringFunctionControlRW357-354TSBuffer0ErrorPacketIndicatorRO35B-358TSBuffer1ErrorPacketIndicatorRO35F-35CTSBuffer2ErrorPacketIndicatorROSecondVideoCaptureEngineRegisters(RefertoRx300-35Cregisterdescriptionsfordetail.
)1303-1300CaptureInterruptControlandFlagsRW1307-1304ReservedRO130B-1308TransportStreamControlRW130F-130CReservedRO1313-1310CaptureInterfaceControlRW1317-1314ActiveVideoHorizontalRange(CCIR601only)RW131B-1318ActiveVideoVerticalRange(CCIR601only)RW131F-131CActiveVideoScalingControlRW1323-1320VBIDataHorizontalRangeRW1327-1324VBIDataVerticalRangeRW132B-1328FirstVBIBufferStartingAddressRW132F-132CVBIBufferStrideRW1333-1330AncillaryDataCountSettingRW1337-1334MaximumDataCountofActiveVideoRW133B-1338MaximumDataCountofVBIorANCRW133F-133CCaptureDataCountROVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200934VideoDisplayRegistersOffset(Hex)RegisterNameAttribute1343-1340FirstActiveVideoFrameBufferStartingAddressRW1347-1344SecondActiveVideoFrameBufferStartingAddressRW134B-1348ThirdActiveVideoFrameBufferStartingAddressRW134F-134CSecondVBIBufferStartingAddressRW1353-1350StrideofActiveVideoBufferandCoringFunctionControlRW1357-1354TSBuffer0ErrorPacketIndicatorRO135B-1358TSBuffer1ErrorPacketIndicatorRO135F-135CTSBuffer2ErrorPacketIndicatorRO1360-137CReservedRONote:1)PortAddress:MB1+OffsetAddressMB1isdeclaredintheregisterwithoffsetaddress17h-14hinthePCIconfigurationspace.
2)Thereisadditionalregisterspacetomatchtheaboveregisterdefinition.
Whenacommandiswrittentothatspace,itwillbesentto"commandregulator"firstandthenpasstovideodisplayengine.
However,registerreadwillbethesameastheoriginalaction.
Therelationshipbetweentheadditionalregisterspaceandoriginalregisterspaceis(Theadditionalregisteraddress)=(Theoriginalregisteraddress)+16'h2000VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200935VideoDisplayRegistersVideoCaptureEngineRegisterDescriptions(300-35Fh)OffsetAddress:303-300hCaptureInterruptControlandFlagsDefaultValue:00000000hBitAttributeDefaultDescription31:11RO0Reserved10RW0CurrentWritingVBIBufferID9RW0EndofVBIInterruptEnable8RW0EndofActiveVideoInterruptEnableIfTS(TransportStream)isenabled,itdefinesasTSdataoverabufferinterruptenable.
7RW1C0VideoCapturePortInternalFIFOFullStatus6RO0CurrentActiveVideoInputFieldStatus0:Topfield1:Bottomfield5RO0CurrentInputVsyncStatus0:Verticalblanking1:Activevideo4:3RO0CurrentWritingActiveVideo(orTSData)FrameBufferID2RO0FlippingActiveVideoFieldStatus0:Topfield1:Bottomfield1RW1C0VideoCaptureEnd-of-VBIStatus0RW1C0VideoCaptureEnd-of-ActiveVideoStatusIfTSisenabled,itdefinesasTSdataoverabufferstatus.
OffsetAddress:30B-308hTransportStreamControlDefaultValue:00000000hBitAttributeDefaultDescription31:23RO0Reserved22RW0SerialInputEnable0:EnableparallelTSinput1:EnableserialTSinput21RW0BitAlignmentSerialinputmodeonly0:LSBfirst1:MSBfirst20RW0PacketStartingSignalDisable0:Enable1:Disable19RW0ChangeBufferMode0:Accordingtocountpacketnumber1:Accordingtobytecount18:4RW0Whenbit19=0Packet_Number_Minus_OneThereare(Packet_Number_Minus_One+1)packetsperbuffer.
Whenbit19=1KBytes_CountThereareKBytes_CountKbytesperbuffer.
3:2RW00bMethodtoMoveReceivedTSData0x:CaptureenginewritesdatatoFB(FrameBuffer).
Afterfilledabuffer,itwilltriggeraninterrupttodriver.
10:CaptureenginewritesdatatoFB.
Afterfilledabuffer,itwilltriggeraninterrupttoDMA.
11:CaptureenginecontrolsDMAtomovedata.
(notviaframebuffer)(Inmode=2'b11,setFIFOThresholdRx310[27:24]to1)1RW0DropErrorPacketThisbitisvalidonlywhenTS_DERRpinisavailable0:Writeallreceiveddataout1:Dropthedataoferrorpacket0RW0TransportStreamInputEnable0:Disable1:EnableTurnonthisbitbeforeenablingcaptureengineRx310[0].
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200936VideoDisplayRegistersOffsetAddress:313-310hCaptureInterfaceControlDefaultValue:00000000hBitAttributeDefaultDescription31RW0CaptureCLKEnable0:Disable1:EnableThisbitshouldbeturnedonbeforesettingRx310[0].
30RW0CaptureFIELDSignalOutputInvertedSelect0:Normal1:Inverted29RW0VerticalCountStartingReference0:NegativeedgeofVREF1:PositiveedgeofVREF28RW0HorizontalCountStartingReference0:NegativeedgeofHREF1:PositiveedgeofHREF27:24RW0CaptureFIFOThreshold(Unit:level)Oncethequeuingcaptureddataismorethanthethreshold,itstartstowritedataout.
Unitofthe1stcaptureengineis4-level,theFIFOsizeis64-levelx64-bit.
Unitofthe2ndcaptureengineis2-level,theFIFOsizeis32-levelx64-bit.
23RW0SwitchCaptureClockSourceSincetherearetwocaptureclocksources,usethisbittoswitchit.
InVIP2.
0whileusingtaskbittodifferentiatevideostream,itneedstoswitchtheclocksourceasthesameone.
For1stCaptureEngine:0:Clockfrom1stcaptureCLKpin1:Clockfrom2ndcaptureCLKpinFor2ndCaptureEngine:0:Clockfrom2ndcaptureCLKpin1:Clockfrom1stcaptureCLKpin22RW0CaptureFIELDInputInvertedSelect0:Normal1:Inverted21RW0CaptureHREFInputInvertedSelect0:Normal1:Inverted20RW0CaptureVREFInputInvertedSelect0:Normal1:Inverted19RW0CaptureCLKInputInvertedSelect0:Normal1:Inverted18:16RW000bCaptureHorizontalFilterModeSelect(2P)000:Nofiltering001:2tap(1,1)/2010:3tap(1,2,1)/4011:4tap(1,3,3,1)/8100:5tap(1,2,2,2,1)/8101~111:Reserved15RW0CaptureFlippingControlWhenRx310[13:12]IsSetto2'b110:CaptureengineflipstoHQVorvideoengineaftercapturedaframe.
1:CaptureengineflipstoHQVorvideoengineaftercapturedafield(HQVorVideoshouldsettoframe_to_field).
14RW04:2:2to4:4:4Cb,CrTypeSelect0:Duplication1:Interpolation13:12RW00bCaptureDe-interlaceModeSelect00:Captureoddfieldonly,30fps01:Captureevenfieldonly,30fps10:Captureodd/evenfield,60fps;placeonthesamelocation11:Captureodd/evenfield,30fps;placeininterlacefashiondoublingthestoragespace11RW0InputFIELDSignalEnableIfTSisenabled,itdefinesasTS_DERRsignalenable.
0:Disable1:Enable10RW0VIPType0:VIP1.
1.
VBIdataregionisspecifiedbytaskbit.
1:VIP2.
VBIdataregionisspecifiedbySAV/EAVduringverticalblankingperiod.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200937VideoDisplayRegisters(ContinuedforRx310h)BitAttributeDefaultDescription9:8RW00bByteSwappingControl00:0123(noswap:YUYV)01:1032(C,Yswap:UYVY)10:0321(Cr,Cbswap:YVYU)11:3012(Cr,CbswapandYswap:VYUY)7RW016BitInputLow/HighSwap0:Notinverted1:Low/highbyteinverted6RW0CCIR656-16BitHeaderDecodeMode0:Low8bits1:16bitsall5:4RW00bInputStreamType00:CCIR601,8-bit01:CCIR656,8-bit10:CCIR601,16-bit11:CCIR656,16-bit3RW0VIPEnable0:Disable1:Enable2RW0BufferMode0:Doublebuffers,usestartingaddress1and21:Triplebuffers,usestartingaddress1,2and31RW0BitStreamSelectionofVIP2.
0InVIP2.
0,taskbittodifferentiatevideostream.
Forthe1stcaptureengine:0:Capturethedataoftaskbitis01:Capturethedataoftaskbitis1Forthe2ndcaptureengine:0:Capturethedataoftaskbitis11:Capturethedataoftaskbitis00RW0CaptureEnable0:Disable1:EnableOffsetAddress:317-314hActiveVideoHorizontalRangeDefaultValue:00000000hBitAttributeDefaultDescription31:28RO0Reserved27:16RW0HorizontalEndingCycle(CCIR601only)(Unit:Cycle)15:12RO0Reserved11:0RW0HorizontalStartingCycle(CCIR601only)(Unit:Cycle)OffsetAddress:31B-318hActiveVideoVerticalRangeDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0VerticalEndingLine(CCIR601only)(Unit:Line)15:11RO0Reserved10:0RW0VerticalStartingLine(CCIR601only)(Unit:Line)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200938VideoDisplayRegistersOffsetAddress:31F-31ChActiveVideoScalingControlDefaultValue:00000000hBitAttributeDefaultDescription31:28RO0Reserved26RW0VerticalMinifyEnable0:Disable1:Enable25:16RW0VerticalMinifyFactor15:12RO0Reserved11RW0HorizontalMinifyEnable0:Disable1:Enable10:0RW0HorizontalMinifyFactorOffsetAddress:323-320hVBIDataHorizontalRangeDefaultValue:00000000hBitAttributeDefaultDescription31:28RO0Reserved27:16RW0HorizontalEndingCycle(Unit:Cycle)15:12RO0Reserved11:0RW0HorizontalStartingCycle(Unit:Cycle)OffsetAddress:327-324hVBIDataVerticalRangeDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0VerticalEndingLine(Unit:Line)15:11RO0Reserved10:0RW0VerticalStartingLine(Unit:Line)OffsetAddress:32B-328hFirstVBIBufferStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31RW0VBIDataEnable0:Disable1:Enable30RW0VBIModeSelect0:RangedependsonSAV/EAV1:Capturebyspecificrange(definedbyregister320h,324h)WhenVIPisenabled(Rx310[3]=1),thisbitsettingwouldbeignored,captureVBIdataisdefinedasVIPspec.
29RO0Reserved28:4RW0VBIorANCBuffer0StartingAddress(Unit:16bytes)3:2RO0Reserved1:0RW00bBufferSelection00:S.
L.
01:S.
F.
10:S.
M.
11:L.
L.
OffsetAddress:32F-32ChVBIBufferStrideDefaultValue:00000000hBitAttributeDefaultDescription31:14RO0Reserved13RW0VBIDataPlacementMethod0:Linear,nostrideneeded1:Withstride12:4RW0VBIBufferStride(Unit:16bytes)3:0RO0ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200939VideoDisplayRegistersOffsetAddress:333-330hAncillaryDataCountSettingDefaultValue:00000000hBitAttributeDefaultDescription31:15RO0Reserved14RW0AncillaryDataType0:Type2–00-FF-FF-DID-SDID-NN-….
-….
-CheckSumByte-FillBytes.
Totalcaptureddataare(8Bytes+NN*4Bytes).
1:Type1–00-FF-FF-DID-DBN-NN-….
-….
-CheckSumByte-FillBytes.
Totalcaptureddataare(8Bytes+(DBN+NN)*4Bytes).
13RW0AncillaryDataEnable0:Disable1:Enable12RW0AncillaryDataCountReferenceSelect0:Byheaderdecoder1:Byregister(definebyRx330[11:0])11:0RW0AncillaryDataShouldBeCaptureLength(Unit:Double-word)OffsetAddress:337-334hMaximumDataCountofActiveVideoDefaultValue:00000000hBitAttributeDefaultDescription31:26RO0Reserved26:16RW0MaximumActiveVideoLineCountInAField(Unit:Line)IfTSisenabled,itdefinesasthemaximumTSdatacountofapacket(Unit:Byte).
15:9RO0Reserved8:0RW0MaximumActiveVideoQWCountInALine(Unit:8bytes)OffsetAddress:33B-338hMaximumDataCountofVBIorANCDefaultValue:00000000hBitAttributeDefaultDescription31:26RO0Reserved26:16RW0MaximumVBIorANCLineCountInAField(Unit:Line)15:9RO0Reserved8:0RW0MaximumVBIorANCQWCountInALine(Unit:8bytes)OffsetAddress:33F-33ChCaptureDataCountDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0CurrentActiveVideoLineCounter(Unit:Line)15:13RO0Reserved12:0RW0VBIorANCDataLengthThatHasBeenCaptured(Unit:8bytes)OffsetAddress:343-340hFirstActiveVideoFrameBufferStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:4RW0ActiveVideoFrameBuffer0StartingAddress(Unit:16bytes)IfTSisenabled,itdefinesasframebuffer0startingaddressforTSdata.
3:2RO0Reserved1:0RW00bBufferSelection00:S.
L.
01:S.
F.
10:S.
M.
11:L.
L.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200940VideoDisplayRegistersOffsetAddress:347-344hSecondActiveVideoFrameBufferStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:4RW0ActiveVideoFrameBuffer1StartingAddress(Unit:16bytes)IfTSisenabled,itdefinesasframebuffer1startingaddressforTSdata.
3:2RO0Reserved1:0RW00bBufferSelection00:S.
L.
01:S.
F.
10:S.
M.
11:L.
L.
OffsetAddress:34B-348hThirdActiveVideoFrameBufferStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:4RW0ActiveVideoFrameBuffer2StartingAddress(Unit:16bytes)IfTSisenabled,itdefinesasframebuffer2startingaddressforTSdata.
3:2RO0Reserved1:0RW00bBufferSelection00:S.
L.
01:S.
F.
10:S.
M.
11:L.
L.
OffsetAddress:34F-34ChSecondVBIBufferStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:4RW0VBIorANCBuffer1StartingAddress(Unit:16bytes)3:2RO0Reserved1:0RW00bBufferSelection00:S.
L.
01:S.
F.
10:S.
M.
11:L.
L.
OffsetAddress:353-350hStrideofActiveVideoBuffer&CoringFunctionControlDefaultValue:00000000hBitAttributeDefaultDescription31:24RO0Reserved23RW0CoringFunctionEnable22:16RW0CoringFunctionCompareData(CCD)Ifcoringfunctionisenabled(Rx350[23])and(-(CCD+1)Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200941VideoDisplayRegistersOffsetAddress:357-354hTSBuffer0ErrorPacketIndicatorDefaultValue:00000000hBitAttributeDefaultDescription31RO0LastErrorPacketIndicator0:Lessthanoneerrorpacketinthisbuffer,definedatbits[15:0]1:Morethantwoerrorpackets,thelasterrorpacketIDdefinedatbits[30:16]30:16RO0LastErrorPacketID15RO0FirstErrorPacketIndicator0:Noerrorpacketinthisbuffer1:Morethanoneerrorpacket,thefirsterrorpacketIDdefinedatbits[14:0]14:0RO0FirstErrorPacketIDOffsetAddress:35B-358hTSBuffer1ErrorPacketIndicatorDefaultValue:00000000hBitAttributeDefaultDescription31RO0LastErrorPacketIndicator0:Lessthanoneerrorpacketinthisbuffer,definedatbits[15:0]1:Morethantwoerrorpackets,thelasterrorpacketIDdefinedatbits[30:16]30:16RO0LastErrorPacketID15RO0FirstErrorPacketIndicator0:Noerrorpacketinthisbuffer1:Morethanoneerrorpacket,thefirsterrorpacketIDdefinedatbits[14:0]14:0RO0FirstErrorPacketIDOffsetAddress:35F-35ChTSBuffer2ErrorPacketIndicatorDefaultValue:00000000hBitAttributeDefaultDescription31RO0LastErrorPacketIndicator0:Lessthanoneerrorpacketinthisbuffer,definedatbits[15:0]1:Morethantwoerrorpackets,thelasterrorpacketIDdefinedatbits[30:16]30:16RO0LastErrorPacketID15RO0FirstErrorPacketIndicator0:Noerrorpacketinthisbuffer1:Morethanoneerrorpacket,thefirsterrorpacketIDdefinedatbits[14:0]14:0RO0FirstErrorPacketIDNote:Capturesupports2inputinterfaces;therefore,anadditionalregisterspaceisprovidedtomatchtheaboveregistersdefinition.
AwritetothisadditionalregisterspacewillsendthedatatothesecondCaptureEngine.
Therelationshipbetweentheadditionalregisterspaceandoriginalregisterspaceis(Theadditionalregisteraddress)=(Theoriginalregisteraddress)+16'h1000.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200942HQVRegistersHQVREGISTERSThissectionprovidesdetailedHQVregistersummarytable.
Registerdescriptionsonhighqualityvideoregistersarefollowedinthesequentsections.
HQVRegistersTheseHQVregistertablesdocumenttheI/Oport,I/Oindexandattribute("Attribute")foreachregister.
Table5.
HighQualityVideoRegistersOffset(Hex)RegisterNameAttributeFirstHQV(HighQualityVideo)EngineRegisters363-360HQVColorAdjustmentControl1RW367-364HQVColorAdjustmentControl2RW36B-368HQVColorAdjustmentControl3RW36F-36CHQVColorAdjustmentControl4RW373-370HQVVideoStartPointOffsetControlinSourceRW377-374HQVSub-pictureStartPointOffsetControlinSourceRW37B-378HQVVideoEndPointOffsetControlinSourceRW37F-37CHQVSub-pictureEndPointOffsetControlinSourceRW383-380HQVVideoStartpointOffsetControlinDestinationRW387-384HQVSub-pictureStartPointOffsetControlinDestinationRW38B-388HQVVideoEndPointOffsetControlinDestinationRW38F-38CHQVSub-pictureEndPointOffsetControlinDestinationRW393-390HQVParametersofHardwareTuningPerformance/QualityRW397-394HQVExtendedControlRW39B-398HQVStaticRecordFrameBufferStartingAddressRW39F-39CHQVStaticRecordFrameBufferStrideRW3A3-3A0HQVColorAdjustmentControl5RW3A7-3A4HQVColorAdjustmentControl6RW3AB-3A8HQVColorAdjustmentControl7RW3AF-3ACHQVColorAdjustmentControl8RW3B3-3B0HQVVideoHorizontalScaleControlRW3B7-3B4HQVVideoVerticalScaleControlRW3BB-3B8HQVBackgroundColorRW3BF-3BCHQVSegmentResiduePixelFrameBufferStartingAddressRW3C3-3C0HQVSub-pictureFrameBufferStrideandControlRW3C7-3C4HQVSub-pictureFrameBufferStartingAddressRW3CB-3C8HQVSub-picture4x16RAMTableWriteControlRW3CF-3CCHQVBackgroundOffsetRW3D3-3D0HQVStreamControlandStatusRW3D7-3D4HQVSWSourceBuffer–LumaorPackedStartingAddressRW3DB-3D8HQVSWSourceBuffer–ChromaStartingAddressRW3DF-3DCHQVLinear/TileAddressMode,ColorSpaceConversion,GammaandDe-blockingControlRW3E3-3E0HQVSub-pictureHorizontalScaleControlRW3E7-3E4HQVMotionAdaptiveDe-interlaceControl&ThresholdRW3EB-3E8HQVSub-pictureVerticalScaleControlRW3EF-3ECHQVDestinationFrameBufferStartingAddress0RW3F3-3F0HQVDestinationFrameBufferStartingAddress1RW3F7-3F4HQVDestinationFrameBufferStrideRW3FB-3F8HQVSourceFrameBufferStrideRW3FF-3FCHQVDestinationFrameBufferStartingAddress2RWVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200943HQVRegistersOffset(Hex)RegisterNameAttributeSecondHQVEngineRegisters(RefertoRx360-3FCregisterdescriptionsfordetail)1363-1360HQVColorAdjustmentControl1RW1367-1364HQVColorAdjustmentControl2RW136B-1368HQVColorAdjustmentControl3RW136F-136CHQVColorAdjustmentControl4RW1373-1370HQVVideoStartPointOffsetControlinSourceRW1377-1374HQVSub-pictureStartPointOffsetControlinSourceRW137B-1378HQVVideoEndPointOffsetControlinSourceRW137F-137CHQVSub-pictureEndPointOffsetControlinSourceRW1383-1380HQVVideoStartPointOffsetControlinDestinationRW1387-1384HQVSub-pictureStartPointOffsetControlinDestinationRW138B-1388HQVVideoEndPointOffsetControlinDestinationRW138F-138CHQVSub-pictureEndPointOffsetControlinDestinationRW1393-1390HQVParametersofHardwareTuningPerformance/QualityRW1397-1394HQVExtendedControlRW139B-1398HQVStaticRecordFrameBufferStartingAddressRW139F-139CHQVStaticRecordFrameBufferStrideRW13A3-13A0HQVColorAdjustmentControl5RW13A7-13A4HQVColorAdjustmentControl6RW13AB-13A8HQVColorAdjustmentControl7RW13AF-13ACHQVColorAdjustmentControl8RW13B3-13B0HQVVideoHorizontalScaleControlRW13B7-13B4HQVVideoVerticalScaleControlRW13BB-13B8HQVBackgroundColorRW13BF-13BCHQVSegmentResiduePixelFrameBufferStartingAddressRW13C3-13C0HQVSub-pictureFrameBufferStrideandControlRW13C7-13C4HQVSub-pictureFrameBufferStartingAddressRW13CB-13C8HQVSub-picture4x16RAMTableWriteControlRW13CF-13CCHQVBackgroundOffsetRW13D3-13D0HQVStreamControlandStatusRW13D7-13D4HQVSWSourceBuffer–LumaorPackedStartingAddressRW13DB-13D8HQVSWSourceBuffer–ChromaStartingAddressRW13DF-13DCHQVLinear/TileAddressMode,ColorSpaceConversion,GammaandDe-blockingControlRW13E3-13E0HQVSub-pictureHorizontalScaleControlRW13E7-13E4HQVMotionAdaptiveDe-interlaceControl&ThresholdRW13EB-13E8HQVSub-pictureVerticalScaleControlRW13EF-13ECHQVDestinationFrameBufferStartingAddress0RW13F3-13F0HQVDestinationFrameBufferStartingAddress1RW13F7-13F4HQVDestinationFrameBufferStrideRW13FB-13F8HQVSourceFrameBufferStrideRW13FF-13FCHQVDestinationFrameBufferStartingAddress2RWNote:1)PortAddress:MB1+OffsetAddressMB1isdeclaredintheregisterwithoffsetaddress17h-14hinthePCIconfigurationspace.
2)Thereisanadditionalregisterspacetomatchtheaboveregisterdefinition.
Whenwritearegistertothisspace,itwillbesentto"commandregulator"firstandthenpasstovideodisplayengine.
However,registerreadwillbethesameastheoriginalaction.
Therelationshipbetweentheadditionalregisterspaceandoriginalregisterspaceis(Theadditionalregisteraddress)=(Theoriginalregisteraddress)+16'h2000VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200944HQVRegistersHQVEngineRegisterDescriptions(360-3FFh)OffsetAddress:363-360hHQVColorAdjustmentControl1DefaultValue:00000000hBitAttributeDefaultDescription31:28RO0Reserved27:17RW0CoefficientD1(s[26:18].
[17])(2P)16:0RW0CoefficientC1(s[15:8].
[7:0])(2P)OffsetAddress:367-364hHQVColorAdjustmentControl2DefaultValue:00000000hBitAttributeDefaultDescription31:28RO0Reserved27:17RW0CoefficientD2(s[26:18].
[17])(2P)16:0RW0CoefficientC2(s[15:8].
[7:0])(2P)OffsetAddress:36B-368hHQVColorAdjustmentControl3DefaultValue:00000000hBitAttributeDefaultDescription31:28RO0Reserved27:17RW0CoefficientD3(s[26:18].
[17])(2P)16:0RW0CoefficientC3(s[15:8].
[7:0])(2P)OffsetAddress:36F-36ChHQVColorAdjustmentControl4DefaultValue:00000000hBitAttributeDefaultDescription31:17RO0Reserved16:0RW0CoefficientB1(s[15:8].
[7:0])(2P)OffsetAddress:373-370hHQVVideoStartPointOffsetControlinSourceDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HorizontalOffsetofStartPointforVideoLocationinSourcePictureUnit:Pixel(2P)15:11RO0Reserved10:0RW0VerticalOffsetofStartPointforVideoLocationinSourcePictureUnit:Pixel(2P)OffsetAddress:377-374hHQVSub-pictureStartPointOffsetControlinSourceDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HorizontalOffsetofStartPointforSub-pictureLocationinSourcePictureUnit:Pixel(2P)15:11RO0Reserved10:0RW0VerticalOffsetofStartPointforSub-pictureLocationinSourcePictureUnit:Pixel(2P)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200945HQVRegistersOffsetAddress:37B-378hHQVVideoEndPointOffsetControlinSourceDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HorizontalOffsetofEndPointforVideoLocationinSourcePictureUnit:Pixel(2P)15:11RO0Reserved10:0RW0VerticalOffsetofEndPointforVideoLocationinSourcePictureUnit:Pixel(2P)OffsetAddress:37F-37ChHQVSub-pictureEndPointOffsetControlinSourceDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HorizontalOffsetofEndPointforSub-pictureLocationinSourcePictureUnit:Pixel(2P)15:11RO0Reserved10:0RW0VerticalOffsetofEndPointforSub-pictureLocationinSourcePictureUnit:Pixel(2P)OffsetAddress:383-380hHQVVideoStartPointOffsetControlinDestinationDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HorizontalOffsetofStartPointforVideoLocationInDestinationPictureUnit:Pixel(2P)Eithervideoorsub-picturedestinationdatahorizontaloffsetofstartpointshouldbesettozero.
15:11RO0Reserved10:0RW0VerticalOffsetofStartPointforVideoLocationInDestinationPictureUnit:Line(2P)Eithervideoorsub-picturedestinationdataverticaloffsetofstartpointshouldbesettozero.
OffsetAddress:387-384hHQVSub-pictureStartPointOffsetControlinDestinationDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HorizontalOffsetofStartPointforSub-pictureLocationInDestinationPictureUnit:Pixel(2P)Eithervideoorsub-picturedestinationdatahorizontaloffsetofstartpointshouldbesettozero.
15:11RO0Reserved10:0RW0VerticalOffsetofStartPointforSub-pictureLocationInDestinationPictureUnit:Line(2P)Eithervideoorsub-picturedestinationdataverticaloffsetofstartpointshouldbesettozero.
OffsetAddress:38B-388hHQVVideoEndPointOffsetControlinDestinationDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HorizontalOffsetofEndPointforVideoLocationInDestinationPictureUnit:Pixel(2P)15:11RO0Reserved10:0RW0VerticalOffsetofEndPointforVideoLocationInDestinationPictureUnit:Line(2P)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200946HQVRegistersOffsetAddress:38F-38ChHQVSub-pictureEndPointOffsetControlinDestinationDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0HorizontalOffsetofEndPointforSub-pictureLocationInDestinationPictureUnit:Byte(2P)15:11RO0Reserved10:0RW0VerticalOffsetofEndPointforSub-pictureLocationInDestinationPictureUnit:Line(2P)OffsetAddress:393-390hHQVParametersofHardwareTuningPerformance/QualityDefaultValue:46648688hBitAttributeDefaultDescription31RO0Reserved30:28RW100bThresholdofInter-FieldComplexityforPullDownDetection(x4)Calculatethedifferencebetweencurrent&previousfield.
27RO0Reserved26:25RW11bFactorofCalculatingThresholdofIntra-FieldComplexity00:Threshold=390[30:28]*4+390[30:28]*101:Threshold=390[30:28]*4+390[30:28]*210:Threshold=390[30:28]*4+390[30:28]*311:Threshold=390[30:28]*4+390[30:28]*424:23RO0Reserved22:21RW11bStaticJudgmentNumber(SJN)AsstaticrecordnumberisequaltoSJN,thenstaticflagisasserted20RW0TheFieldNumberforTheIncrementofStaticRecord0:1field/(staticrecord)1:2fields/(staticrecord)19:18RW01bPull-downFactor1Applythisfactorwhilepull-downnotyetdetected.
00:2/801:3/810:4/811:5/817:16RW00bPull-downFactor2Applythisfactorwhilepull-downdetected00:3/801:4/810:5/811:6/815:14RW10bThresholdforPullDownDetection(Rx3DC.
[10:0](1/2originalsize).
Fortheothercases,itjustusesmethod2.
OffsetAddress:39B-398hHQVStaticRecordFrameBufferStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:4RW0StaticRecordFrameBufferStartingAddressUnit:16bytes3:2RO0Reserved1:0RW0MemoryLocationOffsetAddress:39F-39ChHQVStaticRecordFrameBufferStrideDefaultValue:00000000hBitAttributeDefaultDescription31:15RW0CoefficientB2(s[30:23].
[22:15])(2P)14:10RO0Reserved9:4RW0StaticRecordFrameBufferStrideUnit:16bytes3:0RO0ReservedOffsetAddress:3A3-3A0hHQVColorAdjustmentControl5DefaultValue:00000000hBitAttributeDefaultDescription31:17RO0Reserved16:0RW0CoefficientB3(s[15:8].
[7:0])(2P)Note:Y'(R')=A1*Y(R)+B1*Cb(G)+C1*Cr(B)+D1VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200948HQVRegistersOffsetAddress:3A7-3A4hHQVColorAdjustmentControl6DefaultValue:00000000hBitAttributeDefaultDescription31:17RO0Reserved16:0RW0CoefficientA1(s[15:8].
[7:0])(2P)Note:Cb'(G')=A2*Y(R)+B2*Cb(G)+C2*Cr(B)+D2OffsetAddress:3AB-3A8hHQVColorAdjustmentControl7DefaultValue:00000000hBitAttributeDefaultDescription31:17RO0Reserved16:0RW0CoefficientA2(s[15:8].
[7:0])(2P)Note:Cr'(B')=A3*Y(R)+B3*Cb(G)+C3*Cr(B)+D3OffsetAddress:3AF-3AChHQVColorAdjustmentControl8DefaultValue:00000000hBitAttributeDefaultDescription31:17RO0Reserved16:0RW0CoefficientA3(s[15:8].
[7:0])(2P)OffsetAddress:3B3-3B0hHQVVideoHorizontalScaleControlDefaultValue:00000000hBitAttributeDefaultDescription31RW0HorizontalScaleEnable1:Enable(2P)30RO0Reserved29:28RW00bHorizontalScaleFunction(2P)00:Scaleup.
01:1~1/410:1/4-~1/8+11:Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200949HQVRegistersOffsetAddress:3BB-3B8hHQVBackgroundColorDefaultValue:00000000hBitAttributeDefaultDescription31:30RO0Reserved29:20RW0Luma(Y)orRedColorValue19:10RW0Chroma(Cb)orGreenColorValue9:0RW0Chroma(Cr)orBlueColorValueOffsetAddress:3BF-3BChHQVSegmentResiduePixelFrameBufferStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31RO0HQVOutputField30RO0HQVCurrentProcessField1toindicatethebottomfield.
29RO0Reserved28:4RW0SegmentResiduePixelFrameBufferStartingAddressUnit:16bytes3:2RO0HQVCurrentProcessDestinationBufferID1toindicatethebottomfield.
1:0RW0MemoryLocationOffsetAddress:3C3-3C0hHQVSub-pictureFrameBufferStrideandControlDefaultValue:00000000hBitAttributeDefaultDescription31:24RW0MCFlippingCountForMCfliptoHQVpath:ReadonlyForSWflippath:R/WHQVupdatereadoutregisterdataatthebeginningofHQVprocessingaframe.
23:21RO0Reserved20RW0Sub-pictureBlendingOption0:Blendingbeforescaling1:Scalingbeforeblending19RW0Sub-pictureFormat0:AI44orIA441:AYUV(MSBA(8)-Y(8)-U(8)-V(8)LSB)18RW0InverseAlphaValueinAI44Mode1:Inverse(One'sComplement)17RW0Alpha,IndexExchangeinAI44Mode0:AI441:IA4416RW0HQVSub-pictureEnable1:Enable0:DisableOnlyactiveatHQVsourceformatisYUV.
15:14RO0Reserved13:4RW0SubpictureFrameBufferStrideUnit:16bytes3:0RO0ReservedOffsetAddress:3C7-3C4hHQVSub-pictureFrameBufferStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:4RW0Sub-pictureFrameBufferStartingAddress(Unit:16bytes)3:2RO0Reserved1:0RW0MemoryLocationVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200950HQVRegistersOffsetAddress:3CB-3C8hHQVSub-picture4x16RAMTableWriteControlDefaultValue:00000000hBitAttributeDefaultDescription31:8RW0RAMTableWriteDataV:Bits[31:24]U:Bits[23:16]Y:Bits[15:8]7:4RW0RAMTableRead/WriteAddressIndicatewhichentryofpalettetablewillbewrittenorread.
Palettetablecontains16entriesofpalettedata.
(HQV3C8[7:4]=0x0000~HQV3C8[7:4]=0x1111)NeedtoprogramHQV3C8[31:8]andHQV3C8[7:4]16timestofillthesubpicturepalettetable.
3RO0Reserved2RW0VWriteEnable0:Disable1:Enable1RW0UWriteEnable0:Disable1:Enable0RW0YWriteEnable0:Disable1:EnableOffsetAddress:3CF-3CChHQVBackgroundOffsetDefaultValue:00000000hBitAttributeDefaultDescription31:27RO0Reserved26:16RW0BackgroundHorizontalOffset(-1)(Unit:Pixel)15:11RO0Reserved10:0RW0BackgroundVerticalOffset(-1)(Unit:Pixel)OffsetAddress:3D3-3D0hHQVStreamControlandStatusDefaultValue:00000000hBitAttributeDefaultDescription31:28RW0VideoDataStreamFormat[3:0]0000:RGB32–(X8R8G8B8)0001:RGB32–(X2R10G10B10)0010:RGB16–(R5G6B5)0011:RGB15–(X1R5G5B5)0100:YUV444–(X8Y8U8V8)0101:V410–(V10Y10U10X2)1000:YUV422–(V8Y18U8Y08)1001:UYVY–(Y18V8Y08U8)1100:YUV420–(NV12;planarmode)1101:YUV411–(NV11;planarmode:Y38Y28Y18Y08V08U08Y78Y68Y58Y48V18U18)1110:P208–(YUV422planarmode)Others:Reserved27RW0HighQualityVideoEnable0:Disable1:Enable26RW0BufferMode0:Doubledestinationbuffers1:Tripledestinationbuffers25:24RW00bVideoStreamSource[1:0]00:SW01:Reserved10:Capture011:Capture123RW0AdvancedDe-interlaceModeEnable(referencemorethanonefield)22RW0VerticalLowPassFilterEnable0:Disable1:Enable21RO0ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200951HQVRegisters20RW0PlanarModeChrominanceSourceDataFormat0:SourceChrominanceissavedbyframepicture1:SourceChrominanceissavedbyfieldpicture19RW0InverseInputField0:Non-inversed1:Inversed18RW0FrameToField0:Noaction1:Framebasesource,extractafieldfromaframe.
17RW0FieldToFrame0:Noaction1:Fieldsource,de-interlacetoprogressiveframe.
16RO0Reserved15RW0Sub-PictureFlipSoftwarewrites1tothisbitindicatesanewsub-pictureneedtoblend.
Afterblendingcompletes,hardwareclearsitto0.
Softwarecanreadthisbittocheckthestatusifhardwarecompletesblending.
14:13RO0Reserved12RO0HQVFlipFIFOFullStatusTheFIFOdepthdefinedinRx3F8[17:16]11RO0Reserved10:8RO0StateMachineStatusofHQVFlipModule7RW0HQVInterruptEnable0:DisableHQVinterrupt.
1:HQVsendinterruptsignalafterdoneaframeRelativesetting:Rx3D0[0].
6RW0SingleDestinationBuffer0:Notused1:SinglebufferusedRx3D0[26]wouldbeignored.
5RW0FieldofSoftwareSourceInput0:Top1:Bottom4RW0SoftwareSourceFlipSoftwarewrites1toflipaimagetoHQV.
(Rx3D0[25:24]shouldbe00b)Afterprocessingcompletes,hardwareclearsitto0.
Softwarereadsthisbittocheckflipstatus.
3RO0HQVEngineIdleState0:Busy1:Idle2:1RO0HQVOutputBufferIDHQVdestinationbufferID0RW1C0HQVEndofFrameStatus0:Framenotready1:HQVhasbeenoutputanimage.
(Softwarewrites1toclearthisbit)AfterHQVdoneanimage,thisbitwillbepulledhigh,anditwillbepulleddownonlywhentsoftwarewrites1btoit.
OffsetAddress:3D7-3D4hHQVSWSourceBuffer–LumaorPackedStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:4RW0SWSourceBufferYorPackedModeStartingAddress(Unit:16bytes)3:2RO0Reserved1:0RW0MemoryLocationOffsetAddress:3DB-3D8hHQVSWSourceBuffer–ChromaStartingAddressDefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:4RW0SWSourceBufferU,VStartingAddresses(Unit:16bytes)3:2RO0Reserved1:0RW0MemoryLocationVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200952HQVRegistersOffsetAddress:3DF-3DChHQVLinear/TileAddressMode,ColorSpaceConversion,Gamma,De-blockingControlDefaultValue:00000000hBitAttributeDefaultDescription31:30RW00bLinear/TileAddressModeControl(TileaddressisvalidonlyatsourcedatafromMC,3D0[25:24]=01)00:Linear01:256bitsx8tilemode(Addr=SA+(Y[10:3]*PTH*8)+{X[7:1],Y[2:0],X[0]})10:256bitstilemode(Addr=SA+(Y[10:4]*PTH*16)+{X[6:1],Y[3:0],X[0]})11:512bitstilemode(Addr=SA+(Y[10:4]*PTH*16)+{X[6:2],Y[3:0],X[1:0]})WhereunitofXis128-bit;unitofYisline.
29RW0HQVOutputDataPackIn32-bitsMode.
0:16bits(RGB565)1:32bits(RGB888)OnlyvalidwhenthesourceisYUVandcolorspaceconversionisenabled.
28RW0ColorSpaceConversionEnable0:Disable1:Enable27RW0De-blockingEnable26:25RO0Reserved24:20RW0HQVOutputFIFOThresholdforWriteRequestControl(Unit:level)HQVoutputFIFOhas64levels,oncethedatainoutputFIFOtouchthethreshold(32+3DC.
[24:20]),thewriterequestwouldbetriggered.
19:16RO0Reserved15RW0ConstantAlphaofRGB32Format0:Alpha=001:Alpha=FF14RW0EnableSynchronizationFlippingFieldwithInterlacedIGA0:Disable1:Enable13RW0IGAFieldInverse0:Notinversed1:Inverse12:11RO0Reserved10:0RW0ImageSize/1024Usedforpull-downdetection.
OffsetAddress:3E3-3E0hHQVSub-pictureHorizontalScaleControlDefaultValue:00000000hBitAttributeDefaultDescription31RW0HorizontalScaleEnable0:Disable1:Enable30RO0Reserved29:28RW0HorizontalScaleFunction;(2P)00:Scaleup01:1~1/410:1/4-~1/8+11:Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200953HQVRegistersOffsetAddress:3E7-3E4hHQVMotionAdaptiveDe-interlaceControl&ThresholdDefaultValue:00000000hBitAttributeDefaultDescription31RW02:2PullDownSequenceDetectionEnable0:Disable1:EnableRelativesetting:Rx3DC[10:0]30:28RO0Reerved27RW03:2PullDownSequenceDetectionEnable0:Disable1:EnableRelativesetting:Rx3DC[10:0]26:25RO0Reerved24RW02:3:3:2PullDownSequenceDetectionEnable0:Disable1:EnableRelativesetting:Rx3DC[10:0]23:13RO0Reserved12:8RW0MotionDetectionEnable0:Disable1:Enable7RO02:2PullDownDetectionStatus0:Notdetected1:Detected6RO03:2PullDownDetectionStatus0:Notdetected1:Detected5RO02:3:3:2PullDownDetectionStatus0:Notdetected1:Detected4:1RO0Reserved0RW0EdgeDetectionEnable0:Disable1:EnableOffsetAddress:3EB-3E8hHQVSub-pictureVerticalScaleControlDefaultValue:00000000hBitAttributeDefaultDescription31RW0VerticalScaleEnable0:Disable1:Enable30:29RO0Reserved28RW0VerticalScaleFunction;(2P)0:Scaleup1:Scaledown27:17RO0Reserved16:0RW0VerticalScaleFactor[14:12].
[11](2P)Scaleup:source/destinationScaledown:source/(destination+0.
5)OffsetAddress:3EF-3EChHQVDestinationFrameBufferStartingAddress0DefaultValue:00000000hBitAttributeDefaultDescription31RW0HQVOutputDataPackIn32BitsxRGB2-10-10-10FormatAfterHQV'sColorSpaceConversion0:Disbale1:EnableNote:Onlyoneof{Rx3EC[31],Rx3DC[29]}canbesetto1.
30RW0EnableOutputInTileMode0:Disbale1:EnableAddr=ST_ADDR[28:4]+Y[10:3]*{PITCH[10:0],3'b0}+{X[10:1],Y[2:0],X[0]}29RO0Reserved28:4RW0DestinationFrameBufferStartingAddress0Unit:16bytes3:2RO0Reserved1:0RW0MemoryLocationVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200954HQVRegistersOffsetAddress:3F3-3F0hHQVDestinationFrameBufferStartingAddress1DefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:4RW0DestinationFraneBufferStartingAddress1Unit:16bytes3:2RO0Reserved1:0RW0MemoryLocationOffsetAddress:3F7-3F4hHQVDestinationFrameBufferStrideDefaultValue:00000000hBitAttributeDefaultDescription31:14RO0Reserved13:4RW0DestinationFrameBufferStride(2P)Unit:16bytes3:0RO0ReservedOffsetAddress:3FB-3F8hHQVSourceFrameBufferStrideDefaultValue:00000000hBitAttributeDefaultDescription31RW0LoadStartingAddressRx3D4[25:4],Rx3D8[25:4]forAdvancedDe-interlacing0:Notused.
Hardwarekeepsthestartingaddress.
1:LoadstartingaddresstocurrentfieldNote:CommandsequenceStep1:WriteRx3D4,Rx3D8Step2:WriteRx3F8;newaddresstoPNStep3:WriteRx3D4,Rx3D8Step4:WriteRx3F8;PNtoPC;newaddresstoPNStep5:WriteRx3D4,Rx3D8Step6:WriteRx3F8;PCtoPP;PNtoPC;newaddresstoPN30RW0SJNResetWrite1toresetstaticjudgmentnumber29RW0PullDownDetectionLow-ThresholdValue28RW0PullDownDetectionErrorSequenceCheckOneTime0:Disbale1:Enable27:26RW0Reserved25RW0NotCheckSize0:Checksize1:Notchecksize24:21RW0Reserved20RW0SoftwareFlipQueueEnable0:PullRx3D0[4]lowatframedone.
1:PullRx3D0[4]lowatbeginningofprocessingframe19RW0Reserved18RO0Reserved17:16RW00bFIFODepthofHQVFlipControlEngineForhardwarefliponly.
(Rx3D0[25:24]!
=00b)Onlysupports2stagesFIFOqueuinghardwareflipping.
00:Pull"FIFOfullstatusRx3D0[12]"high,whilebothtwostagearequeuing.
Dropcurrentprocessingframewhilebothtwostagearequeuing.
01:Pull"FIFOfullstatusRx3D0[12]"high,whileonestageisqueuing.
Dropcurrentprocessingframewhilebothtwostagearequeuing.
10:Pull"FIFOfullstatusRx3D0[12]"high,whilebothtwostagearequeuing.
Neverdropcurrentprocessingframe.
11:Pull"FIFOfullstatusRx3D0[12]"high,whileonestageisqueuing.
Neverdropcurrentprocessingframe.
15:14RO0Reserved13:4RW0SourceFrameBufferStride(Unit:16bytes)3:0RO0ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200955HQVRegistersOffsetAddress:3FF-3FChHQVDestinationFrameBufferStartingAddress2DefaultValue:00000000hBitAttributeDefaultDescription31:29RO0Reserved28:4RW0DestinationFrameBufferStartingAddress2Unit:16bytes3:2RO0Reserved1:0RW0MemoryLocationNote:HQVsupports2VideoStreams;therefore,anadditionalregisterspaceisprovidedtomatchtheaboveregistersdefinition.
Writingaregistertothisspace,itwillwritetothesecondHQV,whichoutputtoV3andsourceisfromthesecondMCengine.
Therelationshipbetweentheadditionalregisterspaceandtheoriginalregisterspaceis(Theadditionalregisteraddress)=(Theoriginalregisteraddress)+16'h1000.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200956CommandRegulator(CR)RegistersCOMMANDREGULATOR(CR)REGISTERSThischapterprovidesdetailedCommandRegulatorregisterdescriptions.
MemoryMappedI/ORegisterAddressSpacesThefollowingMMIOspaceisfedintoandprocessedbyCR,andthendispatchtorelatedengine.
MemoryRange(Note)Usage0~2M-1:0x00000000~0x000001FF2DEngineRegisterSpace0x00000200~0x000003FFVideoRelatedEnginesRegisterSpace1(bypass)0x00000400~0x000007FF3DEngineRegisterSpace0x00000800~0x00000BFFReserved0x00000C00~0x00000DFFReserved0x00001200~0x000013FFVideoRelatedEnginesRegisterSpace2(bypass)0x00002200~0x000023FFExtendedVideoEnginesRegisterSpace10x00002E00~0x00002FFFDMA(AGP)RegisterSpace20x00003200~0x000033FFExtendedVideoEnginesRegisterSpace22M~4M-12DHostBitBLTSpaceNote:TheseaddressesareoffsetaddressfromPCIMemoryBase1(MB1).
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200957CommandRegulator(CR)RegistersDefinitionofI/ORegistersTheI/ORegisterBaseAddressfor3D/CRis400h.
OffsetsRx1ChtoRx3BhareusedtosetCRregisters.
TheseregistersareallowedtobesetthroughthestartingaddressRx1ChorRx3ChwiththesameHParaType10handHparaType11h.
SettingsthroughRx1Chwouldnotenablethe3DEngineclock,whilesettingsthroughRx3Chwouldenablethe3DEngineclock.
ForWriteModeSettingofCommandRegulatorScopeOffsetDescriptionMnemonic1ChTheBeginningofInternalAddressforParameterProgrammingHParaAdr1DhOffsetSettingforSomeSpecialParameterTypesHParaOS1EhParameterTypeHParaTypeDescription00000000b~00001111bReserved00010000bCommandDecodedinfrontofCommandRegulator00010001bCommandforFrameBufferAutoSwappingandCR'sMiscellaneousSetting00010010b~11111111bReservedFormoredetailsfortheparameters,pleaserefertoDefinitionofParametersection.
HParaTypeTransmissionSetting1FhParameterTypeSub-codeHParaSubType23h-20hParameter0Hpara027h-24hParameter1Hpara12Bh-28hParameter2Hpara2…….
…….
TransmissionSpace3Bh-38hParameter6Hpara6VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200958CommandRegulator(CR)RegistersSettingof3DEngineScopeOffsetDescriptionMnemonic3ChTheBeginningofInternalAddressforParameterProgrammingHParaAdrTransmissionSetting3DhOffsetSettingforSomeSpecialParameterTypesHParaOSVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200959CommandRegulator(CR)RegistersScopeOffsetDescriptionMnemonic3EhParameterTypeHParaTypeDescription00000000bPrimitiveVertexDataorVertexIndex00000001bAttributeOtherThanTexture00000010bAttributeofTexturenThesettingfortextureisdividedinto2kindsofstages:OneisdefinedasTextureStagewithHParaSubType0nh.
nisthenumberstoredinHParaSubType(Rx3Fh):00000000=Texture000000001=Texture100000010=Texture200000011=Texture300000100=Texture400000101=Texture500000110=Texture600000111=Texture700001000=Texture800001001=Texture900001010=TextureA00001011=TextureB00001100=TextureC00001101=TextureD00001110=TextureE00001111=TextureFAnothertypeisTextureSampleStagewithHParaSubType02nh.
nisthenumberstoredinHParaSubType(Rx3Fh):00100000=Texturesample000100001=Texturesample100100010=Texturesample200100011=Texturesample300100100=Texturesample400100101=Texturesample500100110=Texturesample600100111=Texturesample700101000=Texturesample800101001=Texturesample900101010=TexturesampleA00101011=TexturesampleB00101100=TexturesampleC00101101=TexturesampleD00101110=TexturesampleE00101111=TexturesampleF11111110=GeneralTextureSettingTheuseof11111111isprohibited.
Others=Reserved00000011bPaletteHParaSubType(Rx3Fh)showsthepalettetype:00000000=TexturePalette0(OnlyforAI44andIA44VideoTexture)00001xxx=Reserved00010000=BaseAddressOffsetofEachTexture00010001=Texture4X4FilterCoefficientTable00010011=Resreved00010100=StipplePalette00010101=De-GammaTableforReadingTexture00010110=Reserved00010111=Gamma-de-GammaTableforWritingDestinationColor00100000=PixelShaderALUInstruction00100001=PixelShaderTAUInstruction00100010=PixelShaderConstantRegister00000100bVertexandPrimitiveSetting00001111b~00000101bReserved00010000bCommandDecodedinfrontofCommandRegulator00010001bCommandforFrameBufferAutoSwappingandCR'sMiscellaneousSetting11111101b~00010010bReservedFordetailsoftheparameters,pleaserefertoDefinitionofParametersection.
HParaTypeVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200960CommandRegulator(CR)RegistersScopeOffsetDescriptionMnemonic3FhParameterTypeSub-codeHParaSubType43h-40hParameter0Hpara047h-44hParameter1Hpara14Bh-48hParameter2Hpara2…….
…….
1F7h-1F4hParameter109Hpara6D1FBh-1F8hParameter110Hpara6E1FFh-1FChParameter111Hpara6F………….
TransmissionSpace2FFh-2FChParameter175HparaAFVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200961CommandRegulator(CR)RegistersHParaType00h:PrimitiveVertexDataorVertexIndexHParaTye00hisusedforPrimitiveVertexData(forVertexCommandMode)orVertexIndex(forVertexBufferIndexMode).
Thereisnosub-addressinthisParaType.
Thestepstofire3DEngineareasfollows:Step1:Setthecorrectvaluetoalltherelated3DgloberegistersthroughParaType01h,02h,03h,04h,10h,11handFEh.
Step2:SentVertexDataorVertexIndex(accordingtoHVertexMode)throughParaType00h.
CRwouldconfigurethevertex(accordingHVFVLENandHnFVF)andgeneratefiresignalautomaticallywheneveralltheverticesofaprimitiveareready(accordingtoHVCycle,H2and1VTandHPMType).
CRwouldalsogeneratethePLEND(PrimitiveListEnd)signalwhenevertheentirelistedvertexesarefinished(accordingtoHVTXnum),orreceivea"StopCommand".
Fornextprimitivelist,repeatthetwostepsabove.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200962CommandRegulator(CR)RegistersHParaType10h:CommandsforCommandRegulatorSub-Address(Bits[31:24]):00-7ChHParaType=10h,Sub-Address=00hPCICommandSettingBits[23:0]AttributeDefaultDescription23:9WOxxhReserved8WOxxhEnableofPackagingthePCICommandinfrontofCR0:Disable1:Enable7:0WOxxhNumberofECLKCycleforPCICommandPackagingTimeOutHParaType=10h,Sub-Address=02hReadRegisterBackCommandSettingBits[23:0]AttributeDefaultDescription23:21WOxxhReserved20:12WOxxhReading-BackRegistertoDebugPortAddress[10:2]forReading-BackRegistertoDebugport;willbemultiplexedwithHI2CR_RADR[8:2].
11WOxxhEnableReading-BackRegistertoDebugPort0:Disable1:Enable10:8WOxxhReserved7:0WOxxhIDforReading-BackRegister00000000:ReadingtheRBregistersfromCR00000001:ReadingtheRBregistersfromFE(includingVP,CLandSE)00000010:ReadingtheRBregistersfromPE(includingRZandCZ)00000011:ReadingtheRBregistersfromRC00000100:ReadingtheRBregistersfromPS00000101:ReadingtheRBregistersfromXE00000110:ReadingtheRBregistersfromBE(includingGEMI)00000111:ReadingtheRBregistersforPerformanceProfileCountersOthers:ReservedHParaType=10h,Sub-Address=03hAddressforReading-BackRegisterBits[23:0]AttributeDefaultDescription23:0WOxxhAddressforReading-BackRegisterThisaddresssettingwillreadbackE32CR_WBREG[127:0].
Bits[23:16]:HParaSubTypeBits[15:8]:HParaTypeBits[7:0]:Sub-AddressHParaType=10h,Sub-Address=04hInterruptStateBufferControl1Bits[23:0]AttributeDefaultDescription23:4WOxxhLower24-bitofInterruptStateBufferBaseAddressItisA[23:0]with128-bitalignment,whileA[3:0]isuseless.
3:2WOxxhReserved1:0WOxxhInterruptStateBufferLocation00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
.
M.
)11:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200963CommandRegulator(CR)RegistersHParaType=10h,Sub-Address=05hInterruptStateBufferControl2Bits[23:0]AttributeDefaultDescription23:9WOxxhReserved8WOxxhStore3DEngine'sRegisterSettinginStateBuffer0:Disable.
Itisnotnecessarytostore3D'sregistersetting(default).
1:Enable.
Store3D'sregistersettingintotheStateBuffer.
7:0WOxxhHigher8-bitofInterruptStateBufferBaseAddressItisA[31:24].
HParaType=10h,Sub-Address=06hLeftVertexDataThresholdBits[23:0]AttributeDefaultDescription23:0WOxxhThresholdValueoftheLeftVertexDatawithinOneDIPinCRWhentheleftvertexdatainCRaremorethanHIRFthStopandHIRStop(seeSub-Address07:bit[0]below)isset,CRwouldstop3Dimmediately.
Otherwise,CRwouldstop3DattheendofDIP.
Unit:Dword.
HParaType=10h,Sub-Address=07hInterruptCommandBits[23:0]AttributeDefaultDescription23:2WOxxhReserved1WOxxhInterruptRequestforPauseForceCRinto"PauseState"untilthisbitiscleared.
Whenin"PauseState",CRjustholdsandnotsendsanycommandordatatotheVideoengine,2Dengineor3Dengine0WOxxhInterruptRequestforStopWhenthisregisterisset,CRwouldinterrupttheGPUandwaitnewCommandtriggered.
Note:HIRPauseandHIRStopcannotbesetatthesametime.
HParaType=10h,Sub-Address=10hVMRControlBits[23:0]AttributeDefaultDescription23:1WOxxhReserved0WOxxhVMRIDBufferStatusResetHParaType=10h,Sub-Address=60hAGPCommandSetting1Bits[23:0]AttributeDefaultDescription23:4WOxxhLower3BytesofAGPBufferStartAddressItisA[23:0]with128-bitalignment,whereA[3:0]isuseless.
3:2WOxxhReserved1:0WOxxhAGPBufferLocation00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
M.
)11:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200964CommandRegulator(CR)RegistersHParaType=10h,Sub-Address=61hAGPCommandSetting2Bits[23:0]AttributeDefaultDescription23:8WOxxhReserved7:0WOxxhHigherByteofAGPBufferStartAddressItisA[31:24].
HParaType=10h,Sub-Address=62hAGPCommandSetting3Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3bytesofAGPBufferEndAddressItisA[23:0]with128-bitalignment,whereA[3:0]isuseless.
HParaType=10h,Sub-Address=63hAGPCommandSetting4Bits[23:0]AttributeDefaultDescription23:8WOxxhReserved7:0WOxxhHigherByteofAGPBufferEndAddressItisA[31:24].
HParaType=10h,Sub-Address=64hAGPCommandSetting5Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofAGPBufferPauseAddressItisA[31:0]with128-bitalignment,whereA[3:0]isuseless.
HParaType=10h,Sub-Address=65hAGPCommandSetting6Bits[23:0]AttributeDefaultDescription23:10WOxxhReserved9:8WOxxhAGPBufferPauseAddressID00:HAGPBp(seebits7:0)isthePauseAddressofAGPCommandFetch.
IfAGPCommandFetcherwantstocontinuouslyfetchAGPCommandagain,itwillstartonthenextaddressafterHAGPBp.
01:HAGPBpistheEndAddressofaportionofAGPCommandBlock.
WhenAGPCommandFetcherreachesthisaddress,itwillstarttofetchnextAGPCommandaddressedbyHAGPBstwithoutwaiting.
10:HAGPBpistheAGPCommandStopAddress.
Whenever,AGPCommandFetcherreachthisaddress,theAGPCommandFetchingisfinished.
IfwewanttodoanotherAGPCommandFetching,wehavetosetHAGPBTrigas1.
11:Reserved7:0WOxxhHigherByteofAGPBufferPauseAddressItisA[31:24].
HParaType=10h,Sub-Address=66hAGPCommandSetting7Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3bytesofAGPBufferJumpAddressItisA[23:0]with128-bitalignment,whereA[3:0]isuseless.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200965CommandRegulator(CR)RegistersHParaType=10h,Sub-Address=67hAGPCommandSetting8Bits[23:0]AttributeDefaultDescription23:8WOxxhReserved7:0WOxxhHigherByteofAGPBufferJumpAddressItisA[31:24].
HParaType=10h,Sub-Address=68hAGPCommandSetting9Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThresholdValueofReadAGPCommandDefaultvalueis8.
15:5WOxxhReserved4WOxxhClearFenceQueue3WOxxhClearAGPCycle2WOxxhTriggerRestoreAGPCommandCycleHardwarewillonlyrestoreAGPcommand.
1WOxxhTriggerRestore3DRegisterCycle0WOxxhTriggerAGPCycleTheTrigsignalofAGPcommand.
HParaType=10h,Sub-Address=69hBranchCommandSettingBit[23:0]AttributeDefaultDescription23:1WOxxhReserved0WOxxhDefaultisOn0:DisableAGPBranch.
BranchedAGPHeader(FE8x)isforbidden.
1:EnableAGPBranchHParaType=10h,Sub-Address6ChRestoreCommandSetting1Bits[23:0]AttributeDefaultDescription23:4WOxxhLower3BytesofInterruptStateBufferRestoreStartAddressItisA[23:4]with128-bitalignment.
3:2WOxxhReserved1:0WOxxhInterruptStateBufferRestoreLocation00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
M.
)11:ReservedHParaType=10h,Sub-Address6DhRestoreCommandSetting2Bits[23:0]AttributeDefaultDescription23:8WOxxhReserved7:0WOxxhHigherByteofInterruptStateBufferRestoreStartAddressItisA[31:24]with128-bitalignment.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200966CommandRegulator(CR)RegistersHParaType=10h,Sub-Address6EhRestoreCommandSetting3Bits[23:0]AttributeDefaultDescription23:4WOxxhLower3bytesofAGPBufferRestoreStartAddressItisA[23:0]with128-bitalignmentwhereA[3:0]isuseless.
3:0WOxxhReservedHParaType=10h,Sub-Address6FhRestoreCommandSetting4Bits[23:0]AttributeDefaultDescription23:8WOxxhReserved7:0WOxxhHigherByteofAGPBufferRestoreStartAddressItisA[31:24]with128-bitalignment.
HParaType=10h,Sub-Address70hCMDQSetting1Bits[23:0]AttributeDefaultDescription23:4WOxxhLower3BytesofCommandQueueStartAddressItisA[23:0]with128-bitalignment,whereA[3:0]isuseless.
3:2WOxxhReserved1:0WOxxhCommandQueueLocation00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
M.
)11:ReservedHParaType=10h,Sub-Address71hCMDQSetting2Bit[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofCommandQueueEndAddressItisA[23:0]with128-bitalignment,whereA[3:0]isuseless.
HParaType=10h,Sub-Address=72hCMDQSetting3Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:8WOxxhHigherByteofCommandQueueEndAddress128-bitalignment.
7:0WOxxhHigherByteofCommandQueueStartAddress128-bitalignment.
HParaType=10h,Sub-Address=73hCMDQSetting4Bits[23:0]AttributeDefaultDescription23:0WOxxhLengthofCommandQueueTheminimumvalueis24'h800inunitof128bits.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200967CommandRegulator(CR)RegistersHParaType=10h,Sub-Address=74hCMDQSetting5Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThresholdValueofWriteCommandQueueFIFO15:14WOxxhReserved13:8WOxxhThresholdValueofReadCommandQueueFIFO7:4WOxxhControlSettingforCMDQReadRequestInterruptingWriteRequest0000:Neverinterrupt.
CMDQhandlesReadrequestonlyafterCMDQWritefinished.
0001:InterruptCMDQWriterequestwheneverCMDQReadrequestarrived1000:Interruptwhenever16CMDQWriterequestsaccepted1001:Interruptwhenever32CMDQWriterequestsaccepted1100:Interruptwhenever32CMDQWriterequestcyclescompleted1101:Interruptwhenever64CMDQWriterequestcyclescompletedOthers:Reserved3WOxxhReserved2WOxxhCMDQIsUsedforCommandfromAGPorPCI0:StoreCommandfromPCI1:StoreCommandfromAGP1WOxxhEnableRequestLengthforCMDQofCommandRegulator0:Disable.
Alwaysuse1128-bitcommandinonerequest.
1:Enable.
Allowhaving1,2,or4128-bitcommandswithinonerequest.
0WOxxhEnableCommandQueue0:Disable1:EnableHParaType=10h,Sub-Address=78hCMDQSetting6Bits[23:0]AttributeDefaultDescription23:4WOxxhLower3BytesofCommandQueueStartAddressfor2D/3DCommandItisA[23:0]whereA[3:0]isuseless.
3:2WOxxhReserved1:0WOxxhCommandQueueLocationfor2D/3DCommand00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
M.
)11:ReservedHParaType=10h,Sub-Address=79hCMDQSetting7Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofCommandQueueEndAddressfor2D/3DCommandItisA[23:0]whereA[3:0]isuseless.
HParaType=10h,Sub-Address=7AhCMDQSetting8Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:8WOxxhHigherByteofCommandQueueEndAddressfor2D/3DCommand7:0WOxxhHigherByteofCommandQueueStartAddressfor2D/3DCommand.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200968CommandRegulator(CR)RegistersHParaType=10h,Sub-Address=7BhCMDQSetting9Bits[23:0]AttributeDefaultDescription23:0WOxxhLengthofCommandQueuefor2D/3DCommandTheminimumvalueis24'h800inunitof128bits.
HParaType=10h,Sub-Address=7ChCMDQSetting10Bits[23:0]AttributeDefaultDescription23:14WOxxhReserved13:8WOxxhThresholdValueofReadCommandQueueFIFOfor2D/3DCommand7:4WOxxhControlSettingforCMDQReadRequestInterruptingWriteRequestfor2D/3DCommand0000:Neverinterrupt.
CMDQhandlesReadrequestonlyafterCMDQWritefinished.
0001:InterruptCMDQWriterequestwheneverCMDQReadrequestarrived.
1000:Interruptwhenever16CMDQWriterequestsaccepted1001:Interruptwhenever32CMDQWriterequestsaccepted1100:Interruptwhenever32CMDQWriterequestcyclescompleted1101:Interruptwhenever64CMDQWriterequestcyclescompletedOthers:Reserved3WOxxhReserved2WOxxhCMDQIsUsedforCommandfromAGPorPCIfor2D/3DCommand0:StorecommandfromPCI1:StorecommandfromAGP1WOxxhEnableRequestLengthforCMDQofCommandRegulatorfor2D/3DCommand0:Disable.
Alwaysuse1128-bitcommandinonerequest.
1:Enable.
Allowhaving1,2,or4128-bitcommandswithinonerequest.
0WOxxhEnableCommandQueuefor2D/3DCommand0:Disable1:EnableVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200969CommandRegulator(CR)RegistersHParaType11h:CommandsforFrameBufferSwappingandCR'sMiscellaneousSettingSub-Address(Bits[31:24]):00-ABhHParaType=11h,Sub-Address=00hCR'sMiscellaneousSettingBits[23:0]AttributeDefaultDescription23:17WOxxhReserved16WOxxhEnable2D/3DRequestLockControl0:Disable.
Whenoneof3D/2Denginesisbusy,CRwillnotsendcommandstoanotherengine.
1:Enable.
Whenoneof3D/2Denginesisbusy,CRsentcommandstoanotherenginebutanotherenginedoesnotaccessmemory.
Onlyoneofthe2Dand3Dengineisworkinginonetime.
However,E3FIREcanbesentto3Denginewhen2Dengineisbusy.
Also,E2FIREcanbesentto2Denginewhen3Dengineisbusy.
Inthefirstcase,CommandRegulatorwillsetCRLock3DbeforeissuingE3FIREandresetCRLock3Dafter3Dengineisidle.
Similarly,CRLock2Disworkinginthesameway.
15:11WOxxhReserved10:8WO010bTheDepthNofFIFO1inCR000:n=16001:n=24010:n=32(default)011:n=48100:n=64Others:Reserved7:5WO010bTheDepthNofFIFO2inCR000:n=16001:n=24010:n=32(default)011:n=48100:n=64Others:Reserved4:2WO010bTheDepthNofFIFO3inCR000:n=16001:n=24010:n=32(default)011:n=48100:n=64Others:Reserved1WOxxhReserved0WOxxhEnabletoTreatFollowedCMDsas"Critical"(NotBreakable)0:TheCommandQueuecanbebrokenbyan"Interruptcommand"1:TheCommandQueuecannotbebroken.
The"STOP"procedureisexecutedonlyafterthisbitiscleared.
HParaType=11h,Sub-Address=04hFenceCommand1Bits[23:0]AttributeDefaultDescription23:20WOxxhReserved19:0WOxxhHigherBitsofFenceCommandBaseAddressIfHFCMode[2]=1(seeSub-Address:07[19:16]below),itisthehigher20-bitFenceCommandBaseaddressforPCIMasterWrite(A[43:24]).
IfHFCMode[2]=0,itisthehigher12-bitFenceType(FenceType[31:20]).
HParaType=11h,Sub-Address=05hFenceCommand2Bits[23:0]AttributeDefaultDescription23:4WOxxhLowerBitsofFenceCommandBaseAddressIfHFCMode[2]=1,itisthelower24-bitFenceCommandBaseaddressforPCIMasterWrite(A[23:4]).
IfHFCMode[2]=0,itisthelower24-bitFenceType(FenceType[19:0]).
3:0WOxxhReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200970CommandRegulator(CR)RegistersHParaType=11h,Sub-Address=06hFenceCommand3Bits[23:0]AttributeDefaultDescription23:0WOxxhLower24-bitFenceCommandIDHParaType=11h,Sub-Address=07hFenceCommand4Bits[23:0]AttributeDefaultDescription23WOxxhReserved22WOxxhFenceCommandQueueFullSkipActiveatFirstCRCommand(forHFCModewithWritesFenceQueue&generateinterruptsignal)0:CRcommand(41Ch/420h)ispauseduntilFenceCommandQueuehasspace(default)1:CRkeepsrunning,overwriteFence_IDtocurrentwritepointinFencequeue21WOxxhFenceCommandInterruptWaitForHFCModewithWritesFenceQueue&generateinterruptsignal0:CRkeepsrunningwhenCR_INTactive,andwriteFence_IDtoFencequeue(default)1:CRispauseduntilCR_INTisclearedbyFencequeueempty(not204[5]).
20WOxxhFenceCommandTrigger19:16WOxxhFenceCommandMode0000:JustrecordtheHFCID(Sub-Address07[15:8],06[23:0])0001:RecordtheHFCIDwhenallenginesareidle0010:JustwriteFenceQueue,generateinterruptsignalandrecordtheHFCID0011:WriteFenceQueue,generateinterruptsignalandrecordtheHFCIDwhenallenginesareidle0100:JustwriteoutHFCIDtoSystemMemoryandrecordtheHFCID0101:WriteoutHFCIDtoSystemMemoryandrecordtheHFCIDwhenallenginesareidle0110:JustwriteoutHFCIDtoSystemMemory,writeFenceQueue,generateinterruptsignalandrecordtheHFCID0111:WriteoutHFCIDtoSystemMemory,writeFenceQueue,generateinterruptsignalandrecordtheHFCIDwhenallenginesareidleOthers:Reserved15:8WOxxhHigher8-bitFenceCommandID7:0WOxxhReservedHParaType=11h,Sub-Address=08hSaveCommand1Bits[23:0]AttributeDefaultDescription23:4WOxxhLower24-bitofSaveBufferStartBaseAddressItisA[23:0]with128-bitalignment,whereA[3:0]isuseless.
3:2WOxxhReserved1:0WOxxhSaveBufferLocation00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
M.
)11:ReservedHParaType=11h,Sub-Address=09hSaveCommand2Bits[23:0]AttributeDefaultDescription23:9WOxxhReserved8WOxxhStore3DEngine'sRegisterWriteEnable0:Disable.
Itisnotnecessarytostore3D'sregister.
(default)1:Enable.
Store3D'sregister.
7:0WOxxhHigher8-bitofSaveBufferStartBaseAddressItisA[31:24].
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200971CommandRegulator(CR)RegistersHParaType=11h,Sub-Address=0BhSaveCommand3Bits[23:0]AttributeDefaultDescription23:1WOxxhReserved0WOxxhSaveTrigforSave3DWriteBackRegistersWhenthisregisterisset,CRsaves3Dwritebackregistersandthenkeeprunning.
Note:PriorityHIRSB4E3>HSvWTEn,ifHIRSB4E3=1,all3DsaveregisterwillsavetoHIRSBBasnotHSvBSt.
HIRSB4E3:HparaType10h,Sub-Address05h,bit[8]HSvWTEn:HparaType11h,Sub-Address05h,bit[8]HIRSBBas:HparaType10h,Sub-Address05h,bits[7:0]andHparaType10h,Sub-Address04h,bits[23:4]HIRSBBas:HparaType11h,Sub-Address09h,bits[7:0]andHparaType11h,Sub-Address08h,bits[23:4]HParaType=11h,Sub-Address=10hFrameBufferAutomaticSwapping1Bits[23:0]AttributeDefaultDescription23:3WOxxhLower3BytesofDisplayFrameBufferBaseAddressofIGA12WOxxhReserved1:0WOxxhDisplayFrameBufferLocation00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
M.
)11:ReservedHParaType=11h,Sub-Address=11hFrameBufferAutomaticSwapping2Bits[23:0]AttributeDefaultDescription23:8WOxxhFrameFlipCountofIGA17:0WOxxhHigherByteofDisplayFrameBufferBaseAddressofIGA1HParaType=11h,Sub-Address=12hFrameBufferAutomaticSwapping3Bits[23:0]AttributeDefaultDescription23:4WOxxhReserved3WOxxhEnableFrameBufferAutomaticSwappingforIGA12WO0SkiptoWaitBlankWhenAutomaticSwappingforIGA1(default=0)1:0WOxxhReservedHParaType=11h,Sub-Address=13-17h:Reserved(forFrameBufferAutomaticSwapping)HParaType=11h,Sub-Address=18hFrameBufferAutomaticSwapping4Bits[23:0]AttributeDefaultDescription23:3WOxxhLower3BytesofDisplayFrameBufferBaseAddressofIGA22WOxxhReserved1:0WOxxhDisplayFrameBufferLocationofIGA200:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
M.
)11:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200972CommandRegulator(CR)RegistersHParaType=11h,Sub-Address=19hFrameBufferAutomaticSwapping5Bits[23:0]AttributeDefaultDescription23:8WOxxhFrameFlipCountofIGA27:0WOxxhHigherByteofDisplayFrameBufferBaseAddressofIGA2HParaType=11h,Sub-Address=1AhFrameBufferAutomaticSwapping6Bits[23:0]AttributeDefaultDescription23:4WOxxhReserved3WOxxhEnableFrameBufferAutomaticSwappingforIGA22WO0SkiptoWaitBlankWhenAutomaticSwappingforIGA2.
(default=0)1:0WOxxhReservedHParaType=11h,Sub-Address=1B-2Fh:Reserved(forFrameBufferAutomaticSwapping)HParaType=11h,Sub-Address=30hFrameBufferAutomaticSwapping7Bits[23:0]AttributeDefaultDescription23:3WOxxhLower3BytesofDisplayFrameBufferBaseAddressofIGADuo-viewControl2WOxxhReserved1:0WOxxhDisplayFrameBufferlocationofIGA00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
M.
)11:ReservedHParaType=11h,Sub-Address=31hFrameBufferAutomaticSwapping8Bits[23:0]AttributeDefaultDescription23:8WOxxhFrameFlipCountofIGA7:0WOxxhHigherByteofDisplayFrameBufferBaseAddressofIGAHParaType=11h,Sub-Address=32hFrameBufferAutomaticSwapping9Bits[23:0]AttributeDefaultDescription23:4WOxxhReserved3WOxxhEnableFrameBufferAutomaticSwappingforIGA2WO0SkiptoWaitblankWhenAutomaticSwappingforIGA(default=0)1:0WOxxhReservedHParaType=11h,Sub-Address=33-34h:Reserved(forFrameBufferAutomaticSwapping)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200973CommandRegulator(CR)RegistersHParaType=11h,Sub-Address=68hFirstBranchCommandSetting1HparaType11,Sub-Address68-6Bhareactiveonlyin"AGPformat"command.
Bits[23:0]AttributeDefaultDescription23:1WOxxhReserved0WOxxhBranchType0:BranchforNormal(default).
Branchcommandsareindependentonpreviouscommand.
InsertBranchcommandsinCRcommandqueue.
1:BranchforRestore.
WaitthecompletionofallpreviouscommandsbeforeBranchheader(FE8x),andthenactivateBranchrequest.
HParaType=11h,Sub-Address=69hFirstBranchCommandSetting2Bits[23:0]AttributeDefaultDescription23:1WOxxhLower3BytesofBranchBufferStartAddressItisA[23:1]whereA[0]isuseless.
(Unit:Word,16-bitalignment)NotetoDriverandhardware:1.
Thebranchbufferaddressismodifiedtobealignmentwith16bitsbecauseofthisaddresspointstothevertexindexinvertexbuffer.
2.
Branchfor3Dvertexindexinvertexbuffer(16bitsaligned)isonlyfromHeader3(DonotsetinHeader2).
3.
DWcountofheader=validvertexdataDWcount+invalidvertexdataDWcountbeforevalidvertexdata(ex:HAGPBranchL[3:1]=2,i.
e.
invalidvertexdata(16-bitalignment)DWcountbeforevalidvertexdata=1)0WOxxhReservedHParaType=11h,Sub-Address=6AhFirstBranchCommandSetting3Bits[23:0]AttributeDefaultDescription23:22WOxxhBranchBufferLocation00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
M.
)11:Reserved21:8WOxxhReserved7:0WOxxhHigherByteofBranchBufferStartAddressItisA[31:24].
Note:ForSub-Address6Ah,branchcommandtriggerishiddeninAGPheader(FE8x).
"NESTED"branchbufferisforbidden.
HParaType=11h,Sub-Address=6BhFirstBranchCommandSetting4Bits[23:0]AttributeDefaultDescription23:0WOxxhSizeofBranchBufferInunitof16bytes(128bits).
HParaType=11h,Sub-Address6Ch:Reserved(forSecondBranchCommandSetting)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200974CommandRegulator(CR)RegistersHParaType=11h,Sub-Address6DhSecondBranchCommandSetting1T11A6C-6F(HparaType11,Sub-Address6C-6Fh)areactiveonlyin"AGPformat"command.
Bits[23:0]AttributeDefaultDescription23:1WOxxhLower3BytesofBranchBufferStartAddressItisA[23:1]whereA[0]isuseless.
(Unit:Word,16-bitalignment)NotetoDriverandhardware:1.
Thebranchbufferaddressismodifiedtobealignmentwith16bitsbecauseofthisaddresspointstothevertexindexinvertexbuffer.
2.
Branchfor3Dvertexindexinvertexbuffer(16bitsaligned)isonlyfromHeader3(DonotsetinHeader2).
0WOxxhReservedHParaType=11h,Sub-Address6EhSecondBranchCommandSetting2Bits[23:0]AttributeDefaultDescription23:22WOxxhBranchBufferLocation00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:SystemMemory(S.
M.
)11:Reserved21:8WOxxhReserved7:0WOxxhHigherByteofBranchBufferStartAddressItisA[31:24].
Note:ForSub-Address6Eh,branchcommandtriggerishiddeninAGPheader(FE8x).
"NESTED"branchbufferisforbidden.
HParaType=11h,Sub-Address6FhSecondBranchCommandSetting3Bits[23:0]AttributeDefaultDescription23:0WOxxhSizeofBranchBufferInunitof16bytes(128bits).
HParaType=11h,Sub-AddressAAhSWInspection(R/W)1Bits[23:0]AttributeDefaultDescription23:0RWxxhSoftwareEventTAGforSoftwareInspectionHParaType=11h,Sub-AddressABhSWInspection(R/W)2Bits[23:0]AttributeDefaultDescription23:0RWxxhSoftwareEventTAGforSoftwareInspectionVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200975CommandRegulator(CR)RegistersCRRegistersin2DRegisterSpace(60-6Ch)Fordetailed2Dregisterdescriptions,pleasereferto2Dchapter.
OffsetAddress:60h3D/2DIDControlBitAttributeDefaultDescription31WOxxhReserved30WOxxh3D/2DCommandForceStart(SoftwareMustFillZero)29:28WOxxh3D/2DCommandStatus00:3D/2Dcommandstart01:3D/2Dcommandend10:3D/2Dcommandendandwait3Didle11:3D/2Dcommandendandwait2Didle27WOxxh3D/2DCommandStreamKinds26:24WOxxh3D/2DWorkingBufferNumber23:16WOxxhReservedforHardwareUse15:0WOxxh3D/2DWorkingIDOffsetAddress:6Ch3D/2DWaitControlBitAttributeDefaultDescription31WOxxhWaitHQV0Idle30WOxxhWaitHQV1Idle29WOxxhWaitMCIdle28:24WOxxhWaitIdleCount23WOxxhWait3DIdle–for3D/2DCommandPath22WOxxhWait2DIdle–for3D/2DCommandPath21WOxxhWaitDMAChannel3Idle20WOxxhWaitDMAChannel2Idle19WOxxhWaitDMAChannel1Idle18WOxxhWaitDMAChannel0Idle17WOxxhWaitLCDDNIdle16:14WOxxhReserved13WOxxhCommandWaitLaterIGAVBLKIntervaltoStarttoWork12WOxxhCommandWaitFormerIGAVBLKIntervaltoStarttoWork11WOxxhCommandWaitLaterIGAVBLKEndPulsetoStarttoWork10WOxxhCommandWaitFormerIGAVBLKEndPulsetoStarttoWork9WOxxhCommandWaitLaterIGAVBLKStartPulsetoStarttoWork8WOxxhCommandWaitFormerIGAVBLKStartPulsetoStarttoWork7:6WOxxhReserved5WOxxhCommandWaitIGA2VBLKIntervaltoStarttoWork4WOxxhCommandWaitIGA1VBLKIntervaltoStarttoWork3WOxxhCommandWaitIGA2VBLKEndPulsetoStarttoWork2WOxxhCommandWaitIGA1VBLKEndPulsetoStarttoWork1WOxxhCommandWaitIGA2VBLKStartPulsetoStarttoWork0WOxxhCommandWaitIGA1VBLKStartPulsetoStarttoWorkVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,200976CommandRegulator(CR)RegistersCRRegistersinVideoControlRegisterSpace(3260-326Ch)Fordetailedvideoregisterdescriptions,pleaserefertoVideoOverlayEnginechapter.
OffsetAddress:3260hDVD/VideoIDControlBitAttributeDefaultDescription31WOxxhReserved30WOxxhDVD/VideoCommandForceStart(SoftwareMustFillZero)29:28WOxxhDVD/VideoCommandStatus00:DVD/Videocommandstart01:DVD/Videocommandend10:DVD/VideocommandendandwaitDVDidle11:DVD/VideocommandendandwaitVideoidle27WOxxhDVD/VideoCommandStreamKinds26:24WOxxhDVD/VideoWorkingBufferNumber23:16WOxxhReservedforHardwareUse15:0WOxxhDVD/VideoWorkingIDOffsetAddress:326ChDVD/VideoWaitControlBitAttributeDefaultDescription31WOxxhWait3DIdle–forVideoCommandPath30WOxxhWait2DIdle–forVideoCommandPath29:25WOxxhWaitIdleCount24:22WOxxhReserved21WOxxhWaitHQV1StartingAddressLoad20WOxxhWaitHQV1FireBit19WOxxhWaitHQV1HWFlipFIFOFull18WOxxhWaitHQV1Subpicture/UpdateoverlayFlip17WOxxhWaitHQV1SWFlip16WOxxhWaitHQV1FinishaFrame15WOxxhWaitDMAChannel3Idle14WOxxhWaitDMAChannel2Idle13WOxxhWaitDMAChannel1Idle12WOxxhWaitDMAChannel0Idle11:6WOxxhReserved5WOxxhWaitHQV0StartingAddressLoad4WOxxhWaitHQV0FireBit3WOxxhWaitHQV0HardwareFlipFIFOFull2WOxxhWaitHQV0Subpicture/UpdateoverlayFlip1WOxxhWaitHQV0SoftwareFlip0WOxxhWaitHQV0FinishaFrameVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009773DRegisters3DREGISTERSThischapterprovidesdetailed3Dregisterdescriptions.
PleasealsorefertoChapter"CommnadRegulator",Section"DefinitionofI/ORegister"forbasicintroductionon3D/CRoperationsand3D/CRregistersummarytable.
HParaType00h:PrimitiveVertexDataorVertexIndexHParaTye00hisusedforPrimitiveVertexData(forVertexCommandMode)orVertexIndex(forVertexBufferIndexMode).
Thereisnosub-addressinthisParaType.
Thestepsofhowtofire3DEngineareasfollows:Step1:Setthecorrectvaluetoalltherelated3DgloberegistersthroughParaType01h,02h,03h,04h,10h,11handFEh.
Step2:SentVertexDataorVertexIndex(accordingtoHVertexMode)throughParaType00h.
CRwouldconfigurethevertex(accordingHVFVLENandHnFVF)andgeneratefiresignalautomaticallywheneveralltheverticesofaprimitiveareready(accordingtoHVCycle,H2and1VTandHPMType).
CRwouldalsogeneratethePLEND(PrimitiveListEnd)signalwhenevertheentirelistedvertexesarefinished(accordingtoHVTXnum),orreceivea"StopCommand".
Fornextprimitivelist,repeatthetwostepsabove.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009783DRegistersHParaType01h:AttributeOtherThanTextureSub-Address(Bits[31:24]):00-AAhHParaType=01h,Sub-Address=00-0FhEnableSetting1Bits[23:0]AttributeDefaultDescription23WOxxhReserved22WOxxhInverseEnable(Disable)BE's32-byte(Adjacent128-bit)Packing0:Enable1:Disable21WOxxhInverseEnable(Disable)BE'sSmartPacking0:Enable1:Disable20WOxxhEnableAlphaTestResultofRT0forAllRenderTargets(RTn)0:ThesuccessorfailureofalphatestforRTndependsonitsownalphatestresultandHenATMRTn,wheren=0.
.
3.
1:ExecutionofthealphatestforRT0andallrendertargetsdependontheresulttobekilledornot.
HenATMRT0,HenATMRT1,HenATMRT2&HenATMRT3areignored19WOxxhEnableAlphaTestforRenderTarget30:Disable1:Enable18WOxxhEnableAlphaTestforRenderTarget20:Disable1:Enable17WOxxhEnableAlphaTestforRenderTarget10:Disable1:Enable16WOxxhEnableAlphaTestforRenderTarget00:Disable1:Enable15WOxxhEnableSpeculaColorforRenderTarget30:Disable1:Enable14WOxxhEnableSpeculaColorforRenderTarget20:Disable1:Enable13WOxxhEnableSpeculaColorforRenderTarget10:Disable1:Enable12WOxxhEnableSpeculaColorforRenderTarget00:Disable1:Enable11WOxxhEnableFogforRenderTarget30:Disable1:Enable10WOxxhEnableFogforRenderTarget20:Disable1:Enable9WOxxhEnableFogforRenderTarget10:Disable1:Enable8WOxxhEnableFogforRenderTarget00:Disable1:Enable7WOxxhEnableAlphaBlendingforRenderTarget30:Disable1:Enable6WOxxhEnableAlphaBlendingforRenderTarget20:Disable1:Enable5WOxxhEnableAlphaBlendingforRenderTarget10:Disable1:Enable4WOxxhEnableAlphaBlendingforRenderTarget00:Disable1:Enable3WOxxhEnableDitherforRenderTarget30:Disable1:Enable2WOxxhEnableDitherforRenderTarget20:Disable1:Enable1WOxxhEnableDitherforRenderTarget10:Disable1:Enable0WOxxhEnableDitherforRenderTarget00:Disable1:EnableVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009793DRegistersHParaType=01h,Sub-Address=01hEnableSetting2Bits[23:0]AttributeDefaultDescription23WOxxhEnableLineDrawingfromUp/LefttoDown/Right0:Drawlinefromvertexatovertexb.
1:Forverticalline,drawfromupvertextodownvertex.
Forhorizontalline,drawfromleftvertextorightvertex.
22WOxxhEnableDiamondRuleforLineDrawing0:Disable1:Enable21WOxxhEnablePointSprite0:Disable1:EnableThissettingisonlyavailableforPMType"point"and"trianglepoint".
AllPointshavesizes(defaultis1.
0),andPointSpriteonlyaffectsthetexturecoordinate.
Ifnon-PointSpritepoints:Allthetexturecoordinatesofpoint4vertexesareallthosefromFVF.
IfPointSpritepoints:Texturecoordinateoftheupper-leftcorneris(0,0,0,1).
Texturecoordinateoftheupper-rightcorneris(1,0,0,1).
Texturecoordinateofthelower-leftcorneris(0,1,0,1).
Texturecoordinateofthelower-rightcorneris(1,1,0,1).
20WOxxhEnableClippingCoordinatetoScreenCoordinateTransformation0:Disable1:Enable19WOxxhEnableFogPerspectiveCorrection0:Disable1:Enable18WOxxhEnableSpectraColorPerspectiveCorrection0:Disable1:Enable17WOxxhEnableDiffuseColorPerspectiveCorrection0:Disable1:Enable16:14WOxxhNumberofRenderTarget000:OnlyRT0001:RT0&RT1010:RT0,RT1andRT2011:RT0,RT1,RT2andRT31xx:Reserved13WOxxhEnableofCoarseZTest0:Disable1:EnableNotethatCoarseZTestisonlyavailablefortriangles,notthelines.
12WOxxhEnableVertexCache0:Disable1:Enable11WOxxhEnableClippingEngine0:Disable1:Enable10WOxxhEnablePixelShader0:Disable(Texturemapisalsodisabled)1:Enable9WOxxhEnableWritingCoarseZBuffer0:DonotupdatetheCoarseZBuffer1:Enable8WOxxhEnableTextureCache0:DisableTextureCacheandClearTextureCache1:Enable7WOxxhEnableBackFaceCulling0:Disable1:Enable6WOxxhEnableColorWrite0:Disable1:Enable5WOxxhEnableAnti-Aliasing0:Disable1:Enable4WOxxhEnableStencilTest0:Disable(Alwayspass)1:Enable(Depthbuffermustcontainstencilbits)3WOxxhEnableZTest0:Disable(Alwayspass)1:Enable2WOxxhEnableZWrite0:Disable1:Enable1WOxxhEnableStipplePattern0:Disable1:Enable0WOxxhEnableLinePattern0:Disable1:EnableVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009803DRegistersHParaType=01h,Sub-Address=02hEnableSetting3Bits[23:0]AttributeDefaultDescription23:2WOxxhReserved1WOxxhClearRead-ColorCache(RCCache)RCCachewillbeclearedwhilethisbitissetto1.
0WOxxhEnableRead-ColorCache0:Disable1:EnableHParaType=01h,Sub-Address=03-0Fh:Reserved(forEnableSetting)HParaType=01h,Sub-Address=10hZSetting1Bits[23:0]AttributeDefaultDescription23:0WOxxhZWBufferBaseAddressInunitof256bytes.
HParaType=01h,Sub-Address=11hZSetting2Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:13WOxxhZWBufferPitchInunitof32bytesforlinearmode.
Inunitoftile(256bytes)fortilemode.
12WOxxhEnableReading-ZCache0:Disable1:Enable11WOxxhClearReading-ZCache10WOxxhModeofReading-ZCache0:128-bitmode1:256-bitmode9WOxxhZandStencilValuearewrittenthroughtoBEdirectly0:FullydatapathfromPERZthroughPSandRC,andthentoBE1:ShortdatapathfromPERZtoBEdirectly8:2WOxxhReserved1:0WOxxhLocationSettingofZBuffer00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009813DRegistersHParaType=01h,Sub-Address=12hZSetting3Bits[23:0]AttributeDefaultDescription23WOxxhZWBufferType0:ZWbufferstoresZvalue1:ZWbufferstoresWvalue(PPreplacesZbyW)22WOxxhReserved21WOxxhForcetheZValuefrom1.
0to1.
0-(from1.
00000000hto0.
FFFFFFFFh)0:Keeptheoriginal1.
01:Forceto1.
0-wheneverZequalsto1.
0Thisregisterisonlyusefulforfixed-pointformat.
20WOxxhClamptheZValueisover1.
0to1.
0-(from1.
xxxxxxxxhto0.
FFFFFFFFh)0:Keeptheoriginalvalueover1.
01:Clampto1.
0-wheneverZisover1.
0Thisregisterisonlyusefulforfixed-pointformat.
19WOxxhClamptheZValueisNegativetoZero-(from–x.
xxxxxxxxhto0.
00000000h)0:Keeptheoriginalnegativevalue1:Clampto0.
0-wheneverZisnegativeNote:Theseclampingregistersdonotaffectthetestofnearbyordistantplane.
Thetestofthenearbyordistantplaneisbytheoriginalbiasedandun-clampedZvaluewithfloatingformat.
18:16WOxxhZWBufferFormatForZBuffer000:16-bitfixed-pointformat,0.
0ZChrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009823DRegistersHParaType=01h,Sub-Address=13hZSetting4Bits[23:0]AttributeDefaultDescription23WOxxhSourceZisGeneratedbyPixelShaderInsteadofShading0:SourceZisgeneratedbynormalshading1:SourceZisgeneratedinPS,RZmoduleshouldpipetheZdsttoPE.
TheZdstandZsrcfordepthtestcomefromBE.
22:19WOxxhReserved18:16WOxxhZWTestMode000:ZorWtestneverpass001:ZorWtestpassifZnewZdst101:ZorWtestpassifZnewZdst110:ZorWtestpassifZnewZdst111:ZorWtestalwayspassWhereZnewisthecalculatedZvalueandZdstistheZstoredintheZbuffer.
15:8WOxxhReserved7:0WOxxhZNormalizationFactorTherangeisfrom0to255.
Bydefinition,Zcanbedividedbyavalueofpowerof2.
Thus,itallowstheinputZfreefromtheconstrainofZChrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009833DRegistersHParaType=01h,Sub-Address=17hZSetting8Bits[23:0]AttributeDefaultDescription23:16WOxxhBiasScalewith32-bitFloatingFormat15:8WOxxhReserved7:0WOxxhHighestByteofZBiasOffsetSEZbias=max(Zdx,Zdy)*HZBiasScale+HZBiasOffsetHParaType=01h,Sub-Address=18hZSetting9Bits[23:0]AttributeDefaultDescription23:0WOxxhZBiasScaleWith32-bitFloatingFormatHParaType=01h,Sub-Address=19hZSetting10Bits[23:0]AttributeDefaultDescription23:0WOxxhLow23BitsofLowBoundarytoClamptheZBiasWithformatof32-bitfloating.
HParaType=01h,Sub-Address=1AhZSetting11Bits[23:0]AttributeDefaultDescription23:0WOxxhLow23BitsofHighBoundarytoClamptheZBiasWithformatof32-bitfloating.
HParaType=01h,Sub-Address=1BhZSetting12Bits[23:0]AttributeDefaultDescription23WOxxhEnhanceZ'sPrecisionDuringPERendering0:Disable1:Enable22:16WOxxhReserved15:8WOxxhHigh8BitsofHighBoundarytoClamptheZBiasWithformatof32-bitfloating.
7:0WOxxhHigh8BitsofLowBoundarytoClamptheZBiasWithformatof32-bitfloating.
HParaType=01h,Sub-Address=1ChZSetting13Bits[23:0]AttributeDefaultDescription23:0WOxxhLow24BitsOcclusionCountofbothZTestandStencilTestResultHParaType=01h,Sub-Address=1DhZSetting14Bits[23:0]AttributeDefaultDescription23:8WOxxhReserved7:0WOxxhHigh8BitsOcclusionCountofBothZTestandStencilTestResultVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009843DRegistersHParaType=01h,Sub-Address=1EhZSetting15Bits[23:0]AttributeDefaultDescription23:0WOxxhLower24BitsofClipPlane'sFarValueHParaType=01h,Sub-Address=1FhZSetting16Bits[23:0]AttributeDefaultDescription23:0WOxxhLower24BitsofClipPlane'sNearValueHParaType=01h,Sub-Address=20hZSetting17Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:8WOxxhHigher8BitsofClipPlane'sFarValueWithformatof32-bitfloating.
7:0WOxxhHigher8BitsofClipPlane'sNearValueWithformatof32-bitfloating.
Checkeachpixel'sZvaluebeforedepthtesting,andremovethispixelifit'soutoftherange.
If(Z>HZClipFar|ZInaunitof4bytes.
NoteforDriver:Wheneveranon-zerovalueissettothisregister,the"HZOcclusionCNT"wouldbewrittenbacktothevideomemorywiththeaddressof"HZOcclusionAdr".
Sincetheaddressisseparatedinto2sub-addresses,pleasesetdriver"HZOcclusionAdrL"andthen"HZOcclusionAdrH"inorder.
Wheneverdecodingthe"HZOcclusionAdrH",hardwarewouldcheckiftheaddress(HZOcclusionAdrHandHZOcclusionAdrLcascaded)iszeroornot.
HParaType=01h,Sub-Address=22hZSetting19Bits[23:0]AttributeDefaultDescription23:22WOxxhLocationSettingofZOcclusionCounter(HZOcclusionCNT)00:SyntemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved21:8WOxxhReserved7:0WOxxhHigh8BitsofVideoMemoryAddresstoAddressForwritingthe"HZOcclusionCNT",intheunitof4bytes.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009853DRegistersHParaType=01h,Sub-Address=23hStencilSetting1Bits[23:0]AttributeDefaultDescription23:16WOxxhStencilTestReferenceValueforClock-WiseFaceThisvalueisapositive8-bitfixedpointnumberwithrangefrom0to255,whichisusedforStencilTestasthecomparisonresultbetweenStencilandHSTCWREF.
15:8WOxxhStencilTestOperationMaskforClock-WiseFaceIndicatesthecomparisonresultbetween(Stencil&HSTCWOPMSK)and(HSTCWREF&HSTCWBMSK).
7:0WOxxhStencilBufferBitMaskforClock-WiseFaceIfthisbit=0,thecorrespondingbitinthestencilbuffercannotbechanged.
Otherwise,itcanbechanged.
HParaType=01h,Sub-Address=24hStencilSetting2Bits[23:0]AttributeDefaultDescription23:19WOxxhReserved18:16WOxxhStencilTestModeforClock-WiseFace000:StencilTestneverpass001:StencilTestpassif(HSTCWREF&HSTCWOPMSK)(Stencil&HSTCWOPMSK)101:StencilTestpassif(HSTCWREF&HSTCWOPMSK)(Stencil&HSTCWOPMSK)110:StencilTestpassif(HSTCWREF&HSTCWOPMSK)(Stencil&HSTCWOPMSK)111:StencilTestalwayspass15:9WOxxhReserved8:6WOxxhStencilOperationforStencilTestFailforClock-WiseFace000:KEEP001:ZERO010:REPLACE011:INCRSAT100:DECRSAT101:INVERT110:INCR111:DECR5:3WOxxhStencilOperationforStencilTestPassandZTestFailforClock-WiseFace000:KEEP001:ZERO010:REPLACE011:INCRSAT100:DECRSAT101:INVERT110:INCR111:DECR2:0WOxxhStencilOperationforStencilTestPassandZTestPassforClock-WiseFace000:KEEP001:ZERO010:REPLACE011:INCRSAT100:DECRSAT101:INVERT110:INCR111:DECRVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009863DRegistersHParaType=01h,Sub-Address=25hStencilSetting3Bits[23:0]AttributeDefaultDescription23:16WOxxhStencilTestReferenceValueforCounter-Clock-WiseFaceThisvalueisapositive8-bitfixedpointnumberwithrangefrom0to255,whichisusedforStencilTestasthecomparisonresultbetweenStencilandHSTCCWREF.
15:8WOxxhStencilTestOperationMaskforCounter-Clock-WiseFaceIndicatesthecomparisonresultbetween(Stencil&HSTCCWOPMSK)and(HSTCCWREF&HSTCCWBMSK).
7:0WOxxhStencilBufferBitMaskforCounter-Clock-WiseFaceIfthisbit=0,thecorrespondingbitinthestencilbuffercannotbechanged.
Otherwise,itcanbechanged.
HParaType=01h,Sub-Address=26hStencilSetting4Bits[23:0]AttributeDefaultDescription23:19WOxxhReserved18:16WOxxhStencilTestModeforCounter-Clock-WiseFace000:StencilTestneverpass001:StencilTestpassif(HSTCCWREF&HSTCCWOPMSK)(Stencil&HSTCCWOPMSK)101:StencilTestpassif(HSTCCWREF&HSTCCWOPMSK)(Stencil&HSTCCWOPMSK)110:StencilTestpassif(HSTCCWREF&HSTCCWOPMSK)(Stencil&HSTCCWOPMSK)111:StencilTestalwayspass15:9WOxxhReserved8:6WOxxhStencilOperationforStencilTestFailforCounter-Clock-WiseFace000:KEEP001:ZERO010:REPLACE011:INCRSAT100:DECRSAT101:INVERT110:INCR111:DECR5:3WOxxhStencilOperationforStencilTestPassandZTestFailforCounter-Clock-WiseFace000:KEEP001:ZERO010:REPLACE011:INCRSAT100:DECRSAT101:INVERT110:INCR111:DECR2:0WOxxhStencilOperationforStencilTestPassandZTestPassforCounter-Clock-WiseFace000:KEEP001:ZERO010:REPLACE011:INCRSAT100:DECRSAT101:INVERT110:INCR111:DECRVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009873DRegistersHParaType=01h,Sub-Address=27hSettingforFast-Z-Clear1Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:12WOxxhIndexofZWBufferforCurrentScene11:8WOxxhLengthofHZWBIdxinUnitofBit0000:DisableZWbufferindex0001:UsetheLSB1bitasZWbufferindex0010:UsetheLSB2bitsasZWbufferindex0011:UsetheLSB3bitsasZWbufferindex0100:UsetheLSB4bitsasZWbufferindex1111~0101:Reserved7:1WOxxhReserved0WOxxhEnableFast-Z-Clear0:Disable1:EnableHParaType=01h,Sub-Address=28hSettingforFast-Z-Clear2Bits[23:0]AttributeDefaultDescription23:0WOxxhStencilBuffer'sBaseAddressInunitof256bytes.
ThepitchoftheseparatedstencilbufferisjustthesettingoftheZbufferpitch.
SincethereisonlyZ24S8formatforthestencilvalue,theZmustbe32bppwnenseparatedstencilbufferisenabled.
NomatterZbufferisinlinearortilemode,theHZWBPitisjust(W+7)>>3,whereWisthescreencoordinate.
E3R(W)STADR=HSTBas*256+Y[10:3]*HZWBPit*64+X[10:3]*64+Y[2:1]*16HParaType=01h,Sub-Address=29hSettingforCoarseZTestFunction1Bits[23:0]AttributeDefaultDescription23WOxxhForceCZRetestIfOriginalIs"Reject"andtheRelatedPrimitiveIsClock-WiseForcetheCZresultas"ReTEST"iforiginalis"REJECT"andtherelatedprimitiveisClock-Wise.
0:NormalCZtest1:Neverreject22WOxxhForceCZRetestIfOriginalIs"Pass"andtheRelatedPrimitiveIsClock-WiseForcetheCZresultas"ReTEST"iforiginalis"Pass"andtherelatedprimitiveisClock-Wise.
0:NormalCZtest1:Neverpass21:20WOxxhCoarseZBufferLocationSetting00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved19:18WOxxhReserved17WOxxhInverseModeforCZTest0:SmallerZvalueasnearerandlargerZvalueasfarer,forHZWTMDisLESSorLESSEQUAL1:LargerZvalueasnearerandsmallerZvalueasfarer,forHZWTMDisGREATERorGREATEREQUAL16WOxxhCoarseZWriteBackMode0:WhenevertheCZTAG_CNTis"0"andCZTAG_UPDATED,writetheCZincachebacktovideomemory1:WheneverthecellisselectedfornewCZvalueandCZTAG_UPDATED,writetheoldCZincachebacktovideomemory,andthenreadthenewCZvalue.
15WOxxhResetofCZCache'sTAGInsteadofhavingsoftwaretoclearthissetting,itwouldbeauto-clearedbyhardware.
0:Normal1:Rest14WOxxhReserved13:12WOxxhCoarseZTestbyUsingConservativeMode00:Useoptimizedmergingrule01:UseConservativeMergingRuleandonlyupdateboth"MIN"valueand"MAX"value10:UseConservativeMergingRuleandonlyupdate"MIN"value11:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009883DRegisters11WOxxhForceCZRetestIfOriginalIs"Reject"andtheRelatedPrimitiveIsCounter-Clock-WiseForcetheCZresultas"ReTEST"iforiginalis"REJECT"andtherelatedprimitiveisCounter-Clock-Wise.
0:NormalCZtest1:Neverreject10WOxxhForceCZRetestIfOriginalIs"Pass"andtheRelatedPrimitiveIsCounter-Clock-WiseForcetheCZresultas"ReTEST"iforiginalis"REJECT"andtherelatedprimitiveisCounter-Clock-Wise.
0:NormalCZtest1:Neverreject9WOxxhForceReTestastheResultofHZTest0:Normal1:Force8:0WOxxhCoarseZBuffer'sPitchInunitof32bytes.
HParaType=01h,Sub-Address=2AhSettingforCoarseZTestFunction2Bits[23:0]AttributeDefaultDescription23:0WOxxhCoarseZBuffer'sBaseAddressInunitof256bytes.
E3R(W)CZADR=HCZBas*256+Y*HCZPit*32+(2*X)*16HParaType=01h,Sub-Address=33hAlphaSetting1Bits[23:0]AttributeDefaultDescription23:15WOxxhReserved14:12WOxxhAlphaTestMode000:Alphatestneverpass001:AlphatestpassifAnewHATREF101:AlphatestpassifAnewHATREF110:AlphatestpassifAnewHATREF111:Alphatestalwayspass11WOxxhReserved10:0WOxxhAlphaTestReferenceValuePositivefixed-pointfrom0.
0to1.
0.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009893DRegistersHParaType=01h,Sub-Address=34hAlphaSetting2AlphaBlendingEquationofRGB:EquationofRGB:Cout=((AB_FCa*AB_Ca)AB_Cop(AB_FCb*AB_Cb))If(HABLCsat=false)ClampCoutto1.
0to0.
0Bits[23:0]AttributeDefaultDescription23:17WOxxhReserved16WOxxhRGBSaturationControlofAlphaBlendingCalculation0:Coutwillbeclampto0.
0~1.
01:Coutwillnotbeclampto0.
0~1.
015:10WOxxhCaofAlphaBlendingEquationHABLCa[3:0]R_of_OPCaG_of_OPCaB_of_OPCa0001RsrcGsrcBsrc0001RdstGdstBdst0101RofHABLRcaGofHABLRCaBofHABLRCa0110min(Rsrc,Rdst)min(Gsrc,Gdst)min(Bsrc,Bdst)0111max(Rsrc,Rdst)max(Gsrc,Gdst)max(Bsrc,Bdst)9:4WOxxhFCaofAlphaBlendingEquationHABLFCa[5:4]RofAB_FcaGofAB_FCaBofAB_FCa00R_of_OPFCaG_of_OPFCaB_of_OPFCa011.
0-R_of_OPFCa1.
0-G_of_OPFCa1.
0-B_of_OPFCa11ReservedReservedReservedHABLFCa[3:0]R_of_OPFCaG_of_OPFCaB_of_OPFCa0000RsrcGsrcBsrc0001RdstGdstBdst0010AsrcAsrcAsrc0011AdstAdstAdst0101RofHABLRFCaGofHABLRFCaBofHABLRFCa1000min(Asrc,1-Adst)min(Asrc,1-Adst)min(Asrc,1-Adst)3:0WOxxhReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009903DRegistersHParaType=01h,Sub-Address=35hAlphaSetting3Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:14WOxxhCopofAlphaBlendingEquationHABLCopCop00+01-10Max11Min13:8WOxxhCbofAlphaBlendingEquationHABLCb[3:0]R_of_OPCbG_of_OPCbB_of_OPCb0000RsrcGsrcBsrc0001RdstGdstBdst0101RofHABLRCbGofHABLRCbBofHABLRCb7:2WOxxhFCbofAlphaBlendingEquationHAB_FCb[5:4]RofAB_FCbGofAB_FCbBofAB_FCb00R_of_OPFCbG_of_OPFCbB_of_OPFCb011.
0-(R_of_OPFCb)1.
0-(G_of_OPFCb)1.
0-(B_of_OPFCb)HAB_FCb[3:0]R_of_OPFCbG_of_OPFCbB_of_OPFCb0000RsrcGsrcBsrc0001RdstGdstBdst0010AsrcAsrcAsrc0011AdstAdstAdst0101RofHABLRFCbGofHABLRFCbBofHABLRFCb1000min(Asrc,1-Adst)min(Asrc,1-Adst)min(Asrc,1-Adst)1:0WOxxhReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009913DRegistersHParaType=01h,Sub-Address=36hAlphaSetting4EquationofA:Aout=((AB_FAa*AB_Aa)AB_Aop(AB_FAb*AB_Ab))If(HABLAsat=false)ClampAoutto1.
0to0.
0Bits[23:0]AttributeDefaultDescription23:17WOxxhReserved16WOxxhAlphaSaturationControlofAlphaBlendingCalculation0:Aoutwillbeclampedto0.
0~1.
01:Aoutwillnotbeclampedto0.
0~1.
015:10WOxxhAaofAlphaBlendingEquationHABLAa[5:4]AB_AaxxReservedHABLAa[3:0]OPAa000000001Asrc0010Adst0101min(Asrc,Adst)0111max(Asrc,Adst)1000Reserved1001HABLRAa1111-1010Reserved9:4WOxxhFAaofAlphaBlendingEquationHABLFAa[5:4]AB_FAa00OPFAa011-OPFAa11ReservedHABLFAa[3:0]OPFAa000000001Asrc0010Adst1000min(Asrc,1-Adst)1001HABLRFAa1111-1101Reserved3:0WOxxhReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009923DRegistersHParaType=01h,Sub-Address=37hAlphaSetting5Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:14WOxxhAopofAlphaBlendingEquationHABLAopAB_Aop00+01-10Max11Min13:8WOxxhAbofAlphaBlendingEquationHABLAb[5:4]AB_AbxxReservedHABLAb[3:0]OPAb000000001Asrc0010Adst1000min(Asrc,1-Adst)1001HABLRAb1111-1001Reserved7:2WOxxhFAbofAlphaBlendingEquationHABLFAb[5:4]AB_FAb00OPFAb011–OPFAbHABLFAb[3:0]OPFAb000000001Asrc0010Adst1000min(Asrc,1-Adst)1001HABLRFAb1:0WOxxhReservedHParaType=01h,Sub-Address=38hAlphaSetting6Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhGofHABLRCaThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
11WOxxhReserved10:0WOxxhBofHABLRCaThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
HParaType=01h,Sub-Address=39hAlphaSetting7Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhRofHABLRFCaThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
11WOxxhReserved10:0WOxxhRofHABLRCaThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009933DRegistersHParaType=01h,Sub-Address=3AhAlphaSetting8Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhGofHABLRFCaThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
11WOxxhReserved10:0WOxxhBofHABLRFCaThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
HParaType=01h,Sub-Address=3BhAlphaSetting9Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhGofHABLRCbThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
11WOxxhReserved10:0WOxxhBofHABLRCbThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
HParaType=01h,Sub-Address=3ChAlphaSetting10Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhRofHABLRFCbThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
11WOxxhReserved10:0WOxxhRofHABLRCbThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
HParaType=01h,Sub-Address=3DhAlphaSetting11Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhGofHABLRFCbThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
11WOxxhReserved10:0WOxxhBofHABLRFCbThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
HParaType=01h,Sub-Address=3EhAlphaSetting12Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhConstantRegisterofAaThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
11WOxxhReserved10:0WOxxhConstantRegisterofFAaThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009943DRegistersHParaType=01h,Sub-Address=3FhAlphaSetting13Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhConstantRegisterofAbThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
11WOxxhReserved10:0WOxxhConstantRegisterofFAbThisisan11-bitpositivefixed-pointnumberfrom0.
0to1.
0.
HParaType=01h,Sub-Address40-4Fh:Reserved(forAlphaSetting)HParaType=01h,Sub-Address=50hDestinationSetting–RenderTarget0–Setting1Bits[23:0]AttributeDefaultDescription23:0WOxxhRenderTarget0'sBaseAddressInunitof256bytes.
HParaType=01h,Sub-Address=51hDestinationSetting–RenderTarget0–Setting2Bits[23:0]AttributeDefaultDescription23WOxxhMemoryModeofRenderTarget00:Linearmode1:Tilemode22WOxxhRenderTarget0'sTileIs16-pixelHigh0:Normal8-pixelhigh1:16-pixelhigh21:20WOxxhLocationSettingofRenderTarget000:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved19:0WOxxhReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009953DRegistersHParaType=01h,Sub-Address=52hDestinationSetting–RenderTarget0–Setting3Bits[23:0]AttributeDefaultDescription23:16WOxxhRenderTarget0'sFormatForBit[23:19]:00000:Reserved00001:Reserved00010:Luminanceformat00011:Reserved00100:Reserved00101:Reserved00110:YUV(VideoTexture)format00111-10000:Reserved10001:ARGB_16bppformat10010:Reserved10011:ARGB_32bppformat10100:Reserved10101:ABGR_16bppformat10110:Reserved10111:ABGR_32bppformat11000:Reserved11001:RGBA_16bppformat11010:Reserved11011:RGBA_32bppformat11100:BGRA_16bppformat11101:BGRA_32bppformat11110:FloatingColorformat11111:ReservedIfthereisNOAlphachannelinthedefinedformat,fill1.
0asAlphavalue.
ForBit[18:16]:ForLuminanceFormat:000-100:Reserved101:AL88(Bits[15:8]=A,Bits[7:0]=L)110:L16(Bits[15:0]=L)ForL16format,post-renderingmustbedisabled.
111:ReservedForYUVFormat(VideoTexture):000:Packagemode(Bits[31:24]=VorCr,Bits[23:16]=Y1,Bits[15:8]=UorCb,Bits[7:0]=Y0)Others:ReservedForreadingcolor,considerthe8-bitYaspositive8-bitG,8-bitUaspositive8-bitR,and8-bitVaspositive8-bitB.
Thenextendthemtos1.
10accordingtosettingofColorExtendingMode(seebit15).
Forwritingcolor,theadjacent2pixelsarecombinedinto32bitsandsharesame8-bitUandV.
ConsideranevenpixelwithR0,G0&B0(dithered8-bitcolor),andthenextoddpixelwithR1,G1&B1(dithered8-bitcolor),thepackedresultis{(B0+B1)/2,G1,(R0+R1)/2,G0}.
Notethe(B0+B1)/2and(R0+R1)/2aretheresultofrounding.
ForARGB_16bppFormat:000:RGB555(Bits[14:10]=R,Bits[9:5]=G,Bits[4:0]=B)001:RGB565(Bits[15:11]=R,Bits[10:5]=G,Bits[4:0]=B)010:ARGB1555(Bit[15]=A,Bits[14:10]=R,Bits[9:5]=G,Bits[4:0]=B)011:ARGB4444(Bits[15:12]=A,Bits[11:8]=R,Bits[7:4]=G,Bits[3:0]=B)100:Reserved101:RGB565forwritecolor:Bits[15:11]=B,Bits[10:5]=G,Bits[4:0]=R.
Asforreadcolor:Bits[15:11]=B,Bits[10:6]=G,Bits[4:0]=R11x:ReservedForARGB_32bppFormat:000:ARGB0888(Bits[23:16]=R,Bits[15:8]=G,Bits[7:0]=B)001:ARGB8888(Bits[31:24]=A,Bits[23:16]=R,Bits[15:8]=G,Bits[7:0]=B)010:ARGB2_10_10_10(Bits[31:30]=A,Bits[29:20]=R,Bits[19:10]=G,Bits[9:0]=B)011-1xx:ReservedForABGR_16bppFormat:000:BGR555(Bits[14:10]=B,Bits[9:5]=G,Bits[4:0]=R)001:BGR565(Bits[15:11]=B,Bits[10:5]=G,Bits[4:0]=R)010:ABGR1555(Bit[15]=A,Bits[14:10]=B,Bits[9:5]=G,Bits[4:0]=R)011:ABGR4444(Bits[15:12]=A,Bits[11:8]=B,Bits[7:4]=G,Bits[3:0]=R)100:Reserved101:BGR565forwritecolor,Bits[15:11]=B,Bits[10:5]=G,Bits[4:0]=R.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009963DRegistersAsforreadcolor,Bits[15:11]=B,Bits[10:6]=G,Bits[4:0]=R.
11x:ReservedForABGR_32bppFormat:000:ABGR0888(Bits[23:16]=B,Bits[15:8]=G,Bits[7:0]=R)001:ABGR8888(Bits[31:24]=A,Bits[23:16]=B,Bits[15:8]=G,Bits[7:0]=R)010:ABGR2_10_10_10(Bits[31:30]=A,Bits[29:20]=B,Bits[19:10]=G,Bits[9:0]=R)011:G16R16(Bits[31:16]=G,Bits[15:0]=R).
ForG16R16format,post-renderingmustbedisabled.
1xx:ReservedForRGBA_16bppFormat:000:RGB555(Bits[15:11]=R,Bits[10:6]=G,Bits[5:1]=B)001:RGB565(Bits[15:11]=R,Bits[10:5]=G,Bits[4:0]=B)A=1.
0010:RGBA1555(Bits[15:11]=R,Bits[10:6]=G,Bits[5:1]=B,Bit[0]=A)011:RGBA4444(Bits[15:12]=R,Bits[11:8]=G,Bits[7:4]=B,Bits[3:0]=A)100:Reserved101:RGB565forwritecolor,Bits[15:11]=R,Bits[10:5]=G,Bits[4:0]=B.
Asforreadcolor,Bits[15:11]=R,Bits[10:6]=G,Bits[4:0]=B,A=1.
0.
11x:ReservedForRGBA_32bppFormat:000:RGBA8880(Bits[31:24]=R,Bits[23:16]=G,Bits[15:8]=B)A=1.
0001:RGBA8888(Bits[31:24]=R,Bits[23:16]=G,Bits[15:8]=B,Bits[7:0]=A)010:RGBA10_10_10_2(Bits[31:22]=R,Bits[21:12]=G,Bits[11:2]=B,Bits[1:0]=R)011-1xx:ReservedForABGR_16bppFormat:000:BGR555(Bits[15:11]=B,Bits[10:6]=G,Bits[5:1]=R)A=1.
0001:BGR565(Bits[15:11]=B,Bits[10:5]=G,Bits[4:0]=R)A=1.
0010:BGRA1555(Bits[15:11]=B,Bits[10:6]=G,Bits[5:1]=R,Bits[0]=A)011:BGRA4444(Bits[15:12]=B,Bits[11:8]=G,Bits[7:4]=R,Bits[3:0]=A)100:Reserved101:BGR565forwritecolor,Bits[15:11]=B,Bits[10:5]=G,Bits[4:0]=RButforreadcolor,Bits[15:11]=B,Bits[10:6]=G,Bits[4:0]=RA=1.
011x:ReservedForBGRA_32bppFormat:000:BGRA8880(Bits[31:24]=B,Bits[23:16]=G,Bits[15:8]=R)A=1.
0001:BGRA8888(Bits[31:24]=B,Bits[23:16]=G,Bits[15:8]=R,Bits[7:0]=R)010:BGRA10_10_10_2(Bits[31:22]=B,Bits[21:12]=G,Bits[11:2]=R,Bits[1:0]=R)011-1xx:ReservedForFloatingColorFormat:000:R16F(Bits[15:0]=R)100:G16FR16F(Bits[31:16]=R,Bits[15:0]=G)101:R32F(Bits[31:0]=R)Forfloatingcolorformat,post-renderingmustbedisabledVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009973DRegisters15WOxxhColorExtendingMode(ExcludingAlpha)0:ExtendingwithhighcolorbitTranslateto1.
10format.
10=>11C11=C10*(1024/1023)=C10+(1/1023)*C10C1011C11=C8*(1024/255)=4*C8+(4/255)*C8C811C11=C6*(1024/63)=16*C6+(16/63)*C6C611C11=C5*(1024/31)=33C5+(1/31)*C5=32*C5+C5+(1/31)*C5C511C11=C4*(1024/15)=68*C4+(4/15)*C4=64*C4+4*C4+(4/15)*C4C411asexample:C11=0.
C6000014:13WOxxhReserved12WOxxhSaturationofPS'sOutputforRenderTarget"M"0:ClampPS'soutputcoloroCmtorelatedrendertagerformat'srangeForformatARGBandLuminance:MINVALUE=0.
0,MAXVALUE=1.
0.
For16-bitfloatingcolorformat:MINVALUE=16'hFBFF,MAXVALUE=16'h7BFF.
For32-bitfloatingcolorformat:MINVALUE=32'h7F7FFFFF,MAXVALUE=32'hFF7FFFFF.
ClampedValue=min(MAXVALUE,max(oCm,MINVALUE))NoteifoCmis"NAN",clampedvalueisMINVALUE.
1:oCmdoesn'tclamp11:10WOxxhReserved9:0WOxxhRenderTarget0'sPitchInunitof32bytesforlinearmode.
Inunitoftile(256bytesor512bytesdependonHMRT0TileH16)fortilemode.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009983DRegistersHParaType=01h,Sub-Address=53hDestinationSetting–RenderTarget0–Setting4Bits[23:0]AttributeDefaultDescription23WOxxhRenderTarget0'sYInverseforDither0:Notinverse1:Inverse22:21WOxxhRenderTarget0'sYBiasforDither20WOxxhRenderTarget0'sXInverseforDither0:Notinverse1:Inverse19:18WOxxhRenderTarget0'sXBiasforDither17WOxxhReserved16:15WOxxhRenderTarget0'sDitherMode00:DitherTablewithmultipliedby(2^n–1)10:Roundingwithmultipliedby(2^n–1)01:DitherTablewithoutmultipliedby(2^n–1)11:Roundingwithoutmultipliedby(2^n–1)14:12WOxxhReserved11:8WOxxhRenderTarget0'sRasterOperation0000:BLACK00001:NOT_MERGE_PENDPon0010:MASK_NOT_PENDPna0011:NOT_COPY_PENPn0100:MASK_PEN_NOTPDna0101:NOTDn0110:XOR_PENDPx0111:NOT_MASK_PENDPan1000:MASK_PENDPa1001:NOT_XOR_PENDPxn1010:NOPD1011:MERGE_NOT_PENDPno1100:COPY_PENP1101:MERGE_PEN_NOTPDno1110:MERGE_PENDPo1111:WHITE17WOxxhReserved6WOxxhDeGammaforRenderTarget0'sReadingColor0:Disable1:Enable.
Useone-by-onemappingtodeGammathereadencolorfrom2.
2to1.
0colorfieldbeforealphablendingoperation.
5:4WOxxhRenderTarget0isSRGB00:Gamma1.
0field.
DisableGammacorrectionofwritingbackcolor.
01:Gammacorrectionenabled.
Useone-by-onemappingtotransformthecolortogamma2.
2fieldbeforewrittenbacktocolorbuffer.
10:Gammecorrectionenabled.
UseGammaTable"HGTWC"totransformeachcolorchanneltoaspecificcolorfieldbeforewrittenbacktocolorbuffer.
11:Reserved3WOxxhMaskofRenderTarget0'sAlphaChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber2WOxxhMaskofRenderTarget0'sRedChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber1WOxxhMaskofRenderTarget0'sGreenChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber0WOxxhMaskofRenderTarget0'sBlueChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:TherelativedatabitwillbeupdatedbyanewcalculatednumberHParaType=01h,Sub-Address=54–57h:Reserved(forDestinationSetting–RenderTarget0)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,2009993DRegistersHParaType=01h,Sub-Address=58hDestinationSetting–RenderTarget1–Setting1Bits[23:0]AttributeDefaultDescription23:0WOxxhRenderTarget1'sBaseAddressInunitof256bytes.
HParaType=01h,Sub-Address=59hDestinationSetting–RenderTarget1–Setting2Bits[23:0]AttributeDefaultDescription23WOxxhMemoryModeofRenderTarget10:Linearmode1:Tilemode22WOxxhRenderTarget1'sTileis16-Pexelhigh0:Normal8-pixelhigh1:16-pixelhigh21:20WOxxhLocationSettingofRenderTarget100:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved19:0WOxxhReservedHParaType=01h,Sub-Address=5AhDestinationSetting–RenderTarget1–Setting3Bits[23:0]AttributeDefaultDescription23:16WOxxhRenderTarget1'sFormatThedefinitionissameasRenderTarget0'sFormat.
PleaserefertoHParaType01h,Sub-Address52hbits[23:16]fordetails.
15WOxxhColorExtendingMode(ExcludingAlpha)0:Extendingwithhighcolorbit1:ExtendingwithzeroPleaserefertoHParaType01h,Sub-Address52hbit[15]fordetails.
14:13WOxxhReserved12WOxxhSaturationofPS'sOutputforRenderTarget"M"0:ClampPS'soutputcoloroCmtorelatedrendertagerformat'srangeForformatARGBandLuminance:MINVALUE=0.
0,MAXVALUE=1.
0For16-bitfloatingcolorformat:MINVALUE=16'hFBFF,MAXVALUE=16'h7BFFFor32-bitfloatingcolorformat:MINVALUE=32'h7F7FFFFF,MAXVALUE=32'hFF7FFFFFClampedValue=min(MAXVALUE,max(oCm,MINVALUE))NoteifoCmis"NAN",clampedvalueisMINVALUE1:oCmdoesn'tclamp11:10WOxxhReserved9:0WOxxhRenderTarget1'sPitchInunitof32bytesforlinearmode.
Inunitoftile(256bytesor512bytesdependonHMRT1TileH16)fortilemode.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091003DRegistersHParaType=01h,Sub-Address=5BhDestinationSetting–RenderTarget1–Setting4Bits[23:0]AttributeDefaultDescription23WOxxhRenderTarget1'sYInverseforDither0:Notinverse1:Inverse22:21WOxxhRenderTarget1'sYBiasforDither20WOxxhRenderTarget1'sXInverseforDither0:Notinverse1:Inverse19:18WOxxhRenderTarget1'sXBiasforDither17WOxxhReserved16:15WOxxhRenderTarget1'sDitherMode00:DitherTablewithmultipliedby(2^n–1)10:Roundingwithmultipliedby(2^n–1)01:DitherTablewithoutmultipliedby(2^n–1)11:Roundingwithoutmultipliedby(2^n–1)14:12WOxxhReserved11:8WOxxhRenderTarget1'sRasterOperation0000:BLACK00001:NOT_MERGE_PENDPon0010:MASK_NOT_PENDPna0011:NOT_COPY_PENPn0100:MASK_PEN_NOTPDna0101:NOTDn0110:XOR_PENDPx0111:NOT_MASK_PENDPan1000:MASK_PENDPa1001:NOT_XOR_PENDPxn1010:NOPD1011:MERGE_NOT_PENDPno1100:COPY_PENP1101:MERGE_PEN_NOTPDno1110:MERGE_PENDPo1111:WHITE17WOxxhReserved6WOxxhDeGammaforRenderTarget1'sReadingColor0:Disable1:Enable.
Useone-by-onemappingtodeGammathereadencolorfrom2.
2to1.
0colorfieldbeforealphablendingoperation.
5:4WOxxhRenderTarget1isSRGB00:Gamma1.
0field.
DisableGammacorrectionofwritingbackcolor01:Gammacorrectionenabled.
Useone-by-onemappingtotransformthecolortogamma2.
2fieldbeforewrittenbacktocolorbuffer10:Gammecorrectionenabled.
UseGammaTable"HGTWC"totransformeachcolorchanneltoaspecificcolorfieldbeforewrittenbacktocolorbuffer11:Reserved3WOxxhMaskofRenderTarget1'sAlphaChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber2WOxxhMaskofRenderTarget1'sRedChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber1WOxxhMaskofRenderTarget1'sGreenChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber0WOxxhMaskofRenderTarget1'sBlueChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:TherelativedatabitwillbeupdatedbyanewcalculatednumberHParaType=01h,Sub-Address=5C-5Fh:Reserved(forDestinationSetting–RenderTarget1)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091013DRegistersHParaType=01h,Sub-Address=60hDestinationSetting–RenderTarget2–Setting1Bits[23:0]AttributeDefaultDescription23:0WOxxhRenderTarget2'sBaseAddressInunitof256bytes.
HParaType=01h,Sub-Address=61hDestinationSetting–RenderTarget2–Setting2Bits[23:0]AttributeDefaultDescription23WOxxhMemoryModeofRenderTarget20:Linearmode1:Tilemode22WOxxhRenderTarget2'sTileis16-pexelhigh0:Normal8-pixelhigh1:16-pixelhigh21:20WOxxhLocationSettingofRenderTarget200:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved19:0WOxxhReservedHParaType=01h,Sub-Address=62hDestinationSetting–RenderTarget2–Setting3Bits[23:0]AttributeDefaultDescription23:16WOxxhRenderTarget2'sFormatThedefinitionissameasRenderTarget0'sFormat.
PleaserefertoHParaType01h,Sub-Address52hbits[23:16]fordetails.
15WOxxhColorExtendingMode(ExcludingAlpha)0:Extendingwithhighcolorbit1:ExtendingwithzeroPleaserefertoHParaType01h,Sub-Address52hbit[15]fordetails.
14:13WOxxhReserved12WOxxhSaturationofPS'sOutputforRenderTarget"M"0:ClampPS'soutputcoloroCmtorelatedrendertagerformat'srangeForformatARGBandLuminance:MINVALUE=0.
0,MAXVALUE=1.
0For16-bitfloatingcolorformat:MINVALUE=16'hFBFF,MAXVALUE=16'h7BFFFor32-bitfloatingcolorformat:MINVALUE=32'h7F7FFFFF,MAXVALUE=32'hFF7FFFFFClampedValue=min(MAXVALUE,max(oCm,MINVALUE))NoteifoCmis"NAN",clampedvalueisMINVALUE1:oCmdoesn'tclamp11:10WOxxhReserved9:0WOxxhRenderTarget2'sPitchInunitof32bytesforlinearmode.
Inunitoftile(256bytesor512bytedependonHMRT2TileH16)fortilemode.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091023DRegistersHParaType=01h,Sub-Address=63hDestinationSetting–RenderTarget2–Setting4Bits[23:0]AttributeDefaultDescription23WOxxhRenderTarget2'sYInverseforDither0:Notinverse1:Inverse22:21WOxxhRenderTarget2'sYBiasforDither20WOxxhRenderTarget2'sXInverseforDither0:Notinverse1:Inverse19:18WOxxhRenderTarget2'sXBiasforDither17WOxxhReserved16:15WOxxhRenderTarget2'sDitherMode00:DitherTablewithmultipliedby(2^n–1)10:Roundingwithmultipliedby(2^n–1)01:DitherTablewithoutmultipliedby(2^n–1)11:Roundingwithoutmultipliedby(2^n–1)14:12WOxxhReserved11:8WOxxhRenderTarget2'sRasterOperation0000:BLACK00001:NOT_MERGE_PENDPon0010:MASK_NOT_PENDPna0011:NOT_COPY_PENPn0100:MASK_PEN_NOTPDna0101:NOTDn0110:XOR_PENDPx0111:NOT_MASK_PENDPan1000:MASK_PENDPa1001:NOT_XOR_PENDPxn1010:NOPD1011:MERGE_NOT_PENDPno1100:COPY_PENP1101:MERGE_PEN_NOTPDno1110:MERGE_PENDPo1111:WHITE17WOxxhReserved6WOxxhDeGammaforRenderTarget2'sReadingColor0:Disable1:Enable.
Useone-by-onemappingtodeGammathereadencolorfrom2.
2to1.
0colorfieldbeforealphablendingoperation.
5:4WOxxhRenderTarget2isSRGB00:Gamma1.
0field.
DisableGammacorrectionofwritingbackcolor01:Gammacorrectionenabled.
Useone-by-onemappingtotransformthecolortogamma2.
2fieldbeforewrittenbacktocolorbuffer10:Gammecorrectionenabled.
UseGammaTable"HGTWC"totransformeachcolorchanneltoaspecificcolorfieldbeforewrittenbacktocolorbuffer11:Reserved3WOxxhMaskofRenderTarget2'sAlphaChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber2WOxxhMaskofRenderTarget2'sRedChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber1WOxxhMaskofRenderTarget2'sGreenChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber0WOxxhMaskofRenderTarget2'sBlueChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:TherelativedatabitwillbeupdatedbyanewcalculatednumberHParaType=01h,Sub-Address=64-67h:Reserved(forDestinationSetting–RenderTarget2)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091033DRegistersHParaType=01h,Sub-Address=68hDestinationSetting–RenderTarget3–Setting1Bits[23:0]AttributeDefaultDescription23:0WOxxhRenderTarget3'sBaseAddressInunitof256bytes.
HParaType=01h,Sub-Address=69hDestinationSetting–RenderTarget3–Setting2Bits[23:0]AttributeDefaultDescription23WOxxhMemoryModeofRenderTarget30:Linearmode1:Tilemode22WOxxhRenderTarget3'sTileis16-pexelhigh0:Normal8-pixelhigh1:16-pixelhigh21:20WOxxhLocationSettingofRenderTarget300:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved19:0WOxxhReservedHParaType=01h,Sub-Address=6AhDestinationSetting–RenderTarget3–Setting3Bits[23:0]AttributeDefaultDescription23:16WOxxhRenderTarget3'sFormatThedefinitionissameasRenderTarget0'sFormat.
PleaserefertoHParaType01h,Sub-Address52hbits[23:16]fordetails.
15WOxxhColorExtendingMode(ExcludingAlpha)0:Extendingwithhighcolorbit1:ExtendingwithzeroPleaserefertoHParaType01h,Sub-Address52hbit[15]fordetails.
14:13WOxxhReserved12WOxxhSaturationofPS'sOutputforRenderTarget"M"0:ClampPS'soutputcoloroCmtorelatedrendertagerformat'srange.
ForformatARGBandLuminance:MINVALUE=0.
0,MAXVALUE=1.
0For16-bitfloatingcolorformat:MINVALUE=16'hFBFF,MAXVALUE=16'h7BFFFor32-bitfloatingcolorformat:MINVALUE=32'h7F7FFFFF,MAXVALUE=32'hFF7FFFFFClampedValue=min(MAXVALUE,max(oCm,MINVALUE))NoteifoCmis"NAN",clampedvalueisMINVALUE1:oCmdoesn'tclamp11:10WOxxhReserved9:0WOxxhRenderTarget3'sPitchInunitof32bytesforlinearmode.
Inunitoftile(256bytesor512bytesdependonHMRT3TileH16)fortilemode.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091043DRegistersHParaType=01h,Sub-Address=6BhDestinationSetting–RenderTarget3–Setting4Bits[23:0]AttributeDefaultDescription23WOxxhRenderTarget3'sYInverseforDither0:Notinverse1:Inverse22:21WOxxhRenderTarget3'sYBiasforDither20WOxxhRenderTarget3'sXInverseforDither0:Notinverse1:Inverse19:18WOxxhRenderTarget3'sXBiasforDither17WOxxhReserved16:15WOxxhRenderTarget3'sDitherMode00:DitherTablewithmultipliedby(2^n–1)10:Roundingwithmultipliedby(2^n–1)01:DitherTablewithoutmultipliedby(2^n–1)11:Roundingwithoutmultipliedby(2^n–1)14:12WOxxhReserved11:8WOxxhRenderTarget3'sRasterOperation0000:BLACK00001:NOT_MERGE_PENDPon0010:MASK_NOT_PENDPna0011:NOT_COPY_PENPn0100:MASK_PEN_NOTPDna0101:NOTDn0110:XOR_PENDPx0111:NOT_MASK_PENDPan1000:MASK_PENDPa1001:NOT_XOR_PENDPxn1010:NOPD1011:MERGE_NOT_PENDPno1100:COPY_PENP1101:MERGE_PEN_NOTPDno1110:MERGE_PENDPo1111:WHITE17WOxxhReserved6WOxxhDeGammaforRenderTarget3'sReadingColor0:Disable1:Enable.
Useone-by-onemappingtodeGammathereadencolorfrom2.
2to1.
0colorfieldbeforealphablendingoperation.
5:4WOxxhRenderTarget3isSRGB00:Gamma1.
0field.
DisableGammacorrectionofwritingbackcolor01:Gammacorrectionenabled.
Useone-by-onemappingtotransformthecolortogamma2.
2fieldbeforewrittenbacktocolorbuffer10:Gammecorrectionenabled.
UseGammaTable"HGTWC"totransformeachcolorchanneltoaspecificcolorfieldbeforewrittenbacktocolorbuffer11:Reserved3WOxxhMaskofRenderTarget3'sAlphaChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber2WOxxhMaskofRenderTarget3'sRedChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber1WOxxhMaskofRenderTarget3'sGreenChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:Therelativedatabitwillbeupdatedbyanewcalculatednumber0WOxxhMaskofRenderTarget3'sBlueChannel0:TherelativedatabitwillremainthesameinFrameBuffer1:TherelativedatabitwillbeupdatedbyanewcalculatednumberHParaType=01h,Sub-Address=6C-6Fh:Reserved(forDestinationSetting–RenderTarget3)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091053DRegistersHParaType=01h,Sub-Address=70hFogSetting1Bits[23:0]AttributeDefaultDescription23:8WOxxhReserved7WOxxhFogFactorSourecFromPS0:FogfactorisgeneratedinPE(Includingvertex,linearorexponentialFog)1:FogfactorandFogoperationisdealtbythePSInsteadof8-bitfixedFogfactor,PEsends"Fogcoordinate"withformatfloatings[7].
10toPS.
Note:Whenthisbitisset,HenFOGRT0,HenFOGRT1,HenFOGMRT2andHenFOGMRT3shouldbedisabled.
6WOxxhLinearFogCalculationFactorSetting20:UseWorZtocalculatelinearFogbysettingofbit41:Useattributre"Fog"asfogcoordinatetocalculatelinearFogIf(HFogLF2==1)//thisbitUseFogattributetocalculatelinearfogorexponentialfog(fogperpixel)Elseif(HFogLF==0)//bit4UseZattributetocalculatelinearfogorexponentialfog(fogperpixel)ElseUseWattributetocalculatelinearfogorexponentialfog(fogperpixel)5WOxxhFogFactorfromSpectraColor'sAlpha0:IndividualFogattribute1:UseSpectral(Color2)AlphaasFogfactor4WOxxhLinearFogCalculationFactorSetting0:UseWtocalculatelinearFog1:UseZtocalculatelinearFog3WOxxhFogEquation0:UseFogequation0:Cout=f*(Cin+Csepc)+(1-f)*HCFog1:UseFogequation1:Cout=(1-f)*(Cin+Cspec)+f*HCFog2:0WOxxhFogModeWhensubstitutingforvertexZ,ZiscalculatedinPS(HZSrcPS=1),linearornon-linearFogfromZisnotallowed.
000:LocalFog001:Reserved(GlobalFog)010:LinearFog011:Reserved100:ExponentialFog101:Exponential_2Fog11x:ReservedNote:Settingof1xx:isforNon-linearFog(UseFogTable).
HParaType=01h,Sub-Address=71hFogSetting2Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhGofHCFogCLPositivefixed-pointfrom0to1.
011WOxxhReserved10:0WOxxhGofHCFogCLPositivefixed-pointfrom0to1.
0HParaType=01h,Sub-Address=72hFogSetting3Bits[23:0]AttributeDefaultDescription23:11WOxxhReserved10:0WOxxhRofFogColorPositivefixed-pointfrom0to1.
0VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091063DRegistersHParaType=01h,Sub-Address=73hFogSetting4Bits[23:0]AttributeDefaultDescription23:15WOxxhReserved14:0WOxxhFogStartFloating-pointisusedtocalculateFogfactor.
Theformatisfloating-point[8].
7.
HParaType=01h,Sub-Address=74hFogSetting5Bits[23:0]AttributeDefaultDescription23:0WOxxhReservedHParaType=01h,Sub-Address=75hFogSetting6Bits[23:0]AttributeDefaultDescription23:4WOxxhReserved3:0WOxxhMantissaPartoftheOneOver(FogEnd-FogStart)Note:Theleadingoneisnotincluded.
HParaType=01h,Sub-Address=76hFogSetting7Bits[23:0]AttributeDefaultDescription23:8WOxxhReserved7:0WOxxhExponentialPartoftheOneOver(FogEnd-FogStart)FormatisIEEE'sfloatingpresentation.
Thevalueof1/(FogEnd–FogStart)is(1.
HfogOOdMF[1:0]*2^(HfogOOdEF–127)).
HParaType=01h,Sub-Address=77hFogSetting8Bits[23:0]AttributeDefaultDescription23:15WOxxhReserved14:0WOxxhLower3BytesofFogEndTheformatofHFogEndisfloating-point[8].
7.
HParaType=01h,Sub-Address=78hFogSetting9Bits[23:0]AttributeDefaultDescription23:21WOxxhReserved20:8WOxxhFogDensitywithPositiveFloatingFormat[8].
5.
7:0WOxxhReservedHParaType=01h,Sub-Address=79-7Fh:Reserved(forFogSetting)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091073DRegistersHParaType=01h,Sub-Address=80hMiscellaneousSetting1Bits[23:0]AttributeDefaultDescription23:12WOxxhColorWindowTopClippingValueintheRangeof0to204811:0WOxxhColorWindowBottomClippingValueintheRangeof0to2048HParaType=01h,Sub-Address=81hMiscellaneousSetting2Bits[23:0]AttributeDefaultDescription23:12WOxxhColorWindowLeftClippingValueintheRangeof0to204811:0WOxxhColorWindowRightClippingValueintheRangeof0to2048HParaType=01h,Sub-Address=82hMiscellaneousSetting3Bits[23:0]AttributeDefaultDescription23:12WOxxhScissorWindowTopClippingValueintheRangeof0to204811:0WOxxhScissorWindowBottomClippingValueintheRangeof0to2048HParaType=01h,Sub-Address=83hMiscellaneousSetting4Bits[23:0]AttributeDefaultDescription23:12WOxxhScissorWindowLeftClippingValueintheRangeof0to204811:0WOxxhScissorWindowRightClippingValueintheRangeof0to2048HParaType=01h,Sub-Address=84hMiscellaneousSetting5Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:0WOxxhLinePatternTheLinePatternbitstartsfromtheLSB.
HParaType=01h,Sub-Address=85hMiscellaneousSetting6Bits[23:0]AttributeDefaultDescription23WOxxhLinePatternResetHardwarewouldresetrelatedrepeatcounterautomaticallywheneverthisregisterissetto"1".
ItisNOTnecessaryfordrivertoclearthisbit.
Hardwarewouldclearitafterthecounterreset.
22:16WOxxhReserved15:0WOxxhLinePatternRepeatFactorThisnumberdenoteshowmanytimesthatalinepatternbitwillbeusedforseverallinepixels.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091083DRegistersHParaType=01h,Sub-Address=86hMiscellaneousSetting7-Lower3BytesofSolidShadingColorBits[23:0]AttributeDefaultDescription23:16WOxxhRofSolidShadingColor15:8WOxxhGofSolidShadingColor7:0WOxxhBofSolidShadingColorHParaType=01h,Sub-Address=87hMiscellaneousSetting8-HighestByteofSolidShadingColorBits[23:0]AttributeDefaultDescription23:8WOxxhReserved7:0WOxxhAlphaofSolidShadingColorHParaType=01h,Sub-Address=88hMiscellaneousSetting9Bits[23:0]AttributeDefaultDescription23:13WOxxhReserved12:0WOxxhGuardBandWindowLeftClippingValueFormatass122'scomplementHParaType=01h,Sub-Address=89hMiscellaneousSetting10Bits[23:0]AttributeDefaultDescription23:13WOxxhReserved12:0WOxxhGuardBandWindowRightClippingValueFormatass122'scomplementHParaType=01h,Sub-Address=8AhMiscellaneousSetting11Bits[23:0]AttributeDefaultDescription23WOxxhEnhanceTX'sPrecisionDuringPE'sRendering0:Disable1:Enable22:17WOxxhReserved16WOxxhZeroRoundModefortheTextureCoordinatefromPEtoPS0:Roundtozero1:Roundto0+15:4WOxxhBottomYValueforPS'sLocationRegisterAs12positiveinteger3WOxxhEnableHYB4LocationRegHYB4LocationRegisdefinedinbits[15:4].
0:Disable1:EnableIf((HPSLocationReg==true)//T01A90[19]andthisbitisset)LocationReg.
Y=floating(HYB4LocationReg–PEY)ElseLocationReg.
Y=floating(PEY)2WOxxhPreModulateColor0(DiffuseColor)withWs0:Notpre-modulated;multiplyC0andWsinSE1:Pre-modulated;don'tmultiplyC0andWsinWS1WOxxhPreModulateColor1(SpeculaColor)withWs0:Notpre-modulated;multiplyC1andWsinSE1:Pre-modulated;don'tmultiplyC1andWsinWSVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091093DRegisters0WOxxhPreModulateFogwithWs0:Notpre-modulated;multiplyFogandWsinSE1:Pre-modulated;don'tmultiplyFogandWsinWS23:0WOxxhReservedHParaType=01h,Sub-Address=8B-8Fh:Reserved(forMiscellaneousSetting)HParaType=01h,Sub-Address=90hPixelShaderSetting1Bits[23:0]AttributeDefaultDescription23WOxxhDisabletheFuntionofDetecting"ALUOut"byHardwarePS0:PSwoulddetectthe"ALUOut"automaticly1:"ALUOut"setbysoftwarePScode22WOxxhSoftwareSetstheHPSDPNTAU_N0:HardwarejudgesdependantTAUinstructionby(HPSINAtoT[127:0]!
=128'h0|HPSFIREALU)1:SoftwaresetsHPSDPNTAU_N(bit21)andhardwarefollowed21WOxxhTAUExecuteDependantInstructionControl0:ThereisdependantTAUinstruction1:NodependantTAUinstruction20WOxxhTAUExcutesDependantTXKILLInstructionControl0:TAUwouldexcutedependantTXKILLinstruction1:TAUwouldnotexcutedependantTXKILLinstructionExampleof"dependantTXKILL"Example1txldr0,t0,s0loadtextureforCVALID|STVALIDmadt1,r0,xx,xxtxkillt1effectbothCVALIDandSTVALIDNotetoSWDriver:Wheneverthereisany"dependantTXKILL",pleasekeepthisregister"false".
OnlyWITHOUTany"depandantTXKILL",set"HPSDPNTXkill_N"to"true".
For"independand"PScode,"dependantTXKILL"mustnotexistthusHPSDPNTXkill_N"hadbettertobesetforperformanceissue.
19WOxxhPixelShaderGetsLocationRegister(X,Y,Z,1/W)fromPE0:NolocationRegisterusedinPS1:LocationRegisterusedinPS18WO0PixelShaderFiredbyALUInstructionInitially0:Disable(Default)1:Enable17WOxxhTheContentsofPS'sConstantRegisterswithIndex32to54AretheSameastheContentsinIndexfrom0to220:Filledindependently1:Fillthesamevaluetonand(n+32)16:15WOxxhPixelShaderConfigure00:Normalconfigure.
Thereare16textureregistersand12temporaryregistersusedforeachpixel.
01:Doubleconfigure.
Thereare8textureregistersand6temporaryregistersusedforeachpixel.
10:Trippleconfigure.
Thereare5textureregistersand4temporaryregistersusedforeachpixel.
11:4-Timeconfigure.
Thereare4textureregistersand3temporaryregistersusedforeachpixel.
14WOxxhTextureRegister14(t14)AstheInputtoALU0:None1:ForALU(Arithmeticunit)13WOxxhTextureRegister13(t13)AstheInputtoALU0:None1:ForALU(Arithmeticunit)12WOxxhTextureRegister12(t12)AstheInputtoALU0:None1:ForALU(Arithmeticunit)11WOxxhTextureRegister11(t11)AstheInputtoALU0:None1:ForALU(Arithmeticunit)10WOxxhTextureRegister10(t10)AstheInputtoALU0:None1:ForALU(Arithmeticunit)9WOxxhTextureRegister9(t9)AstheInputtoALU0:None1:ForALU(Arithmeticunit)8WOxxhTextureRegister8(t8)AstheInputtoALU0:None1:ForALU(Arithmeticunit)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091103DRegisters7WOxxhTextureRegister7(t7)AstheInputtoALU0:None1:ForALU(Arithmeticunit)6WOxxhTextureRegister6(t6)AstheInputtoALU0:None1:ForALU(Arithmeticunit)5WOxxhTextureRegister5(t5)AstheInputtoALU0:None1:ForALU(Arithmeticunit)4WOxxhTextureRegister4(t4)AstheInputtoALU0:None1:ForALU(Arithmeticunit)3WOxxhTextureRegister3(t3)AstheInputtoALU0:None1:ForALU(Arithmeticunit)2WOxxhTextureRegister2(t2)AstheInputtoALU0:None1:ForALU(Arithmeticunit)1WOxxhTextureRegister1(t1)AstheInputtoALU0:None1:ForALU(Arithmeticunit)0WOxxhTextureRegister0(t0)AstheInputtoALU0:None1:ForALU(Arithmeticunit)HParaType=01h,Sub-Address=91hPixelShaderSetting2Bits[23:0]AttributeDefaultDescription23WOxxhTextureRegister15(t15)AstheInputtoALU0:None1:ForALU(Arithmeticunit)22:16WOxxhReserved15WOxxhTextureRegister15(t15)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)14WOxxhTextureRegister14(t14)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)13WOxxhTextureRegister13(t13)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)12WOxxhTextureRegister12(t12)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)11WOxxhTextureRegister11(t11)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)10WOxxhTextureRegister10(t10)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)9WOxxhTextureRegister9(t9)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)8WOxxhTextureRegister8(t8)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)7WOxxhTextureRegister7(t7)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)6WOxxhTextureRegister6(t6)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)5WOxxhTextureRegister5(t5)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)4WOxxhTextureRegister4(t4)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091113DRegisters3WOxxhTextureRegister3(t3)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)2WOxxhTextureRegister2(t2)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)1WOxxhTextureRegister1(t1)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)0WOxxhTextureRegister0(t0)AstheInputtoTAU0:None1:ForTAU(Textureaddressunit)HParaType=01h,Sub-Address=92hPixelShaderSetting3Bits[23:0]AttributeDefaultDescription23WOxxhTheResultofSOP'sSpecialCaseControl0:TheresultofSOP'sspecialcasesuchas1/0or1/√0is"MAX"1:TheresultofSOP'sspecialcasesuchas1/0or1/√0is"INFINITE"22WOxxhReserved21:16WOxxhLengthofTAUInstruction15WOxxhEnableTextureRegister12-15SwappingtoInternalRegister0-3wheneverTAU-to-ALUSwitches0:Disable1:Enable14WOxxhEnableInternalRegister0-3SwappingtoTextureRegister12-15wheneverALU-to-TAUSwitches0:Disable1:Enable13:9WOxxhReserved8:0WOxxhLengthofALUInstructionHParaType=01h,Sub-Address=93hPixelShaderSetting4Bits[23:0]AttributeDefaultDescription23WOxxhInstructionSwitchfromTAUtoALUafterthe23rdTAUInstruction0:OperatenextTAUinstruction1:SwitchtooperateALUinstruction22WOxxhInstructionSwitchfromTAUtoALUafterthe22ndTAUInstruction21WOxxhInstructionSwitchfromTAUtoALUafterthe21stTAUInstruction20WOxxhInstructionSwitchfromTAUtoALUafterthe20thTAUInstruction19WOxxhInstructionSwitchfromTAUtoALUafterthe19thTAUInstruction18WOxxhInstructionSwitchfromTAUtoALUafterthe18thTAUInstruction17WOxxhInstructionSwitchfromTAUtoALUafterthe17thTAUInstruction16WOxxhInstructionSwitchfromTAUtoALUafterthe16thTAUInstruction15WOxxhInstructionSwitchfromTAUtoALUafterthe15thTAUInstruction14WOxxhInstructionSwitchfromTAUtoALUafterthe14thTAUInstruction13WOxxhInstructionSwitchfromTAUtoALUafterthe13thTAUInstruction12WOxxhInstructionSwitchfromTAUtoALUafterthe12thTAUInstruction11WOxxhInstructionSwitchfromTAUtoALUafterthe11thTAUInstruction10WOxxhInstructionSwitchfromTAUtoALUafterthe10thTAUInstruction9WOxxhInstructionSwitchfromTAUtoALUafterthe9thTAUInstruction8WOxxhInstructionSwitchfromTAUtoALUafterthe8thTAUInstruction7WOxxhInstructionSwitchfromTAUtoALUafterthe7thTAUInstruction6WOxxhInstructionSwitchfromTAUtoALUafterthe6thTAUInstruction5WOxxhInstructionSwitchfromTAUtoALUafterthe5thTAUInstruction4WOxxhInstructionSwitchfromTAUtoALUafterthe4thTAUInstruction3WOxxhInstructionSwitchfromTAUtoALUafterthe3rdTAUInstruction2WOxxhInstructionSwitchfromTAUtoALUafterthe2ndTAUInstruction1WOxxhInstructionSwitchfromTAUtoALUafterthe1stTAUInstruction0WOxxhInstructionSwitchfromTAUtoALUafterthe0thTAUInstructionVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091123DRegistersHParaType=01h,Sub-Address=94hPixelShaderSetting5Bits[23:0]AttributeDefaultDescription23:8WOxxhReserved7WOxxhInstructionSwitchfromTAUtoALUafterthe31stTAUInstruction6WOxxhInstructionSwitchfromTAUtoALUafterthe30thTAUInstruction5WOxxhInstructionSwitchfromTAUtoALUafterthe29thTAUInstruction4WOxxhInstructionSwitchfromTAUtoALUafterthe28thTAUInstruction3WOxxhInstructionSwitchfromTAUtoALUafterthe27thTAUInstruction2WOxxhInstructionSwitchfromTAUtoALUafterthe26thTAUInstruction1WOxxhInstructionSwitchfromTAUtoALUafterthe25thTAUInstruction0WOxxhInstructionSwitchfromTAUtoALUafterthe24thTAUInstructionHParaType=01h,Sub-Address=95hPixelShaderSetting6Bits[23:0]AttributeDefaultDescription23WOxxhInstructionSwitchfromALUtoTAUafterthe23rdALUInstruction0:OperatenextALUinstruction1:SwitchtooperateTAUinstruction22WOxxhInstructionSwitchfromALUtoTAUafterthe22ndALUInstruction21WOxxhInstructionSwitchfromALUtoTAUafterthe21stALUInstruction20WOxxhInstructionSwitchfromALUtoTAUafterthe20thALUInstruction19WOxxhInstructionSwitchfromALUtoTAUafterthe19thALUInstruction18WOxxhInstructionSwitchfromALUtoTAUafterthe18thALUInstruction17WOxxhInstructionSwitchfromALUtoTAUafterthe17thALUInstruction16WOxxhInstructionSwitchfromALUtoTAUafterthe16thALUInstruction15WOxxhInstructionSwitchfromALUtoTAUafterthe15thALUInstruction14WOxxhInstructionSwitchfromALUtoTAUafterthe14thALUInstruction13WOxxhInstructionSwitchfromALUtoTAUafterthe13thALUInstruction12WOxxhInstructionSwitchfromALUtoTAUafterthe12thALUInstruction11WOxxhInstructionSwitchfromALUtoTAUafterthe11thALUInstruction10WOxxhInstructionSwitchfromALUtoTAUafterthe10thALUInstruction9WOxxhInstructionSwitchfromALUtoTAUafterthe9thALUInstruction8WOxxhInstructionSwitchfromALUtoTAUafterthe8thALUInstruction7WOxxhInstructionSwitchfromALUtoTAUafterthe7thALUInstruction6WOxxhInstructionSwitchfromALUtoTAUafterthe6thALUInstruction5WOxxhInstructionSwitchfromALUtoTAUafterthe5thALUInstruction4WOxxhInstructionSwitchfromALUtoTAUafterthe4thALUInstruction3WOxxhInstructionSwitchfromALUtoTAUafterthe3rdALUInstruction2WOxxhInstructionSwitchfromALUtoTAUafterthe2ndALUInstruction1WOxxhInstructionSwitchfromALUtoTAUafterthe1stALUInstruction0WOxxhInstructionSwitchfromALUtoTAUafterthe0thALUInstructionVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091133DRegistersHParaType=01h,Sub-Address=96hPixelShaderSetting7Bits[23:0]AttributeDefaultDescription23WOxxhInstructionSwitchfromALUtoTAUafterthe47thALUInstruction0:OperatenextALUinstruction1:SwitchtooperateTAUinstruction22WOxxhInstructionSwitchfromALUtoTAUafterthe46thALUInstruction21WOxxhInstructionSwitchfromALUtoTAUafterthe45thALUInstruction20WOxxhInstructionSwitchfromALUtoTAUafterthe44thALUInstruction19WOxxhInstructionSwitchfromALUtoTAUafterthe43rdALUInstruction18WOxxhInstructionSwitchfromALUtoTAUafterthe42ndALUInstruction17WOxxhInstructionSwitchfromALUtoTAUafterthe41stALUInstruction16WOxxhInstructionSwitchfromALUtoTAUafterthe40thALUInstruction15WOxxhInstructionSwitchfromALUtoTAUafterthe39thALUInstruction14WOxxhInstructionSwitchfromALUtoTAUafterthe38thALUInstruction13WOxxhInstructionSwitchfromALUtoTAUafterthe37thALUInstruction12WOxxhInstructionSwitchfromALUtoTAUafterthe36thALUInstruction11WOxxhInstructionSwitchfromALUtoTAUafterthe35thALUInstruction10WOxxhInstructionSwitchfromALUtoTAUafterthe34thALUInstruction9WOxxhInstructionSwitchfromALUtoTAUafterthe33thALUInstruction8WOxxhInstructionSwitchfromALUtoTAUafterthe32thALUInstruction7WOxxhInstructionSwitchfromALUtoTAUafterthe31stALUInstruction6WOxxhInstructionSwitchfromALUtoTAUafterthe30thALUInstruction5WOxxhInstructionSwitchfromALUtoTAUafterthe29thALUInstruction4WOxxhInstructionSwitchfromALUtoTAUafterthe28thALUInstruction3WOxxhInstructionSwitchfromALUtoTAUafterthe27thALUInstruction2WOxxhInstructionSwitchfromALUtoTAUafterthe26thALUInstruction1WOxxhInstructionSwitchfromALUtoTAUafterthe25thALUInstruction0WOxxhInstructionSwitchfromALUtoTAUafterthe24thALUInstructionHParaType=01h,Sub-Address=97hPixelShaderSetting8Bits[23:0]AttributeDefaultDescription23WOxxhInstructionSwitchfromALUtoTAUafterthe71stALUInstruction0:OperatenextALUinstruction1:SwitchtooperateTAUinstruction22WOxxhInstructionSwitchfromALUtoTAUafterthe70thALUInstruction21WOxxhInstructionSwitchfromALUtoTAUafterthe69thALUInstruction20WOxxhInstructionSwitchfromALUtoTAUafterthe68thALUInstruction19WOxxhInstructionSwitchfromALUtoTAUafterthe67thALUInstruction18WOxxhInstructionSwitchfromALUtoTAUafterthe66thALUInstruction17WOxxhInstructionSwitchfromALUtoTAUafterthe65thALUInstruction16WOxxhInstructionSwitchfromALUtoTAUafterthe64thALUInstruction15WOxxhInstructionSwitchfromALUtoTAUafterthe63rdALUInstruction14WOxxhInstructionSwitchfromALUtoTAUafterthe62ndALUInstruction13WOxxhInstructionSwitchfromALUtoTAUafterthe61stALUInstruction12WOxxhInstructionSwitchfromALUtoTAUafterthe60thALUInstruction11WOxxhInstructionSwitchfromALUtoTAUafterthe59thALUInstruction10WOxxhInstructionSwitchfromALUtoTAUafterthe58thALUInstruction9WOxxhInstructionSwitchfromALUtoTAUafterthe57thALUInstruction8WOxxhInstructionSwitchfromALUtoTAUafterthe56thALUInstruction7WOxxhInstructionSwitchfromALUtoTAUafterthe55thALUInstruction6WOxxhInstructionSwitchfromALUtoTAUafterthe54thALUInstruction5WOxxhInstructionSwitchfromALUtoTAUafterthe53rdALUInstruction4WOxxhInstructionSwitchfromALUtoTAUafterthe52ndALUInstruction3WOxxhInstructionSwitchfromALUtoTAUafterthe51stALUInstruction2WOxxhInstructionSwitchfromALUtoTAUafterthe50thALUInstruction1WOxxhInstructionSwitchfromALUtoTAUafterthe49thALUInstruction0WOxxhInstructionSwitchfromALUtoTAUafterthe48thALUInstructionVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091143DRegistersHParaType=01h,Sub-Address=98hPixelShaderSetting9Bits[23:0]AttributeDefaultDescription23WOxxhInstructionSwitchfromALUtoTAUafterthe95thALUInstruction0:OperatenextALUinstruction1:SwitchtooperateTAUinstruction22WOxxhInstructionSwitchfromALUtoTAUafterthe94thALUInstruction21WOxxhInstructionSwitchfromALUtoTAUafterthe93rdALUInstruction20WOxxhInstructionSwitchfromALUtoTAUafterthe92ndALUInstruction19WOxxhInstructionSwitchfromALUtoTAUafterthe91stALUInstruction18WOxxhInstructionSwitchfromALUtoTAUafterthe90thALUInstruction17WOxxhInstructionSwitchfromALUtoTAUafterthe89thALUInstruction16WOxxhInstructionSwitchfromALUtoTAUafterthe88thALUInstruction15WOxxhInstructionSwitchfromALUtoTAUafterthe87thALUInstruction14WOxxhInstructionSwitchfromALUtoTAUafterthe86thALUInstruction13WOxxhInstructionSwitchfromALUtoTAUafterthe85thALUInstruction12WOxxhInstructionSwitchfromALUtoTAUafterthe84thALUInstruction11WOxxhInstructionSwitchfromALUtoTAUafterthe83rdALUInstruction10WOxxhInstructionSwitchfromALUtoTAUafterthe82ndALUInstruction9WOxxhInstructionSwitchfromALUtoTAUafterthe81stALUInstruction8WOxxhInstructionSwitchfromALUtoTAUafterthe80thALUInstruction7WOxxhInstructionSwitchfromALUtoTAUafterthe79thALUInstruction6WOxxhInstructionSwitchfromALUtoTAUafterthe78thALUInstruction5WOxxhInstructionSwitchfromALUtoTAUafterthe77thALUInstruction4WOxxhInstructionSwitchfromALUtoTAUafterthe76thALUInstruction3WOxxhInstructionSwitchfromALUtoTAUafterthe75thALUInstruction2WOxxhInstructionSwitchfromALUtoTAUafterthe74thALUInstruction1WOxxhInstructionSwitchfromALUtoTAUafterthe73rdALUInstruction0WOxxhInstructionSwitchfromALUtoTAUafterthe72ndALUInstructionHParaType=01h,Sub-Address=99hPixelShaderSetting10Bits[23:0]AttributeDefaultDescription23WOxxhInstructionSwitchfromALUtoTAUafterthe119thALUInstruction0:OperatenextALUinstruction1:SwitchtooperateTAUinstruction22WOxxhInstructionSwitchfromALUtoTAUafterthe118thALUInstruction21WOxxhInstructionSwitchfromALUtoTAUafterthe117thALUInstruction20WOxxhInstructionSwitchfromALUtoTAUafterthe116thALUInstruction19WOxxhInstructionSwitchfromALUtoTAUafterthe115thALUInstruction18WOxxhInstructionSwitchfromALUtoTAUafterthe114thALUInstruction17WOxxhInstructionSwitchfromALUtoTAUafterthe113rdALUInstruction16WOxxhInstructionSwitchfromALUtoTAUafterthe112ndALUInstruction15WOxxhInstructionSwitchfromALUtoTAUafterthe111stALUInstruction14WOxxhInstructionSwitchfromALUtoTAUafterthe110thALUInstruction13WOxxhInstructionSwitchfromALUtoTAUafterthe109thALUInstruction12WOxxhInstructionSwitchfromALUtoTAUafterthe108thALUInstruction11WOxxhInstructionSwitchfromALUtoTAUafterthe107thALUInstruction10WOxxhInstructionSwitchfromALUtoTAUafterthe106thALUInstruction9WOxxhInstructionSwitchfromALUtoTAUafterthe105thALUInstruction8WOxxhInstructionSwitchfromALUtoTAUafterthe104thALUInstruction7WOxxhInstructionSwitchfromALUtoTAUafterthe103rdALUInstruction6WOxxhInstructionSwitchfromALUtoTAUafterthe102ndALUInstruction5WOxxhInstructionSwitchfromALUtoTAUafterthe101stALUInstruction4WOxxhInstructionSwitchfromALUtoTAUafterthe100thALUInstruction3WOxxhInstructionSwitchfromALUtoTAUafterthe99thALUInstruction2WOxxhInstructionSwitchfromALUtoTAUafterthe98thALUInstruction1WOxxhInstructionSwitchfromALUtoTAUafterthe97thALUInstruction0WOxxhInstructionSwitchfromALUtoTAUafterthe96thALUInstructionVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091153DRegistersHParaType=01h,Sub-Address=9AhPixelShaderSetting11Bits[23:0]AttributeDefaultDescription23WOxxhTemporaryRegister15(r15)'sInitialSettingforDstinationCheckBit22WOxxhTemporaryRegister14(r14)'sInitialSettingforDstinationCheckBit21WOxxhTemporaryRegister13(r13)'sinitialSettingforDstinationCheckBit20WOxxhTemporaryRegister12(r12)'sinitialSettingforDstinationCheckBit19WOxxhTemporaryRegister11(r11)'sinitialSettingforDstinationCheckBit18WOxxhTemporaryRegister10(r10)'sinitialSettingforDstinationCheckBit17WOxxhTemporaryRegister9(r9)'sInitialSettingforDstinationCheckBit16WOxxhTemporaryRegister8(r8)'sInitialSettingforDstinationCheckBit15WOxxhTemporaryRegister7(r7)'sInitialSettingforDstinationCheckBit14WOxxhTemporaryRegister6(r6)'sInitialSettingforDstinationCheckBit13WOxxhTemporaryRegister5(r5)'sInitialSettingforDstinationCheckBit12WOxxhTemporaryRegister4(r4)'sInitialSettingforDstinationCheckBit11WOxxhTemporaryRegister3(r3)'sInitialSettingforDstinationCheckBit10WOxxhTemporaryRegister2(r2)'sInitialSettingforDstinationCheckBit9WOxxhTemporaryRegister1(r1)'sInitialSettingforDstinationCheckBit8WOxxhTemporaryRegister0(r0)'sInitialSettingforDstinationCheckBit0:Itisnotnecessarytocheckr0'svalidbitwheneverusedasALU'sdestinationatthe1stime.
1:Itisnecessarytocheckr0'svalidbitwheneverusedasALU'sdestinationatthe1sttime.
NotetoDriver:DefineHPSRnDstChkforPS'stemporaryregistern.
Thedefaultvalueis"0".
IfsometemporaryregisterisasbothTAUandALU'sdestinationwhen1stused,theHPSRnDstChkmustbesetas"1".
Hardwarewouldcheckr#'svalidbittoseeifdatafrom"txld"isvalidornotbeforetheALUinstructionwhichusesr#as"partial"destination.
Herearesomeexamples.
txldr0,t0;movr0.
ac0.
a;………ortxldr0,t0;txldr1,t1;movr2,r1movr0.
a,c0.
a:………TheHPSR0DstChkmustbesetas"1"bydriver.
Itisvery,veryimportant,wrongsettingwouldleadtowrongresult.
7WOxxhInstructionSwitchfromALUtoTAUafterthe127thALUInstruction0:OperatenextALUinstruction1:SwitchtooperateTAUinstruction6WOxxhInstructionSwitchfromALUtoTAUafterthe126thALUInstruction5WOxxhInstructionSwitchfromALUtoTAUafterthe125thALUInstruction4WOxxhInstructionSwitchfromALUtoTAUafterthe124thALUInstruction3WOxxhInstructionSwitchfromALUtoTAUafterthe123rdALUInstruction2WOxxhInstructionSwitchfromALUtoTAUafterthe122ndALUInstruction1WOxxhInstructionSwitchfromALUtoTAUafterthe121stALUInstruction0WOxxhInstructionSwitchfromALUtoTAUafterthe120thALUInstructionHParaType=01h,Sub-Address=AAhSoftwareInspectionBits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:0WOxxhFlagNumberforSoftwareInspectionVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091163DRegistersHParaType02h:AttributeofTextureStageN(HParaSubType:00-0Fh)TheregistertableinthissectionisusedforfollowingHParaSubTypes(from00hto0Fh).
HParaSubType=00000000(00h)--ForTexture0HParaSubType=00000001(01h)--ForTexture1HParaSubType=00000010(02h)--ForTexture2HParaSubType=00000011(03h)--ForTexture3HParaSubType=00000100(04h)--ForTexture4HParaSubType=00000101(05h)--ForTexture5HParaSubType=00000110(06h)--ForTexture6HParaSubType=00000111(07h)--ForTexture7HParaSubType=00001000(08h)--ForTexture8HParaSubType=00001001(09h)--ForTexture9HParaSubType=00001010(0Ah)--ForTextureAHParaSubType=00001011(0Bh)--ForTextureBHParaSubType=00001100(0Ch)--ForTextureCHParaSubType=00001101(0Dh)--ForTextureDHParaSubType=00001110(0Eh)--ForTextureEHParaSubType=00001111(0Fh)--ForTextureFSub-Address(Bits[31:24]):00-51hHParaType=02h(HParaSubType=00h-0Fh),Sub-Address=00hFace0Level0BaseAddressBits[23:0]AttributeDefaultDescription23:0WOxxhFace0'sLevel0BaseAddressThisisA31toA8inunitof256bytes.
HParaType=02h(HParaSubType=00h-0Fh),Sub-Address=01hFace1Level0BaseAddressBits[23:0]AttributeDefaultDescription23:0WOxxhFace1'sLevel0BaseAddressThisisA31toA8inunitof256bytes.
HParaType=02h(HParaSubType=00h-0Fh),Sub-Address=02hFace2Level0BaseAddressBits[23:0]AttributeDefaultDescription23:0WOxxhFace2'sLevel0BaseAddressThisisA31toA8inunitof256bytes.
Programitbackto0.
HParaType=02h(HParaSubType=00h-0Fh),Sub-Address=03hFace3Level0BaseAddressBits[23:0]AttributeDefaultDescription23:0WOxxhFace3'sLevel0BaseAddressThisisA31toA8inunitof256bytes.
HParaType=02h(HParaSubType=00h-0Fh),Sub-Address=04hFace4Level0BaseAddressBits[23:0]AttributeDefaultDescription23:0WOxxhFace4'sLevel0BaseAddressThisisA31toA8inunitof256bytes.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091173DRegistersHParaType=02h(HParaSubType=00h-0Fh),Sub-Address=05hFace5Level0BaseAddressBits[23:0]AttributeDefaultDescription23:0WOxxhFace5'sLevel0BaseAddressinunitof256bytesThisisA31toA8.
HParaType=02h(HParaSubType=00h-0Fh),Sub-Address=06-17h:ReservedHParaType=02h(HParaSubType=00h-0Fh),Sub-Address=18hTextureControl1Bits[23:0]AttributeDefaultDescription23WOxxhForceMissforTexturen'sTextureCacheHitDetection0:Detecthitormissnormally1:Alwaysforcetomiss22:18WOxxhReserved17:16WOxxhTextureLocationofFace000:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved15:14WOxxhTextureLocationofFace000:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved13WOxxhReserved12WOxxhBaseAddressModeforTextureSampleN0:HTXSnLmOffsetisnotoffsetrelatedtoLevel0,butanindependentBaseAddressofLevelm.
1:ThismodeisforcubictextureandplannermodetextureBaseAddressofLevelm=HTXSnFfL0Bas+HTXSnLmOffset11:8WOxxhModeofTextureN0000:Reserved0001:2Dimension,bothSandTcoordinates.
0010:3Dimensionvolumetexture.
S,T,Rcoordinates.
0011:Cubetexture1xxx:ProjectiontextureOthers:Reserved7:6WOxxhTextureLocationofFace000:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved5:4WOxxhTextureLocationofFace2orCrBufferforY-Cb-CrFormat00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved3:2WOxxhTextureLocationofFace1,CbBufferforY-Cb-CrFormat,orCrbBufferforY-CrbFormat00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved1:0WOxxhTextureLocationofFace0orYBufferforY-Cb-CrorY-CrbFormat00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:ReservedTheproceduretodeterminethelocationofaccessedtexture:Considerfetchthetexturewithlevel"l"oftexturestage"n"'sface"f"If(HTXnBaseMode==1|HTXnPower2==1){//withoffsetmodeforthebaseaddressLOC=HTXnFfLOC}else{//withbasemodeforthebaseaddressIf("l"==0){LOC=HTXnF0LOCVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091183DRegisters}elseif("l">l.
Maximumis2048.
11:0WOxxhWidthofTextureLevel0TheWidthofeachleveliscalculatedfromHTXSnL0WWidthatLevel"l"=HTXSnL0W>>l.
Maximumis2048.
HParaType=02h(HParaSubType=00h-0Fh),Sub-Address=21hTextureControl3Bits[23:0]AttributeDefaultDescription23:12WOxxhReserved11:0WOxxhLengthofTextureLevel0,Maximumto2048(for3DVolumeTexture'sRAxis)TheLengthofeachleveliscalculatedfromHTXSnL0LLengthatLevel"l"=HTXSnL0L>>l,butNOMIPfor3Dvolumetexture.
HParaType=02h(HParaSubType=00h-0Fh),Sub-Address=22hTextureControl4Bits[23:0]AttributeDefaultDescription23:18WOxxhReserved17WOxxhMemoryModeofTextureN0:Linearmode1:Tilemode16WOxxhTextureN'sTileIs16-texelHigh0:Normal8-texelhigh1:16-texelhigh15WOxxhTextureN'sWidthandHeightAreBothPowerof20:Non-powerof2texture1:Powerof2texture14:12WOxxhReserved11:8WOxxhExponentialofLengthofTextureNLevel0Maximumisupto11(2^11).
7:4WOxxhExponentialofHeightofTextureNLevel0Maximumisupto11(2^11).
3:0WOxxhExponentialofWidthofTextureNLevel0Maximumisupto11(2^11).
HParaType=02h(HParaSubType=00h-0Fh),Sub-Address=23-2Fh:Reserved(TextureControl)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091193DRegistersHParaType=02h(HParaSubType=00h-0Fh),Sub-Address=30hTextureControl5Bits[23:0]AttributeDefaultDescription23:16WOxxhTextureFormatBit[23:19]:00000:Reserved00001:IntensityformatR,G,BChrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091203DRegistersForCompressedFormat:000:Reserved001:DXT1,16-bppformat010:DXT2,DXT3,4-bitAlphaformat011:DXT4,DXT5,3-bitAlphaformat100-101:ReservedTheG8R8_G8B8canbedefinedbysetasYUVformat'spackagemodeandsetHTXnYUV2RGBmodetoRGBmodeForYUVformat(VideoTexture):000:Packagemode(Bits[31:24]=VorCr,Bits[23:16]=Y1,Bits[15:8]=UorCb,Bits[7:0]=Y0)A=1.
0001:AYUV(Bits[31:24]=A,Bits[23:16]=Y,Bits[15:8]=U,Bits[7:0]=V)010:IA44(Bits[7:4]=Iasa16entriesindextogetaY(R)8U(G)8V(B)8texel,Bits[3:0]=A.
Adoesnotcomefrompalette)011:AI44(Bits[7:4]=A.
Adoesnotcomefrompalette,Bits[3:0]=Iasa16entriesindextogetaY(R)8U(G)8V(B)8texel)100-101:Reserved111:V410mode(Bits[31:22]=VorCr,Bits[21:12]=Y,Bits[11:2]=UorCb)A=1.
0ForBumpMappingFormat(Reserved):000:VU88(Bits[15:8]=dV,Bits[7:0]=dU)001:LVU655(Bits[15:10]=L,Bits[9:5]=dV,Bits[4:0]=dU)010:LVU888(Bits[23:16]=L,Bits[15:8]=dV,Bits[7:0]=dU)011:QWUV8888(Bits[31:24]=dQ,Bits[23:16]=dW,Bits[15:8]=dV,Bits[7:0]=dU)100:VU16(Bits[31:16]=dV,Bits[15:0]=dU)101:AWVU2_10_10_10(Bits[31:30]=A,Bits[29:20]=dW,Bits[19:10]=dV,Bits[9:0]=dU)110:CVUx88Reserved111:ReservedForARGB_16bppFormat:000:RGB555(Bits[14:10]=R,Bits[9:5]=G,Bits[4:0]=B)001:RGB565(Bits[15:11]=R,Bits[10:5]=G,Bits[4:0]=B)A=1.
0010:ARGB1555(Bit[15]=A,Bits[14:10]=R,Bits[9:5]=G,Bits[4:0]=B)011:ARGB4444(Bits[15:12]=A,Bits[11:8]=R,Bits[7:4]=G,Bits[3:0]=B)100:Reserved101:RGB565forwritecolor,Bits[15:11]=R,Bits[10:5]=G,Bits[4:0]=BButforreadcolor,Bits[15:11]=R,Bits[10:6]=G,Bits[4:0]=B,A=1.
011x:ReservedForARGB_32bppFormat:000:ARGB0888(Bits[23:16]=R,Bits[15:8]=G,Bits[7:0]=B)001:ARGB8888(Bits[31:24]=A,Bits[23:16]=R,Bits[15:8]=G,Bits[7:0]=B)A=1.
0010:ARGB2_10_10_10(Bits[31:30]=A,Bits[29:20]=R,Bits[19:10]=G,Bits[9:0]=B)011-111:ReservedForABGR_16bppFormat:000:BGR555(Bits[14:10]=B,Bits[9:5]=G,Bits[4:0]=R)001:BGR565(Bits[15:11]=B,Bits[10:5]=G,Bits[4:0]=R)A=1.
0010:ABGR1555(Bits[15]=A,Bit[14:10]=B,Bits[9:5]=G,Bits[4:0]=R)011:ABGR4444(Bits[15:12]=A,Bits[11:8]=B,Bits[7:4]=G,Bits[3:0]=R)100:Reserved101:BGR565forwritecolor:Bits[15:11]=B,Bits[10:5]=G,Bits[4:0]=R.
Butforreadcolor:Bits[15:11]=B,Bits[10:6]=G,Bits[4:0]=R,A=1.
011x:ReservedForABGR_32bppFormat:000:ABGR0888(Bits[23:16]=B,Bits[15:8]=G,Bits[7:0]=R)A=1.
0.
001:ABGR8888(Bit[31:24]=A,Bits[23:16]=B,Bits[15:8]=G,Bits[7:0]=R)010:ABGR2_10_10_10(Bits[31:30]=A,Bits[29:20]=B,Bits[19:10]=G,Bits[9:0]=R)011:G16R16(Bits[31:16]=G,Bits[15:0]=R)forthisformat,A=B=1.
0f,GandRaretransformedtos[7].
161xx:ReservedForRGBA_16bppFormat:000:RGB555(Bits[15:11]=R,Bits[10:6]=G,Bits[5:1]=B)001:RGB565(Bits[15:11]=R,Bits[10:5]=G,Bits[4:0]=B)A=1.
0010:RGBA1555(Bits[15:11]=R,Bits[10:6]=G,Bits[5:1]=B,Bit[0]=A)011:RGBA4444(Bits[15:12]=R,Bits[11:8]=G,Bits[7:4]=B,Bits[3:0]=A)100:Reserved101:RGB565forwritecolor:Bits[15:11]=R,Bits[10:5]=G,Bits[4:0]=BButforreadcolor:Bits[15:11]=R,Bits[10:6]=G,Bits[4:0]=B,A=1.
011x:ReservedForRGBA_32bppFormat:VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091213DRegisters000:RGBA8880(Bits[31:24]=R,Bits[23:16]=G,Bits[15:8]=B)A=1.
0001:RGBA8888(Bits[31:24]=R,Bits[23:16]=G,Bits[15:8]=B,Bits[7:0]=A)010:RGBA10_10_10_2(Bits[31:22]=R,Bits[21:12]=G,Bits[11:2]=B,Bits[1:0]=R)011-111:ReservedForABGR_16bppFormat:000:BGR555(Bits[15:11]=B,Bits[10:6]=G,Bits[5:1]=R)A=1.
0001:BGR565(Bits[15:11]=B,Bits[10:5]=G,Bits[4:0]=R)A=1.
0010:BGRA1555(Bits[15:11]=B,Bits[10:6]=G,Bits[5:1]=R,Bit[0]=A)011:BGRA4444(Bits[15:12]=B,Bits[11:8]=G,Bits[7:4]=R,Bits[3:0]=A)100:Reserved101:BGR565forwritecolor:Bits[15:11]=B,Bits[10:5]=G,Bits[4:0]=R.
Butforreadcolor:Bits[15:11]=B,Bits[10:6]=G,Bits[4:0]=R,A=1.
011x:ReservedForBGRA_32bppFormat:000:BGRA8880(Bits[31:24]=B,Bits[23:16]=G,Bits[15:8]=R),A=1.
0001:BGRA8888(Bits[31:24]=B,Bits[23:16]=G,Bits[15:8]=R,Bits[7:0]=R)010:BGRA10_10_10_2(Bits[31:22]=B,Bits[21:12]=G,Bits[11:2]=R,Bits[1:0]=R)011-11:ReservedForFloatingColorFormat(Filternotsupported):000:R16F(Bits[15:0]=R)s[5].
10A=G=B=1.
0f,andRisextendedtos[7].
16with"0".
100:G16FR16F(Bits[31:16]=G,Bits[15:0]=R)s[5].
10A=B=1.
0f,RandGareextendedtos[7].
16with"0"101:R32F(Bits[31:0]=R)s[8].
23A=G=B=1.
0f,andRisclampedtos[7].
16(saturation)111:ReservedForZFormat:000:16-bitfixed-pointformat,0.
0Z010-011:Reserved100:32-bitfixed-pointformat,0.
0Z101:32-bitfloatingformats[8].
23.
110:24-bitfixed-pointformatZ,0.
0ZZislocatedinD[31:8],StencilislocatedinD[7:0]111:Reserved15WOxxhTextureColorExtendingMode(ExcludingAlpha)ForAlphachannel,alwaysextenditwithhighcolorbit.
ForYUVformat(videotexture)andwhenHTXnYUV2RGBmodesetas0,alwaysextenditwithzero.
0:Extendingwithhighcolorbit14WOxxhInversetheTexelOrderinOneByteforThoseTexturewith1bpp,2bppor3bpp0:NormalConsiderIndex1:Bit[7]fortex[8n+7],bit[6]fortex[8n+6]…….
.
bit[0]fortex[8n]ConsiderIndex2:Bits[7:6]fortex[4n+3],bits[5:4]fortex[4n+2]…….
.
bits[1:0]fortex[4n]ConsiderIndex4:Bits[7:4]fortex[2n+1],bits[3:0]fortex[2n]1:InverseConsiderIndex1:Bit[7]fortex[8n],bit[6]fortex[8n+1]…….
.
bit[0]fortex[8n+7]ConsiderIndex2:Bits[7:6]fortex[4n],bits[5:4]fortex[4n+1]…….
.
bits[1:0]fortex[4n+3]ConsiderIndex4:Bits[7:4]fortex[2n],bits[3:0]fortex[2n+1]VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091223DRegisters13:11WOxxhModeforZ(Depth)FormatTexture000:D3DModeR=0.
0G=ZB=0.
0A=1.
0010:LuminnancemodeR=ZG=ZB=ZA=1.
0100:IntensitymodeR=ZG=ZB=ZA=Z110:AlphamodeR=0.
0G=0.
0B=0.
0A=ZNotetoOpenGLDriver:ForDepthtexture'sbordercolor,pleasesettheR,G,B,AcomponenttoHTXSnTBR,HTXSnTBG,HTXSnTBBandHTXSnTBAseparately.
AlthoughICDdefinesthe1stcomponentoftexturebordercolorasthe"Depth"value,HWwouldjustadoptsHTXSnTBR,HTXSnTBG,HTXSnTBBandHTXSnTBA,notmatterwhattheHTXnMode'ssettingis.
10:9WOxxhReserved8WOxxhTextureIsassRGB(Non-gamma1.
0).
ThedeGammacorrectionisnecessaryfordeGammatable"HDGTRTX".
DeGammacorrectionisonlyusedtoR,GandBcomponent.
AnycolorformatcauldbedeGammaedjustafterthefiltering(&colorspaceconversation).
0:DisableDeGamma1:EnableDeGamma7:2WOxxhReserved1:0WOxxhVideoTextureIsasBT601(SDTV),BT709(HDTV)orJustRGB00:RGBForthisformat,considerthe8-bitYaspositive8-bitG,8-bitUaspositive8-bitR,and8-bitVaspositive8-bitB.
Thenextendthemtos1.
10accordingtosettingofHTXnCExtend.
Thenfilterthetexels.
Forthissetting,YUV2RGBtransformisnotdoneinformatdecodermoduleorYUV2RGBtransformedimplementedbyPS.
01:BT601(SDTV)R=clip(round(((Y–16)*1.
164383+(V–128)*1.
596027)*256/255))G=clip(round(((Y–16)*1.
164383–(U–128)*0.
391762)–(V–128)*0.
812968))*256/255))B=clip(round(((Y–16)*1.
164838+(U–128)*2.
017232)*256/255))10:BT709(HDTV)R=clip(round(((Y–16)*1.
164383–(U–128)*0.
0002)+(V–128)*1.
7927)*256/255))G=clip(round(((Y–16)*1.
164383–(U–128)*0.
2132)–(V–128)*0.
5329))*256/255))B=clip(round(((Y–16)*1.
164838+(U–128)*2.
2114)–(V–128)*0.
0001))*256/255))11:TableFor8-bitYUVR=clip(round((Y*A+U*B1+V*C1+D)*256/255))G=clip(round((Y*A+U*B2+V*C2+D)*256/255))B=clip(round((Y*A+U*B3+V*C3+D)*256/255))For10-bitYUVR=clip(round((Y*A+U*B1+V*C1+D)*1024/1023))G=clip(round((Y*A+U*B2+V*C2+D)*1024/1023))B=clip(round((Y*A+U*B3+V*C3+D)*1024/1023))HParaType=02h(HParaSubType=00h-0Fh),Sub-Address=50hSoftwareInspectionforTextureN–1stFlagNumberBits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:0WOxxhTextureN's1stFlagNumberforSWinspetionVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091233DRegistersHParaType=02h(HParaSubType=00h-0Fh),Sub-Address=51hSoftwareInspectionforTextureN–2ndFlagNumberBits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:0WOxxhTexturen's2ndFlagNumberforSWinspetionVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091243DRegistersHParaType02h:AttributeofTextureSampleStageN(HParaSubType:20-2Fh)TheregistertableinthissectionisusedforthefollowingHParaSubTypes(from20hto2Fh).
HParaSubType=00100000(20h)ForTextureSample0HParaSubType=00100001(21h)ForTextureSample1HParaSubType=00100010(22h)ForTextureSample2HParaSubType=00100011(23h)ForTextureSample3HParaSubType=00100100(24h)ForTextureSample4HParaSubType=00100101(25h)ForTextureSample5HParaSubType=00100110(26h)ForTextureSample6HParaSubType=00100111(27h)ForTextureSample7HParaSubType=00101000(28h)ForTextureSample8HParaSubType=00101001(29h)ForTextureSample9HParaSubType=00101010(2Ah)ForTextureSampleAHParaSubType=00101011(2Bh)ForTextureSampleBHParaSubType=00101100(2Ch)ForTextureSampleCHParaSubType=00101101(2Dh)ForTextureSampleDHParaSubType=00101110(2Eh)ForTextureSampleEHParaSubType=00101111(2Fh)ForTextureSampleFSub-Address(Bits[31:24]):00-51hHParaType=02h(HParaSubType=20h-2Fh),Sub-Address=00h-2Fh:ReservedHParaType=02h(HParaSubType=20h-2Fh),Sub-Address=30hTextureLevelControl1Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:12WOxxhTextureLevel0OffsetFormat:2'sComplementfixed-pointnumberwith5-bitintegerand5-bitfraction.
TherealLevel0is(TextureMinimumLevel+HTXnL0OS).
Bit[21:17]:5-bitintegerofTexturenLevel0Bit[16:12]:5-bitfractionofTexturenLevel011:6WOxxhMaximumTextureLevel000000:TexturenMaximumLevel=0000001:TexturenMaximumLevel=1000010:TexturenMaximumLevel=2000011:TexturenMaximumLevel=3000100:TexturenMaximumLevel=4000101:TexturenMaximumLevel=5000110:TexturenMaximumLevel=6000111:TexturenMaximumLevel=7001000:TexturenMaximumLevel=8001001:TexturenMaximumLevel=9001010:TexturenMaximumLevel=A001011:TexturenMaximumLevel=BOthers:Reserved5:0WOxxhMinimumTextureLevel000000:TexturenMinimumLevel=0000001:TexturenMinimumLevel=1000010:TexturenMinimumLevel=2000011:TexturenMinimumLevel=3000100:TexturenMinimumLevel=4000101:TexturenMinimumLevel=5000110:TexturenMinimumLevel=6000111:TexturenMinimumLevel=7001000:TexturenMinimumLevel=8001001:TexturenMinimumLevel=9001010:TexturenMinimumLevel=A001011:TexturenMinimumLevel=BOthers:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091253DRegistersHParaType=02h(HParaSubType=20h-2Fh),Sub-Address=31hTextureFilterControl1Bits[23:0]AttributeDefaultDescription23:21WOxxhReserved20:16WOxxhMaximumRatioforAnisotropy(Maximumupto16)00000:Maxratioto0(noanisotropy)00001:Maxratioto1(noanisotropy)00010:Maxratioto200011:Maxratioto300100:Maxratioto4………….
01111:Maxratioto1510000:Maxratioto16Others:Reserved15:13WOxxhTextureFilterSettinginSDirectionforTextureEnlargement000:Nearest001:Linear010:LinearAnisotropy011:4x4filterOthers:Reserved12:10WOxxhTextureFilterSettinginSDirectionforTextureShrinking000:Nearest001:Linear010:LinearAnisotropy011:4x4filterOthers:Reserved9:7WOxxhTextureFilterSettinginTDirectionforTextureEnlargement000:Nearest001:Linear010:LinearAnisotropy011:4x4filterOthers:Reserved*HTXSnFLTe&HTXSnFLSemustbethesamewhenLinearAnisotropyisset.
6:4WOxxhTextureFilterSettinginTDirectionForTextureShrinking000:Nearest001:Linear010:LinearAnisotropy011:4x4filterOthers:Reserved*HTXSnFLTs&HTXSnFLSsmustbethesamewhenLinearAnisotropyisset.
3:0WOxxhTextureFilterSettinginDDirectionForTextureShrinking0000:AlwaysusesTextureLevel00001:Nearest0010:Linear0011:Reserved0100:DitherOthers:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091263DRegistersHParaType=02h(HParaSubType=20h-2Fh),Sub-Address=32hTextureFilterControl2&TextureMappingControlBits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:19WOxxhTextureFilterSettinginRDirectionforTextureEnlargement(Onlyfor3DVolumeTexture)000:Nearest001:LinearOthers:Reserved18:16WOxxhTextureFilterSettinginRDirectionForTextureShrinking(Onlyfor3DVolumeTexture)000:Nearest001:LinearOthers:Reserved15:12WOxxhReserved11:0WOxxhTextureMappingModeBits[11:9]:ReservedBits[8:6]:RAxisSetting(for3DVolumetexture)000:BorderColor001:Clamp010:Repeat011:Mirror110-100:Reserved111:MirrorOnceBits[5:3]:TAxisSetting000:BorderColor001:Clamp010:Repeat011:Mirror110-100:Reserved111:MirrorOnceBits[2:0]:SAxisSetting000:BorderColor001:Clamp010:Repeat011:Mirror110-100:Reserved111:MirrorOnceHParaType=02h(HParaSubType=20h-2Fh),Sub-Address=33-34h:ReservedHParaType=02h(HParaSubType=20h-2Fh),Sub-Address=35hTextureBorderControl1Bits[23:0]AttributeDefaultDescription23:12WOxxhRedColororUComponentofTextureBorderAss1.
10from–1.
0to1.
011:0WOxxhGreenColororYComponentofTextureBorderAss1.
10from–1.
0to1.
0VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091273DRegistersHParaType=02h(HParaSubType=20h-2Fh),Sub-Address=36hTextureBorderControl2Bits[23:0]AttributeDefaultDescription23:12WOxxhBlueColororVComponentofTextureBorderAss1.
10from–1.
0to1.
011:0WOxxhTextureBorderAlphaAss1.
10from–1.
0to1.
0Notefortexturebordercolor'susage:Ifanyfilteredtexelisbordercolor{Achanneloffilteroutput=HTXSnTBARchanneloffilteroutput=HTXSnTBRGchanneloffilteroutput=HTXSnTBGBchanneloffilteroutput=HTXSnTBB}elseiftexelisbordercolor{Use{HTXSnTBR[11:0],HTXSnTBG[11:0]}asbordervaluewithformat.
24}else{If(thetexelisbordercolor){Achanneloffilterinputofthetexel=HTXSnTBARchanneloffilterinputofthetexel=HTXSnTBRGchanneloffilterinputofthetexel=HTXSnTBGBchanneloffilterinputofthetexel=HTXSnTBB}else{//thetexelisjustfromthetextureAchanneloffilterinputofthetexel=Aafter"colorextending"Rchanneloffilterinputofthetexel=Rafter"colorextending"Gchanneloffilterinputofthetexel=Gafter"colorextending"Bchanneloffilterinputofthetexel=Bafter"colorextending"}}NoteforYUVformatandHTXnYUV2RGBmodeisSDTVorHDTV,thebordercolorisnotinRGBspaceanymore.
ItmustbeinversetransformedtoYUVspaceasHTXSnTBGChrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091283DRegistersHParaType02h:AttributeofTextureStageN(HParaSubType:FEh)TheregistertablesinthissectionareusedforHParaSubType(FEh).
Sub-Address(Bits[31:24]):00-13hHParaType=02h(HParaSubType=FEh),Sub-Address=00hGeneralTextureAttributeControlBits[23:0]AttributeDefaultDescription23:8WOxxhReserved7:4WOxxhNumberofTexturen:nTexture,maxupto83:2WOxxhConfigurationofDataFIFOforReadingTexture00:DFIFO1isassignedtoSystemmemory's1stT-Arbitrator(SL)DFIFO2isassignedtoSystemmemory's2ndT-Arbitrator(SF)DFIFO3isassignedtoLocalMemory'sT-Arbitrator01:DFIFO1isassignedtoSystemmemory's1stT-Arbitrator(SL)DFIFO2isassignedtoLocalMemory'sT-ArbitratorDFIFO3isassignedtoSystemmemory's2ndT-Arbitrator(SF)10:DFIFO1isassignedtoLocalMemory'sT-ArbitratorDFIFO2isassignedtoSystemmemory's2ndT-Arbitrator(SF)DFIFO3isassignedtoSystemmemory's1stT-Arbitrator(SL)11:Reserved1WOxxhFetchTexture2QWs(256bits)or4QWs(512bits)forEachRequest0:Fetch4QWs(512bits)fortiled-modetexture1:Fetch2QWs(256bits)0WOxxhClearTextureCache0:Don'tcare1:CleartexturecacheHParaType=02h(HParaSubType=FEh),Sub-Address=01hAttributeofTexture0/1/2Texture0toTexture7aredefinedforPrimitiveEngine.
Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:21WOxxhPerspectiveModeofTexture200:Disable01:Enableperspectivecorrection10:EnableprojectionandbeimplementedtoUVDmodule11:Reserved20:18WOxxhSourceofTexture2000:TexturecomesfromTextureA001:TexturecomesfromTextureB010:TexturecomesfromTextureC011:TexturecomesfromTextureD100:TexturecomesfromTextureE101:TexturecomesfromTextureF110:TexturecomesfromTextureG111:TexturecomesfromTextureH17:16WOxxhDimensionofTexture200:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;.
S,T,R,Qcoordinates15WOxxhReserved14:13WOxxhPerspectiveModeofTexture100:Disable01:Enableperspectivecorrection10:EnableprojectionandbeimplementedtoUVDmodule11:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091293DRegisters12:10WOxxhSourceofTexture1000:TexturecomesfromTextureA001:TexturecomesfromTextureB010:TexturecomesfromTextureC011:TexturecomesfromTextureD100:TexturecomesfromTextureE101:TexturecomesfromTextureF110:TexturecomesfromTextureG111:TexturecomesfromTextureH9:8WOxxhDimensionofTexture100:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;.
S,T,R,Qcoordinates7WOxxhReserved6:5WOxxhPerspectiveModeofTexture000:Disable01:Enableperspectivecorrection10:EnableprojectionandbeimplementedtoUVDmodule11:Reserved4:2WOxxhSourceofTexture0000:TexturecomesfromTextureA001:TexturecomesfromTextureB010:TexturecomesfromTextureC011:TexturecomesfromTextureD100:TexturecomesfromTextureE101:TexturecomesfromTextureF110:TexturecomesfromTextureG111:TexturecomesfromTextureH1:0WOxxhDimensionofTexture000:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,QcoordinatesHParaType=02h(HParaSubType=FEh),Sub-Address=02hAttributeofTexture3/4/5Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:21WOxxhPerspectiveModeofTexture500:Disable01:Enableperspectivecorrection10:EnableprojectionandbeimplementedtoUVDmodule11:Reserved20:18WOxxhSourceofTexture5000:TexturecomesfromTextureA001:TexturecomesfromTextureB010:TexturecomesfromTextureC011:TexturecomesfromTextureD100:TexturecomesfromTextureE101:TexturecomesfromTextureF110:TexturecomesfromTextureG111:TexturecomesfromTextureH17:16WOxxhDimensionofTexture500:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates15WOxxhReserved14:13WOxxhPerspectiveModeofTexture400:Disable01:Enableperspectivecorrection10:EnableprojectionandbeimplementedtoUVDmodule11:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091303DRegisters12:10WOxxhSourceofTexture4000:TexturecomesfromTextureA001:TexturecomesfromTextureB010:TexturecomesfromTextureC011:TexturecomesfromTextureD100:TexturecomesfromTextureE101:TexturecomesfromTextureF110:TexturecomesfromTextureG111:TexturecomesfromTextureH9:8WOxxhDimensionofTexture400:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates7WOxxhReserved6:5WOxxhPerspectiveModeofTexture300:Disable01:Enableperspectivecorrection10:EnableprojectionandbeimplementedtoUVDmodule11:Reserved4:2WOxxhSourceofTexture3000:TexturecomesfromTextureA001:TexturecomesfromTextureB010:TexturecomesfromTextureC011:TexturecomesfromTextureD100:TexturecomesfromTextureE101:TexturecomesfromTextureF110:TexturecomesfromTextureG111:TexturecomesfromTextureH1:0WOxxhDimensionofTexture300:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,QcoordinatesHParaType=02h(HParaSubType=FEh),Sub-Address=03hAttributeofTexture6/7Bits[23:0]AttributeDefaultDescription23:19WOxxhThresholdValueforMip-mapLinearModeFormatispositivefixed.
5.
18:15WOxxhReserved14:13WOxxhPerspectiveModeofTexture700:Disable01:Enableperspectivecorrection10:EnableprojectionandbeimplementedtoUVDmodule11:Reserved12:10WOxxhSourceofTexture7000:TexturecomesfromTextureA001:TexturecomesfromTextureB010:TexturecomesfromTextureC011:TexturecomesfromTextureD100:TexturecomesfromTextureE101:TexturecomesfromTextureF110:TexturecomesfromTextureG111:TexturecomesfromTextureH9:8WOxxhDimensionofTexture700:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates7WOxxhReserved6:5WOxxhPerspectiveModeofTexture600:Disable01:Enableperspectivecorrection10:EnableprojectionandbeimplementedtoUVDmodule11:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091313DRegisters4:2WOxxhSourceofTexture6000:TexturecomesfromTextureA001:TexturecomesfromTextureB010:TexturecomesfromTextureC011:TexturecomesfromTextureD100:TexturecomesfromTextureE101:TexturecomesfromTextureF110:TexturecomesfromTextureG111:TexturecomesfromTextureH1:0WOxxhDimensionofTexture600:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,QcoordinatesHParaType=02h(HParaSubType=FEh),Sub-Address=04hTextureCoordinateControlBits[23:0]AttributeDefaultDescription23:20WOxxhExponentialofWidthfortheTextureCoordinateReplacedby(x,y)s=x/2^HTXXYrpSTWE19:16WOxxhExponentialofHighfortheTextureCoordinateReplacedby(x,y)t=y/2^HTXXYrpSTHE15:8WOxxhReserved7:0WOxxhUseScreenCoordinates(x,y)toReplace(s,t)Thevalueofbit[n]isusedtocontrolthesettingofcorespondingTextue[n].
(ex.
bit[0]forTexture0,bit[1]forTexture1)0:Normal(s,t)forTexturen1:Use(x,y)toreplace(s,t)forTexturenHParaType=02h(HParaSubType=FEh),Sub-Address=05hUserDefinedClippingPlanesControl-1st/2ndGroupsBits[23:0]AttributeDefaultDescription23:16WOxxhReserved15WOxxhEnableof2ndGroupofUserDefinedClippingPlanes0:Disable.
Nouserdefinedclippingplaneoronly1textureisusedfor"UserdefinedClippingPlane".
1:Enable.
A2ndtextureisusedfor"UserdefinedClippingPlane".
14WOxxhPerspectiveModeoftheTexturefor2ndGroupofUserDefinedClippingPlanes0:Disable1:Enableperspectivecorrection13:10WOxxhSourceoftheTexturefor2ndGroupofUserDefinedClippingPlanes0000:TexturecomesfromTextureA0001:TexturecomesfromTextureB0010:TexturecomesfromTextureC0011:TexturecomesfromTextureD0100:TexturecomesfromTextureE0101:TexturecomesfromTextureF0110:TexturecomesfromTextureG0111:TexturecomesfromTextureH1000:TexturecomesfromTextureI1001:TexturecomesfromTextureJOthers:Reserved9:8WOxxhDimensionoftheTexturefor2ndGroupofUserDefinedClippingPlanes00:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates7WOxxhEnableof1stGroupofUserDefinedClippingPlanes0:Disable.
Nouserdefinedclippingplane.
1:Enable.
Atextureisusedfor"UserdefinedClippingPlane".
6WOxxhPerspectiveModeoftheTexturefor1stGroupofUserDefinedClippingPlanes0:Disable1:EnableperspectivecorrectionVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091323DRegisters5:2WOxxhSourceoftheTexturefor1stGroupofUserDefinedClippingPlanes0000:TexturecomefromTextureA0001:TexturecomefromTextureB0010:TexturecomefromTextureC0011:TexturecomefromTextureD0100:TexturecomefromTextureE0101:TexturecomefromTextureF0110:TexturecomefromTextureG0111:TexturecomefromTextureH1000:TexturecomefromTextureI1001:TexturecomefromTextureJOthers:Reserved1:0WOxxhDimensionoftheTexturefor1stGroupofUserDefinedClippingPlanes00:1dsimension;onlyScoordinate01:2dimensions;bothSandTcoordinate10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,QcoordinatesNotetoDriver:ItisforbiddentoenableHTXUCP1EnablebutdisableHTXUCP0Enable.
HParaType=02h(HParaSubType=FEh),Sub-Address=06-07h:ReservedHParaType=02h(HParaSubType=FEh),Sub-Address=08hTextureA-HControl1TextureAtoTextureHisdefinedinVertexBuffer.
Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21WOxxhTextureSCoordinateInputMode–forTextureB0:Un-normalized1:Normalized20WOxxhTextureTCoordinateInputMode–forTextureB0:Un-normalized1:Normalized19WOxxhTextureRCoordinateInputMode–forTextureB0:Un-normalized1:Normalized18WOxxhTextureQCoordinateInputMode–forTextureB0:Un-normalized1:Normalized17:16WOxxhDimensionofTextureB00:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture.
S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates15:14WOxxhReserved13WOxxhTextureSCoordinateInputMode–forTextureA0:Un-normalized1:Normalized12WOxxhTextureTCoordinateInputMode–forTextureA0:Un-normalized1:Normalized11WOxxhTextureRCoordinateInputMode–forTextureA0:Un-normalized1:Normalized10WOxxhTextureQCoordinateInputMode–forTextureA0:Un-normalized1:Normalized9:8WOxxhDimensionofTextureA00:1dimension,onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture.
S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates7:4WOxxhReserved3:0WOxxhNumberofTextureinVertexBuffern:nTexturesVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091333DRegistersHParaType=02h(HParaSubType=FEh),Sub-Address=09hTextureA-HControl2Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21WOxxhTextureSCoordinateInputMode–forTextureE0:Un-normalized1:Normalized20WOxxhTextureTCoordinateInputMode–forTextureE0:Un-normalized1:Normalized19WOxxhTextureRCoordinateInputMode–forTextureE0:Un-normalized1:Normalized18WOxxhTextureQCoordinateInputMode–forTextureE0:Un-normalized1:Normalized17:16WOxxhDimensionofTextureE00:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates15:14WOxxhReserved13WOxxhTextureSCoordinateInputMode–forTextureD0:Un-normalized1:Normalized12WOxxhTextureTCoordinateInputMode–forTextureD0:Un-normalized1:Normalized11WOxxhTextureRCoordinateInputMode–forTextureD0:Un-normalized1:Normalized10WOxxhTextureQCoordinateInputMode–forTextureD0:Un-normalized1:Normalized9:8WOxxhDimensionofTextureD00:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates7:6WOxxhReserved5WOxxhTextureSCoordinateInputMode–forTextureC0:Un-normalized1:Normalized4WOxxhTextureTCoordinateInputMode–forTextureC0:Un-normalized1:Normalized3WOxxhTextureRCoordinateInputMode–forTextureC0:Un-normalized1:Normalized2WOxxhTextureQCoordinateInputMode–forTextureC0:Un-normalized1:Normalized1:0WOxxhDimensionofTextureC00:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,QcoordinatesVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091343DRegistersHParaType=02h(HParaSubType=FEh),Sub-Address=0AhTextureA-HControl3Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21WOxxhTextureSCoordinateInputMode–forTextureH0:Un-normalized1:Normalized20WOxxhTextureTCoordinateInputMode–forTextureH0:Un-normalized1:Normalized19WOxxhTextureRCoordinateInputMode–forTextureH0:Un-normalized1:Normalized18WOxxhTextureQCoordinateInputMode–forTextureH0:Un-normalized1:Normalized17:16WOxxhDimensionofTextureH00:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates15:14WOxxhReserved13WOxxhTextureSCoordinateInputMode–forTextureG0:Un-normalized1:Normalized12WOxxhTextureTCoordinateInputMode–forTextureG0:Un-normalized1:Normalized11WOxxhTextureRCoordinateInputMode–forTextureG0:Un-normalized1:Normalized10WOxxhTextureQCoordinateInputMode–forTextureG0:Un-normalized1:Normalized9:8WOxxhDimensionofTextureG00:1dimension,onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates7:6WOxxhReserved5WOxxhTextureSCoordinateInputMode–forTextureF0:Un-normalized1:Normalized4WOxxhTextureTCoordinateInputMode–forTextureF0:Un-normalized1:Normalized3WOxxhTextureRCoordinateInputMode–forTextureF0:Un-normalized1:Normalized2WOxxhTextureQCoordinateInputMode–forTextureF0:Un-normalized1:Normalized1:0WOxxhDimensionofTextureF00:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,QcoordinatesVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091353DRegistersHParaType=02h(HParaSubType=FEh),Sub-Address=0BhTextureA-HControl4Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15WOxxhTextureDWrapCorrectionalongSCoordinate0:Nowrap1:Wrap14WOxxhTextureDWrapCorrectionalongTCoordinate0:Nowrap1:Wrap13:12WOxxhReserved11WOxxhTextureCWrapCorrectionalongSCoordinate0:Nowrap1:Wrap10WOxxhTextureCWrapCorrectionalongTCoordinate0:Nowrap1:Wrap9:8WOxxhReserved7WOxxhTextureBWrapCorrectionalongSCoordinate0:Nowrap1:Wrap6WOxxhTextureBWrapCorrectionalongTCoordinate0:Nowrap1:Wrap5:4WOxxhReserved3WOxxhTextureAWrapCorrectionalongSCoordinate0:Nowrap1:Wrap2WOxxhTextureAWrapCorrectionalongTCoordinate0:Nowrap1:Wrap1:0WOxxhRservedHParaType=02h(HParaSubType=FEh),Sub-Address=0ChTextureA-HControl5Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15WOxxhTextureHWrapCorrectionalongSCoordinate0:Nowrap1:Wrap14WOxxhTextureHWrapCorrectionalongTCoordinate0:Nowrap1:Wrap13:12WOxxhReserved11WOxxhTextureGWrapCorrectionalongSCoordinate0:Nowrap1:Wrap10WOxxhTextureGWrapCorrectionalongTCoordinate0:Nowrap1:Wrap9:8WOxxhReserved7WOxxhTextureFWrapCorrectionalongSCoordinate0:Nowrap1:Wrap6WOxxhTextureFWrapCorrectionalongTCoordinate0:Nowrap1:Wrap5:4WOxxhReserved3WOxxhTextureEWrapCorrectionalongSCoordinate0:Nowrap1:Wrap2WOxxhTextureEWrapCorrectionalongTCoordinate0:Nowrap1:Wrap1:0WOxxhRservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091363DRegistersHParaType=02h(HParaSubType=FEh),Sub-Address=0DhTextureA-HControl6Bits[23:0]AttributeDefaultDescription23:16WOxxhExponentialofModulus15:8WOxxhReserved7WOxxhDo"Modulusof2^HTXMODE"withTextureH'sCoordinate6WOxxhDo"Modulusof2^HTXMODE"withTextureG'sCoordinate5WOxxhDo"Modulusof2^HTXMODE"withTextureF'sCoordinate4WOxxhDo"Modulusof2^HTXMODE"withTextureE'sCoordinate3WOxxhDo"Modulusof2^HTXMODE"withTextureD'sCoordinate2WOxxhDo"Modulusof2^HTXMODE"withTextureC'sCoordinate1WOxxhDo"Modulusof2^HTXMODE"withTextureB'sCoordinate0WOxxhDo"Modulusof2^HTXMODE"withTextureA'sCoordinateHParaType=02h(HParaSubType=FEh),Sub-Address=0EhTextureI/JControlBits[23:0]AttributeDefaultDescription23:14WOxxhReserved13WOxxhTextureSCoordinateInputMode–forTextureJ0:Un-normalized1:Normalized12WOxxhTextureTCoordinateInputMode–forTextureJ0:Un-normalized1:Normalized11WOxxhTextureRCoordinateInputMode–forTextureJ0:Un-normalized1:Normalized10WOxxhTextureQCoordinateInputMode–forTextureJ0:Un-normalized1:Normalized9:8WOxxhDimensionofTextureJ00:1dimension;onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture.
S,T,Rcoordinates11:4dimensions;S,T,R,Qcoordinates7:6WOxxhReserved5WOxxhTextureSCoordinateInputMode–forTextureI0:Un-normalized1:Normalized4WOxxhTextureTCoordinateInputMode–forTextureI0:Un-normalized1:Normalized3WOxxhTextureRCoordinateInputMode–forTextureI0:Un-normalized1:Normalized2WOxxhTextureQCoordinateInputMode–forTextureI0:Un-normalized1:Normalized1:0WOxxhDimensionofTextureI00:1dimension,onlyScoordinate01:2dimensions;bothSandTcoordinates10:3dimensions;volumetexture;S,T,Rcoordinates11:4dimensions;S,T,R,QcoordinatesHParaType=02h(HParaSubType=FEh),Sub-Address=0Fh:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091373DRegistersHParaType=02h(HParaSubType=FEh),Sub-Address=10hCoefficientSetting1Bits[23:0]AttributeDefaultDescription23WOxxhYUV422(PacketMode)TextureDecodeMode0:EventexelinSdirection(Ye,Un,Vn)OddtexelinSdirection(Yo,Un,Vn)1:EventexelinSdirection(Ye,Un,Vn)OddtexelinSdirection(Yo,(Un+Un+1)/2,(Vn+Vn+1)/2)Note:If(HTXYUV422DM==true&HTXnFM==00110000b&(HTXSnFLSe==nearestforenlarge|HTXSnFLSs==nearestforshrink)&(oddtexelinSdirection)&(nottherightesttexeloftexture)){Y=YoU=(Un+Un+1)/2V=(Vn+Vn+1)/2}else{Y=YU=UnV=Vn}22:12WOxxhCoefficientDofYUVtoRGBConversionFormatas2'scomplements2.
811WOxxhReserved10:0WOxxhCoefficientAofYUVtoRGBConversionFormatas2'scomplements2.
8HParaType=02h(HParaSubType=FEh),Sub-Address=11hCoefficientSetting2Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhCoefficientC1ofYUVtoRGBConversionFormatas2'scomplements2.
811WOxxhReserved10:0WOxxhCoefficientB1ofYUVtoRGBConversionFormatas2'scomplements2.
8HParaType=02h(HParaSubType=FEh),Sub-Address=12hCoefficientSetting3Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhCoefficientC2ofYUVtoRGBConversionFormatas2'scomplements2.
811WOxxhReserved10:0WOxxhCoefficientB2ofYUVtoRGBConversionFormatas2'scomplements2.
8HParaType=02h(HParaSubType=FEh),Sub-Address=13hCoefficientSetting4Bits[23:0]AttributeDefaultDescription23WOxxhReserved22:12WOxxhCoefficientC3ofYUVtoRGBConversionFormatas2'scomplements2.
811WOxxhReserved10:0WOxxhCoefficientB3ofYUVtoRGBConversionFormatas2'scomplements2.
8VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091383DRegistersHParaType03h:Palette(HParaSubType:00-22h)HParaType=03h(HParaSubType=00h)TexturePalette0BitsAttributeDefaultDescription31:24WOxxhReserved23:16WOxxhYofTexturePaletteNData15:8WOxxhUofTexturePaletteNData7:0WOxxhVofTexturePaletteNDataHParaType=03h(HParaSubType=01h):Reserved(TexturePalette11)HParaType=03h(HParaSubType=02h):Reserved(TexturePalette12)HParaType=03h(HParaSubType=03h):Reserved(TexturePalette13)HParaType=03h(HParaSubType=04h):Reserved(TexturePalette14)HParaType=03h(HParaSubType=05h):Reserved(TexturePalette15)HParaType=03h(HParaSubType=06h):Reserved(TexturePalette16)HParaType=03h(HParaSubType=07h):Reserved(TexturePalette17)HParaType=03h(HParaSubType=08-0Fh):ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091393DRegistersHParaType=03h(HParaSubType=10h)OffsetorBaseAddressofTexturefromLevel1toLevel8forthe16TextureSamplesTherare16texturesamplesandeachsamplecanbeupto8levels,sothereshouldbe16x8=128entries.
HParaAdr0HTXS0L1OffsetHParaAdr1HTXS0L2Offset……….
HParaAdr7HTXS0L8OffsetHParaAdr8HTXS1L1OffsetHParaAdr9HTXS1L2Offset……….
HParaAdr15HTXS1L8OffsetHParaAdr16HTXS2L1OffsetHParaAdr17HTXS2L2Offset……….
HParaAdr23HTXS2L8Offset……….
.
……….
.
HParaAdr118HTXSFL1OffsetHParaAdr119HTXSFL2Offset……….
HParaAdr127HTXSFL8OffsetTosumup,considerHTXSnLmBasOffset,itsentryis(n*8+m),wherenisfrom0toFh,andmisfrom1to8h.
BitsAttributeDefaultDescription31:30WOxxhLocationofTextureSamplen'sLevelm00:SyntemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:Reserved29:24WOxxhReserved23:0WOxxhOffsetRelatedtoTextureSamplen'sLevel0forLevelmBaseAddressInunitofbyte.
Thismustbe256-byteboundary(inunitof256bytesor[31:8]).
HParaType=03h(HParaSubType=11h)Texture4x4FilterCoeffiecientTableThereare2^5=32entries.
The5-bitfractionof"sf"or"tf"istheindex.
BitsAttributeDefaultDescription31:22WOxxhReserved21:16WOxxhCoefficientCmfor4x4FilterFormatas1.
5positivefixed-point;maximumis1.
0.
15WOxxhDoubletheCoefficientCr0:Crd=HTX4X4FltCrd1:Crd=HTX4X4FltCrdChrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091403DRegistersPT1T2T3T4T1ulT1urT1dlT1drT2ulT2urT2dlT2drT3ulT3urT3dlT3drT4ulT4urT4dlT4drsfdf1stpass2ndpass3rdpass4thpasstexelintexturefilteredbysurroundingtexelsrenderingpixelCl=HTX4X4Clu(sf)*2^HTX4X4CluE(sf)Cr=HTX4X4Crd(sf)*2^HTX4X4CrdE(sf)Csm=HTX4X4Cm(sf)Cu=HTX4X4Clu(tf)*2^HTX4X4CluE(tf)Cd=HTX4X4Crd(tf)*2^HTX4X4CrdE(tf)Ctm=HTX4X4Cm(tf)Cp1=(1–Csm)*(1–Ctm)Cp2=Csm*(1–Ctm)Cp3=(1–Csm)*CtmCp4=Csm*CtmT1=(1–Cl)*(1–Cu)*T1ul+Cl*(1–Cu)*T1ur+(1–Cl)*Cu*T1dl+Cl*Cu*T1drT2=(1–Cr)*(1–Cu)*T2ul+Cr*(1–Cu)*T2ur+(1–Cr)*Cu*T2dl+Cr*Cu*T2drT3=(1–Cl)*(1–Cd)*T3ul+Cl*(1–Cd)*T3ur+(1–Cl)*Cd*T3dl+Cl*Cd*T3drT4=(1–Cr)*(1–Cd)*T4ul+Cr*(1–Cd)*T4ur+(1–Cr)*Cd*T4dl+Cr*Cd*T4drP=T1*Cp1+T2*Cp2+T3*Cp3+T4*Cp4VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091413DRegistersHParaType=03h(HParaSubType=14h)StipplePaletteBitsAttributeDefaultDescription31:0WOxxh32-BitStipplePaletteDataHParaType=03h(HParaSubType=15h),HParaAdr=00hDe-GammaTableforReadingTextureBitsAttributeDefaultDescription31:30WOxxhRoundingMode00:Truncate01:Rounding1x:Reserved29:20WOxxhDe-GammaTableValueforReadingTextureatC=10'h0C019:10WOxxhDe-GammaTableValueforReadingTextureatC=10'h0809:0WOxxhDe-GammaTableValueforReadingTextureatC=10'h040HParaType=03h(HParaSubType=15h),HParaAdr=01hDe-GammaTableforReadingTextureBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhDe-GammaTableValueforReadingTextureatC=10'h18019:10WOxxhDe-GammaTableValueforReadingTextureatC=10'h1409:0WOxxhDe-GammaTableValueforReadingTextureatC=10'h100HParaType=03h(HParaSubType=15h),HParaAdr=02hDe-GammaTableforReadingTextureBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhDe-GammaTableValueforReadingTextureatC=10'h24019:10WOxxhDe-GammaTableValueforReadingTextureatC=10'h2009:0WOxxhDe-GammaTableValueforReadingTextureatC=10'h1C0HParaType=03h(HParaSubType=15h),HParaAdr=03hDe-GammaTableforReadingTextureBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhDe-GammaTableValueforReadingTextureatC=10'h30019:10WOxxhDe-GammaTableValueforReadingTextureatC=10'h2C09:0WOxxhDe-GammaTableValueforReadingTextureatC=10'h280HParaType=03h(HParaSubType=15h),HParaAdr=04hDe-GammaTableforReadingTextureBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhDe-GammaTableValueforReadingTextureatC=10'h3C019:10WOxxhDe-GammaTableValueforReadingTextureatC=10'h3809:0WOxxhDe-GammaTableValueforReadingTextureatC=10'h340VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091423DRegistersHParaType=03h(HParaSubType=17h),HParaAdr=00hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhRoundingModeforRChannel00:Truncate01:Rounding1x:Reserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h00119:10WOxxhGammaTableValueforWritingGChannelatG=10'h0019:0WOxxhGammaTableValueforWritingBChannelatB=10'h001HParaType=03h(HParaSubType=17h),HParaAdr=01hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhRoundingModeforGChannel00:Truncate01:Rounding1x:Reserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h00219:10WOxxhGammaTableValueforWritingGChannelatG=10'h0029:0WOxxhGammaTableValueforWritingBChannelatB=10'h002ParaType=03h(HParaSubType=17h),HParaAdr=02hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhRoundingModeforBChannel00:Truncate01:Rounding1x:Reserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h00319:10WOxxhGammaTableValueforWritingGChannelatG=10'h0039:0WOxxhGammaTableValueforWritingBChannelatB=10'h003HParaType=03h(HParaSubType=17h),HParaAdr=03hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31WOxxhInsteadofGammaCorrection,butdeGammacorrectionforRChannel0:Gammacorrection1:de-Gammacorrection30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h00419:10WOxxhGammaTableValueforWritingGChannelatG=10'h0049:0WOxxhGammaTableValueforWritingBChannelatB=10'h004HParaType=03h(HParaSubType=17h),HParaAdr=04hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31WOxxhInsteadofGammaCorrection,butdeGammacorrectionforGChannel0:Gammacorrection1:de-Gammacorrection30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h00619:10WOxxhGammaTableValueforWritingGChannelatG=10'h0069:0WOxxhGammaTableValueforWritingBChannelatB=10'h006VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091433DRegistersHParaType=03h(HParaSubType=17h),HParaAdr=05hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31WOxxhInsteadofGammaCorrection,butdeGammacorrectionforBChannel0:Gammacorrection1:de-Gammacorrection30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h00819:10WOxxhGammaTableValueforWritingGChannelatG=10'h0089:0WOxxhGammaTableValueforWritingBChannelatB=10'h008HParaType=03h(HParaSubType=17h),HParaAdr=06hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h00C19:10WOxxhGammaTableValueforWritingGChannelatG=10'h00C9:0WOxxhGammaTableValueforWritingBChannelatB=10'h00CHParaType=03h(HParaSubType=17h),HParaAdr=07hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h01019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0109:0WOxxhGammaTableValueforWritingBChannelatB=10'h010HParaType=03h(HParaSubType=17h),HParaAdr=08hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h01819:10WOxxhGammaTableValueforWritingGChannelatG=10'h0189:0WOxxhGammaTableValueforWritingBChannelatB=10'h018HParaType=03h(HParaSubType=17h),HParaAdr=09hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h02019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0209:0WOxxhGammaTableValueforWritingBChannelatB=10'h020HParaType=03h(HParaSubType=17h),HParaAdr=0AhGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h03019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0309:0WOxxhGammaTableValueforWritingBChannelatB=10'h030VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091443DRegistersHParaType=03h(HParaSubType=17h),HParaAdr=0BhGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h04019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0409:0WOxxhGammaTableValueforWritingBChannelatB=10'h040HParaType=03h(HParaSubType=17h),HParaAdr=0ChGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h05019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0509:0WOxxhGammaTableValueforWritingBChannelatB=10'h050HParaType=03h(HParaSubType=17h),HParaAdr=0DhGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h06019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0609:0WOxxhGammaTableValueforWritingBChannelatB=10'h060HParaType=03h(HParaSubType=17h),HParaAdr=0EhGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h07019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0709:0WOxxhGammaTableValueforWritingBChannelatB=10'h070HParaType=03h(HParaSubType=17h),HParaAdr=0FhGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h08019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0809:0WOxxhGammaTableValueforWritingBChannelatB=10'h080HParaType=03h(HParaSubType=17h),HParaAdr=10hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h0A019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0A09:0WOxxhGammaTableValueforWritingBChannelatB=10'h0A0VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091453DRegistersHParaType=03h(HParaSubType=17h),HParaAdr=11hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h0C019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0C09:0WOxxhGammaTableValueforWritingBChannelatB=10'h0C0HParaType=03h(HParaSubType=17h),HParaAdr=12hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h0E019:10WOxxhGammaTableValueforWritingGChannelatG=10'h0E09:0WOxxhGammaTableValueforWritingBChannelatB=10'h0E0HParaType=03h(HParaSubType=17h),HParaAdr=13hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h10019:10WOxxhGammaTableValueforWritingGChannelatG=10'h1009:0WOxxhGammaTableValueforWritingBChannelatB=10'h100HParaType=03h(HParaSubType=17h),HParaAdr=14hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h14019:10WOxxhGammaTableValueforWritingGChannelatG=10'h1409:0WOxxhGammaTableValueforWritingBChannelatB=10'h140HParaType=03h(HParaSubType=17h),HParaAdr=15hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h18019:10WOxxhGammaTableValueforWritingGChannelatG=10'h1809:0WOxxhGammaTableValueforWritingBChannelatB=10'h180HParaType=03h(HParaSubType=17h),HParaAdr=16hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h1C019:10WOxxhGammaTableValueforWritingGChannelatG=10'h1C09:0WOxxhGammaTableValueforWritingBChannelatB=10'h1C0VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091463DRegistersHParaType=03h(HParaSubType=17h),HParaAdr=17hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h20019:10WOxxhGammaTableValueforWritingGChannelatG=10'h2009:0WOxxhGammaTableValueforWritingBChannelatB=10'h200HParaType=03h(HParaSubType=17h),HParaAdr=18hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h24019:10WOxxhGammaTableValueforWritingGChannelatG=10'h2409:0WOxxhGammaTableValueforWritingBChannelatB=10'h240HParaType=03h(HParaSubType=17h),HParaAdr=19hGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h28019:10WOxxhGammaTableValueforWritingGChannelatG=10'h2809:0WOxxhGammaTableValueforWritingBChannelatB=10'h280HParaType=03h(HParaSubType=17h),HParaAdr=1AhGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h2C019:10WOxxhGammaTableValueforWritingGChannelatG=10'h2C09:0WOxxhGammaTableValueforWritingBChannelatB=10'h2C0HParaType=03h(HParaSubType=17h),HParaAdr=1BhGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h30019:10WOxxhGammaTableValueforWritingGChannelatG=10'h3009:0WOxxhGammaTableValueforWritingBChannelatB=10'h300HParaType=03h(HParaSubType=17h),HParaAdr=1ChGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h34019:10WOxxhGammaTableValueforWritingGChannelatG=10'h3409:0WOxxhGammaTableValueforWritingBChannelatB=10'h340VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091473DRegistersHParaType=03h(HParaSubType=17h),HParaAdr=1DhGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h38019:10WOxxhGammaTableValueforWritingGChannelatG=10'h3809:0WOxxhGammaTableValueforWritingBChannelatB=10'h380HParaType=03h(HParaSubType=17h),HParaAdr=1EhGamma-de-GammaTableforWritingColorBitsAttributeDefaultDescription31:30WOxxhReserved29:20WOxxhGammaTableValueforWritingRChannelatR=10'h3C019:10WOxxhGammaTableValueforWritingGChannelatG=10'h3C09:0WOxxhGammaTableValueforWritingBChannelatB=10'h3C0HParaType=03h(HParaSubType=20h)PixelShaderALUInstructionEachinstructioncontains4doublewords.
HParaAdr(4n+3)to(4n)areasthen-thinstruction.
Becauseoftotal96instructions,thereareupto96*4(=384)entries.
BitsAttributeDefaultDescription31:0WOxxhPixelShaderALUInstructionHParaType=03h(HParaSubType=21h)PixelShaderTAUInstructionTherearetotally3232-bitTAUinstructions.
BitsAttributeDefaultescription31:0WOxxhPixelShaderTAUInstructionHParaType=03h(HParaSubType=22h)PixelShaderConstantRegistersEachconstantregistercontains432-bitcomponents.
HParaAdr(4n)isasthe1stcomponentofthen-thconstantregister.
HParaAdr(4n+1)isasthe2ndcomponentofthen-thconstantregister.
HParaAdr(4n+2)isasthe3rdcomponentofthen-thconstantregister.
HParaAdr(4n+3)isasthe4thcomponentofthen-thconstantregister.
Wherenisfrom0to22,and32to54.
IfHPSDbCnstRisset,thenfrom32to54isthesameasthenfrom0to22.
AndHWwouldfillnfrom32to54automatly.
BitsAttributeDefaultescription31:0WOxxhPixelShader'sConstantRegisterasFloatings[8].
23Hardwarewouldautomaticallytransformthe32-bitfloatingto24-bitfloatingformat.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091483DRegistersHParaType04h:VertexandPrimitiveSettingSub-Address(Bits[31:24]):00-AAhHParaType=04h,Sub-Address=00hFlexibleVertexFormat1Bits[23:0]AttributeDefaultDescription23:22WOxxhFlexibilityVertexFormat's(X,Y)TestMode00:Disable01:If(XorYis"Not-a-Number)thenignorecorrespondedprimitive1x:If(XorYis"Not-a-Number)thenignorecorrespondedprimitivelist21:20WOxxhFlexibilityVertexFormat'sZTestMode00:Disable01:If(Zis"Not-a-Number)thenignorecorrespondedprimitive1x:If(Zis"Not-a-Number)thenignorecorrespondedprimitivelist19:18WOxxhFlexibilityVertexFormat'sWTestMode00:Disable01:If(Wis"Not-a-Number)thenignorecorrespondedprimitive1x:If(Wis"Not-a-Number)thenignorecorrespondedprimitivelist17WOxxhSwitchtheFlexibilityVertexFormat'sXtoY,andYtoX0:Keep1:Switch16:15WOxxhLocationofVertexBuffer00:SystemLocalFrameBuffer(S.
L.
)01:SystemDynamicFrameBuffer(S.
F.
)10:Reserved(SystemMemory)11:ReservedNotetoDriverandHW:AllvertexbuffersarelocatedinLL,SF,orallinLL.
14:6WOxxhReserved5:0WOxxhLengthofFVFVertexLengthInunitof32bitsVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091493DRegistersHParaType=04h,Sub-Address=01hFlexibleVertexFormat2Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe3rdFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe2ndFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe1stFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)00h:X01h:Y02h:Z03h:W04h:PointSize05h:Color0:Diffuse06h:Color1:Specula07h:FogFactor08h:SofTextureA09h:TofTextureA0Ah:RofTextureA0Bh:QofTextureA0Ch:SofTextureB0Dh:TofTextureB0Eh:RofTextureB0Fh:QofTextureB10h:SofTextureC11h:TofTextureC12h:RofTextureC13h:QofTextureC14h:SofTextureD15h:TofTextureD16h:RofTextureD17h:QofTextureD18h:SofTextureE19h:TofTextureE1Ah:RofTextureE1Bh:QofTextureE1Ch:SofTextureF1Dh:TofTextureF1Eh:RofTextureF1Fh:QofTextureF20h:SofTextureG21h:TofTextureG22h:RofTextureG23h:QofTextureG24h:SofTextureH25h:TofTextureH26h:RofTextureH27h:QofTextureH28h:SofTextureI29h:TofTextureI2Ah:RofTextureI2Bh:QofTextureI2Ch:SofTextureJ2Dh:TofTextureJ2Eh:RofTextureJ2Fh:QofTextureJ30h:Reserved31h:BackFaceColor0(BFCdiff)32h:BackFaceColor1(BFCspec)Others:ReservedVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091503DRegistersHParaType=04h,Sub-Address=02hFlexibleVertexFormat3Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe6thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe5thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe4thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=03hFlexibleVertexFormat4Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe9thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe8thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe7thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=04hFlexibleVertexFormat5Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe12thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe11thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe10thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=05hFlexibleVertexFormat6Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe15thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe14thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe13thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=06hFlexibleVertexFormat7Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe18thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe17thFVFAttributeNumber(X,Y,…J,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe16thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091513DRegistersHParaType=04h,Sub-Address=07hFlexibleVertexFormat8Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe21stFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe20thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe19ndFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=08hFlexibleVertexFormat9Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe24thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe23rdFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe22ndFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=09hFlexibleVertexFormat10Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe27thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe26thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe25thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=0AhFlexibleVertexFormat11Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe30thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe29thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe28thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address0BhFlexibleVertexFormat12Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe33thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe32ndFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe31stFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091523DRegistersHParaType=04h,Sub-Address=0ChFlexibleVertexFormat13Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe36thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe35thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe34thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=0DhFlexibleVertexFormat14Bits[23:0]AttributeDefaultDescription23:22WOxxhReserved21:16WOxxhThe39thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)15:14WOxxhReserved13:8WOxxhThe38thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)7:6WOxxhReserved5:0WOxxhThe37thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=0EhFlexibleVertexFormat15Bits[23:0]AttributeDefaultDescription23:18WOxxhThe43rdFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)17:12WOxxhThe42ndFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)11:6WOxxhThe41stFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)5:0WOxxhThe40thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=0FhFlexibleVertexFormat16Bits[23:0]AttributeDefaultDescription23:18WOxxhThe47thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)17:12WOxxhThe46thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)11:6WOxxhThe45thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)5:0WOxxhThe44thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)HParaType=04h,Sub-Address=10hFlexibleVertexFormat17Bits[23:0]AttributeDefaultDescription23:22WOxxhFlexibleVertexFormatMaskBit[23]:BFCdiffParameterMask0:PrimitiveVertexParameterdoesnothaveBackFaceColor01:PrimitiveVertexParameterhasBackFaceColor0Bit[22]:BFCspecParameterMask0:PrimitiveVertexParameterdoesnothaveBackFaceColor11:PrimitiveVertexParameterhasBackFaceColor121:18WOxxhReserved17:12WOxxhThe50thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)11:6WOxxhThe49thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)5:0WOxxhThe48thFVFAttributeNumber(X,Y,…QJ,BFCdiff,BFCspec)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091533DRegistersHParaType=04h,Sub-Address=11-1Fh:Reserved(ForFlexibleVertexFormat)HParaType=04h,Sub-Address=20hVertexBuffer&PrimitiveSetting1Therearetotally3232-bitTAUinstructions.
Bits[23:0]AttributeDefaultDescription23WOxxhDisableClippingforTrianglePoint(JustNearPlane)0:Enable1:DisableNotetoDriver:Thisregisterisonlyfortrianglewithfillmode"point".
Whenthisregisterenabled,theremightbe2newpointsresultedfromnearplaneclipping,andtheirattributes(suchaspointsize,color,texstureandsoon)areinterpolatedfromtheoriginal3vertices.
Whendisabled(HenCL4TriPoint_N=1),HWjustrenderstheverticesinsidetheviewvolumn.
22:21WOxxhReserved21:16WOxxhTheSettingofSecondorEvenOne-vertexTriangleBit[21:20]:SettingofVertexAThissettingisusedforbothtriangleandlinerendering.
00:Vertexaisanewinput01:TheVertexawillbereplacedbypreviousVertexa.
10:TheVertexawillbereplacedbypreviousVertexb.
11:TheVertexawillbereplacedbypreviousVertexc.
Bit[19:18]SettingofVertexBThissettingisusedforbothtriangleandlinerendering.
00:Vertexbisanewinput01:TheVertexbwillbereplacedbypreviousVertexa.
10:TheVertexbwillbereplacedbypreviousVertexb.
11:TheVertexbwillbereplacedbypreviousVertexc.
Bit[17:16]SettingofVertexCThissettingisusedforbothtriangleandlinerendering.
00:Vertexcisanewinput01:TheVertexcwillbereplacedbypreviousVertexa.
10:TheVertexcwillbereplacedbypreviousVertexb.
11:TheVertexcwillbereplacedbypreviousVertexc.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091543DRegisters15:8WOxxhPrimitiveRenderMode00000000:FullVertexCycleForTriangleRendering,thisisthe3vertexescycle.
ForLineRendering,thisisthe2vertexescycle.
10xxxxxx:Reservedx1xxxxxx:AutomaticFastPrimitiveVertexCycleForTriangleRendering,thisisafastwaytorender3111ModeForLineRendering,thisisafastwaytorender2111ModeThefirstoroddsinglevertexcyclewillusethesettingofbit[5:0].
ThesecondorevensinglevertexcyclewillusethesettingofH2nd1VT.
Bit[13:12]SettingofVertexAThissettingisusedforbothtriangleandlinerendering.
00:Vertexaisanewinput01:TheVertexawillbereplacedbypreviousVertexa.
10:TheVertexawillbereplacedbypreviousVertexb.
11:TheVertexawillbereplacedbypreviousVertexc.
Bit[11:10]SettingofVertexBThissettingisusedforbothtriangleandlinerendering.
00:Vertexbisanewinput01:TheVertexbwillbereplacedbypreviousVertexa.
10:TheVertexbwillbereplacedbypreviousVertexb.
11:TheVertexbwillbereplacedbypreviousVertexc.
Bit[9:8]SettingofVertexCThissettingisusedforbothtriangleandlinerendering.
00:Vertexcisanewinput01:TheVertexcwillbereplacedbypreviousVertexa.
10:TheVertexcwillbereplacedbypreviousVertexb.
11:TheVertexcwillbereplacedbypreviousVertexc.
7:2WOxxhReserved1WOxxhVertexBufferIndexMode0:16-bitindex1:32-bitindex0WOxxhVertexMode0:CommandmodeVertex1:IndexmodeVertexHParaType=04h,Sub-Address=21hVertexBuffer&PrimitiveSetting2Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofVertexBufferBaseAddressHParaType=04h,Sub-Address=22hVertexBuffer&PrimitiveSetting3Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:8WOxxhPitchofEachVertexinVertexBuffer7:0WOxxhHigherByteofVertexBufferBaseAddressVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091553DRegistersHParaType=04h,Sub-Address=23hVertexBuffer&PrimitiveSetting4Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15WOxxhLastPixelControlforDrawingLine0:Discardthelastpixelofeachline1:Drawthelastpixelofeachline14:12WOxxhShadingSetting000:Solidshading001:FlatshadingviaVertexa010:FlatshadingviaVertexb011:FlatshadingviaVertexc100:Gouraudshading11:9WOxxhEdgeFlagAssumethevertextransmissionsequenceofatriangleisa,b,thenc.
000:RenderNOEdgefortrianglewire-frameorantialiasing1xx:RenderEdge(a,b)fortrianglewire-frameorantialiasingx1x:RenderEdge(b,c)fortrianglewire-frameorantialiasingxx1:RenderEdge(c,a)fortrianglewire-frameorantialiasing8WOxxhBackFaceModefor"Culling"0:Ifthevertexinputisintheorderofclockwise,itwouldbe"culled"1:Ifthevertexinputisintheorderofcounterclockwise,itwouldbe"culled"7WOxxhBackFaceModeforVS'sOutput"oBFD#"0:Ifthevertexinputisintheorderofclockwise,"oBFD#"wouldbeselectedasthevertexcolor1:Ifthevertexinputisintheorderofcounterclockwise,"oBFD#"wouldbeselectedasthevertexcolorNotetoDriver:WhenevertheconfigureofVS'sOutputRegisterscontainsoBD#,andHenBFCullisfalse,HWwouldselectoD#oroBFD#asColor0andColor1.
Andthealgorithmisas:If(HenBFCull&trianglemeetsHBFcae4Cull)DropthetriangleElseif((FVFMaskhasBackFaceColor0|FVFMaskhasBackFaceColor1)&trianglemeetHBFcae4BFD)C0=BackFaceColor0C1=BackFaceColor1ElseC0=Color0C1=Color16:5WOxxhPrimitiveTypeforClockwiseTriangle00:TriangleRenderingforHen2FRenderenabledandclockwiseprimitive01:Reserved10:TriangleWire-frameRenderingforHen2FRenderenabledandclockwiseprimitive11:TrianglePointRenderingforHen2FRenderenabledandclockwiseprimitive4WOxxhRenderMode(PMType)IsDifferentforFront-FaceandBack-FacePrimitiveTherelatedPMTypeis"Triangle","TriangleWire-Frame"and"TrianglePoint".
0:ThePMTypesforbothfront-faceandback-facearethesame,oronlyonekindoffaceisrendered.
1:ThePMTypeisdifferentforfront-faceandback-faceprimitive.
3:0WOxxhPrimitiveType0000:PointRendering0001:LineRendering0010:TriangleRenderingfor"Hen2Frender"isfalse,orHen2Frenderenabledandcounter-clockwiseprimitive0011:Reserved0100:Rectangle0101:Reserved0110:TriangleWire-frameRenderingfor"Hen2Frender"isfalse,orHen2Frenderenabledandcounter-clockwiseprimitive0111:TrianglePointRenderingfor"Hen2Frender"isfalse,orHen2Frenderenabledandcounter-clock-wiseprimitive1xxx:ReservedHParaType=04h,Sub-Address=24VertexBuffer&PrimitiveSetting5Bits[23:0]AttributeDefaultDescription23:0WOxxhVertexesNumbern:Therearenvertexesincurrentprimitivelist.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091563DRegistersHParaType=04h,Sub-Address=25hVertexBuffer&PrimitiveSetting6Bits[23:0]AttributeDefaultDescription23:0WOxxhVertexesNumberBit[23]:XParameterMask0:PrimitiveVertexParameterdoesnothaveX1:PrimitiveVertexParameterhasXBit[22]:YParameterMask0:PrimitiveVertexParameterdoesnothaveY1:PrimitiveVertexParameterhasYBit[21]:ZParameterMask0:PrimitiveVertexParameterdoesnothaveZ1:PrimitiveVertexParameterhasZBit[20]:WParameterMask0:PrimitiveVertexParameterdoesnothaveW1:PrimitiveVertexParameterhasWBit[19]:Point-SizeParameterMask0:PrimitiveVertexParameterdoesnothavePoint-SizeIftheprimitivetypeispoint,useHVPointSize.
1:PrimitiveVertexParameterhasPoint-SizeIftheprimitivetypeispoint,usethevaluefromVertexData.
Bit[18]:Cd(C0)ParameterMask0:PrimitiveVertexParameterdoesnothaveDiffuseColor,ARGB1:PrimitiveVertexParameterhasDiffuseColor,ARGBBit[17]:Cs(C1)ParameterMask0:PrimitiveVertexParameterdoesnothaveSpeculaColor,SRSGSB,andSA1:PrimitiveVertexParameterhasSpeculaColor,SRSGSB,andSABit[16]:Fog-FactorParameterMask0:PrimitiveVertexParameterdoesnothaveFogFactor1:PrimitiveVertexParameterhasFogFactorBit[15]:TextureA'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateS1:PrimitiveVertexParameterhasTextureCoordinateSBit[14]:TextureA'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateT1:PrimitiveVertexParameterhasTextureCoordinateTBit[13]:TextureA'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateR1:PrimitiveVertexParameterhasTextureCoordinateRBit[12]:TextureA'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQ1:PrimitiveVertexParameterhasTextureCoordinateQBit[11]:TextureB'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateS1:PrimitiveVertexParameterhasTextureCoordinateSBit[10]:TextureB'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateT1:PrimitiveVertexParameterhasTextureCoordinateTBit[9]:TextureB'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateR1:PrimitiveVertexParameterhasTextureCoordinateRBit[8]:TextureB'sQParameterMaskVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091573DRegisters0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQ1:PrimitiveVertexParameterhasTextureCoordinateQBit[7]:TextureC'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateS1:PrimitiveVertexParameterhasTextureCoordinateSBit[6]:TextureC'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateT1:PrimitiveVertexParameterhasTextureCoordinateTBit[5]:TextureC'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateR1:PrimitiveVertexParameterhasTextureCoordinateRBit[4]:TextureC'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQ1:PrimitiveVertexParameterhasTextureCoordinateQBit[3]:TextureD'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateS1:PrimitiveVertexParameterhasTextureCoordinateSBit[2]:TextureD'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateT1:PrimitiveVertexParameterhasTextureCoordinateTBit[1]:TextureD'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateR1:PrimitiveVertexParameterhasTextureCoordinateRBit[0]:TextureD'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQ1:PrimitiveVertexParameterhasTextureCoordinateQVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091583DRegistersHParaType=04h,Sub-Address=26hVertexBuffer&PrimitiveSetting7Bits[23:0]AttributeDefaultDescription23:16WOxxhFlexibleVertexFormatMaskBit[23]:TextureI'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateS1:PrimitiveVertexParameterhasTextureCoordinateSBit[22]:TextureI'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateT1:PrimitiveVertexParameterhasTextureCoordinateTBit[21]:TextureI'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateR1:PrimitiveVertexParameterhasTextureCoordinateRBit[20]:TextureI'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQ1:PrimitiveVertexParameterhasTextureCoordinateQBit[19]:TextureJ'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateS1:PrimitiveVertexParameterhasTextureCoordinateSBit[18]:TextureJ'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateT1:PrimitiveVertexParameterhasTextureCoordinateTBit[17]:TextureJ'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateR1:PrimitiveVertexParameterhasTextureCoordinateRBit[16]:TextureJ'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQ1:PrimitiveVertexParameterhasTextureCoordinateQVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091593DRegisters15:0WOxxhFlexibleVertexFormatMaskBit[15]:TextureE'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateS1:PrimitiveVertexParameterhasTextureCoordinateSBit[14]:TextureE'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateT1:PrimitiveVertexParameterhasTextureCoordinateTBit[13]:TextureE'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateR1:PrimitiveVertexParameterhasTextureCoordinateRBit[12]:TextureE'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQ1:PrimitiveVertexParameterhasTextureCoordinateQBit[11]:TextureF'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateS1:PrimitiveVertexParameterhasTextureCoordinateSBit[10]:TextureF'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateT1:PrimitiveVertexParameterhasTextureCoordinateTBit[9]:TextureF'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateR1:PrimitiveVertexParameterhasTextureCoordinateRBit[8]:TextureF'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQ1:PrimitiveVertexParameterhasTextureCoordinateQBit[7]:TextureG'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateS1:PrimitiveVertexParameterhasTextureCoordinateSBit[6]:TextureG'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateT1:PrimitiveVertexParameterhasTextureCoordinateTBit[5]:TextureG'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateR1:PrimitiveVertexParameterhasTextureCoordinateRBit[4]:TextureG'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQ1:PrimitiveVertexParameterhasTextureCoordinateQBit[3]:TextureH'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateS1:PrimitiveVertexParameterhasTextureCoordinateSBit[2]:TextureH'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateT1:PrimitiveVertexParameterhasTextureCoordinateTBit[1]:TextureH'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateR1:PrimitiveVertexParameterhasTextureCoordinateRBit[0]:TextureH'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQ1:PrimitiveVertexParameterhasTextureCoordinateQVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091603DRegistersHParaType=04h,Sub-Address=27hVertexBuffer&PrimitiveSetting8Bits[23:0]AttributeDefaultDescription23:0WOxxhStartingPrimitiveCountHParaType=04h,Sub-Address=28hVertexBuffer&PrimitiveSetting9Bits[23:0]AttributeDefaultDescription23:0WOxxhVertexParameterMaskNotethatthe"(**)"iscontrolledbyHVPDV_XX'sSettingBit[23]:XParameterMask0:PrimitiveVertexParameterdoesnothaveXthususedefaultvalue0.
01:PrimitiveVertexParameterhasXBit[22]:YParameterMask0:PrimitiveVertexParameterdoesnothaveYthususedefaultvalue0.
01:PrimitiveVertexParameterhasYBit[21]:ZParameterMask0:PrimitiveVertexParameterdoesnothaveZthususedefaultvalue(**)1:PrimitiveVertexParameterhasZBit[20]:WParameterMask0:PrimitiveVertexParameterdoesnothaveWthususedefaultvalue(**)1:PrimitiveVertexParameterhasWBit[19]:ReservedBit[18]:Cd(C0)ParameterMask0:PrimitiveVertexParameterdoesnothaveDiffuseColor,ARGBthususedefaultvalue(**)1:PrimitiveVertexParameterhasDiffuseColor,ARGBBit[17]:Cs(C1)ParameterMask0:PrimitiveVertexParameterdoesnothaveSpeculaColor,SRSGSB,andSAthususedefaultvalue(**)1:PrimitiveVertexParameterhasSpeculaColor,SRSGSB,andSABit[16]:Fog-FactorParameterMask0:PrimitiveVertexParameterdoesnothaveFogFactorthususedefaultvalue(**)1:PrimitiveVertexParameterhasFogFactorBit[15]:Texture0'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateSthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateSBit[14]:Texture0'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateTthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateTBit[13]:Texture0'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateRthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateRBit[12]:Texture0'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateQBit[11]:Texture1'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateSthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateSBit[10]:Texture1'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateTthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateTVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091613DRegistersBit[9]:Texture1'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateRthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateRBit[8]:Texture1'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateQBit[7]:Texture2'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateSthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateSBit[6]:Texture2'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateTthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateTBit[5]:Texture2'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateRthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateRBit[4]:Texture2'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateQBit[3]:Texture3'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateSthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateSBit[2]:Texture3'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateTthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateTBit[1]:Texture3'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateRthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateRBit[0]:Texture3'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateQHParaType=04h,Sub-Address=29hVertexBuffer&PrimitiveSetting10Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:0WOxxhVertexParameterMaskNotethatthe"(**)"iscontrolledbyHVPDV_XX'sSettingBit[15]:Texture4'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateSthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateSBit[14]:Texture4'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateTthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateTBit[13]:Texture4'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateRthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateRBit[12]:Texture4'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateQBit[11]:Texture5'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateSthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateSBit[10]:Texture5'sTParameterMaskVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091623DRegisters0:PrimitiveVertexParameterdoesnothaveTextureCoordinateTthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateTBit[9]:Texture5'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateRthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateRBit[8]:Texture5'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateQBit[7]:Texture6'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateSthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateSBit[6]:Texture6'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateTthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateTBit[5]:Texture6'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateRthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateRBit[4]:Texture6'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateQBit[3]:Texture7'sSParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateSthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateSBit[2]:Texture7'sTParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateTthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateTBit[1]:Texture7'sRParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateRthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateRBit[0]:Texture7'sQParameterMask0:PrimitiveVertexParameterdoesnothaveTextureCoordinateQthususedefaultvalue(**)1:PrimitiveVertexParameterhasTextureCoordinateQHParaType=04h,Sub-Address=2AhVertexBuffer&PrimitiveSetting11Bits[23:0]AttributeDefaultDescription23:0WOxxhPoint'sDefaultWidthasFloatings[8].
15WhenpointsizecomesfromFVF,thissettingisasthemaximumvalueofpointsize.
PointSpriteisnotonlyusefulfor3DAP,butalsofor2DandvedioAP.
Thiscanbeconsideredasjustfilledarectangleandmakeuseofallthose3Dfeaturesatthesametime.
Themaximumvalueis2048.
0.
Theminimumvalueis1.
0.
If(HFVFMaskof"pointsize"is"0",andprimitivetypeispoint)Point_width=HVPointWElsePoint_width=max(HVPointH,min(HVPointW,valuefromPrimitiveVertexdata's"point_size")HParaType=04h,Sub-Address=2BhVertexBuffer&PrimitiveSetting12Bits[23:0]AttributeDefaultDescription23:0WOxxhPoint'sDefaultHightasFloatings[8].
15WhenpointsizecomesfromFVF,thissettingisastheminimumvalueofpointsize.
Themaximumvalueis2048.
0.
Theminimumvalueis1.
0.
VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091633DRegistersHParaType=04h,Sub-Address=2ChVertexBuffer&PrimitiveSetting13Bits[23:0]AttributeDefaultDescription23:0WOxxhLower24BitsforMaximumValueofVertexBuffer'sIndexHParaType=04h,Sub-Address=2DhVertexBuffer&PrimitiveSetting14Bits[23:0]AttributeDefaultDescription23:0WOxxhLower24BitsforMinimumValueofVertexBuffer'sIndexHParaType=04h,Sub-Address=2EhVertexBuffer&PrimitiveSetting15Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:8WOxxhHigher8BitsforMaximumValueofVertexBuffer'sIndex7:0WOxxhHigher8BitsforMinimumValueofVertexBuffer'sIndexIf(indexofvertex>HVBIndexMax|indexofvertexChrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091643DRegisters9WOxxhPointSpriteEnableforTextureJ0:Disable1:Enable8WOxxhPointSpriteEnableforTextureI0:Disable1:Enable7WOxxhPointSpriteEnableforTextureH0:Disable1:Enable6WOxxhPointSpriteEnableforTextureG0:Disable1:Enable5WOxxhPointSpriteEnableforTextureF0:Disable1:Enable4WOxxhPointSpriteEnableforTextureE0:Disable1:Enable3WOxxhPointSpriteEnableforTextureD0:Disable1:Enable2WOxxhPointSpriteEnableforTextureC0:Disable1:Enable1WOxxhPointSpriteEnableforTextureB0:Disable1:Enable0WOxxhPointSpriteEnableforTextureA0:Disable1:EnableNotetoDriver:Thereare2enablesettingsforPointSprite,"HenPSprite"and"HVPenPSpriteTXn",wherenisfromAtoJ.
ForOpenGL,the"HVPenPSpriteTXn"areusedtosetpointspriteforeachtexture.
ButforD3D,"HenPSprite"isusedtosetpointspriteforALLtextures.
HWwoulddopointspriteifanyoneofthe2registersistrue.
ThatisFor(n=AtoJ):If((PMTypeis"pointor"trianglepoint")&(HenPSprite|HVPenPSpriteTXn))Texturenissetupas"PointSprite"HParaType=04h,Sub-Address=30-3Fh:Reserved(forVertexBuffer&PrimitiveSetting)HParaType=04h,Sub-Address=40hClippingWindowtoScreenWindowTransformationSetting1Allthetransformingcoefficientsare32-bitfloating-point.
Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofScalingforXTransformHParaType=04h,Sub-Address=41hClippingWindowtoScreenWindowTransformationSetting2Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofOffsetforXTransformHParaType=04h,Sub-Address=42hClippingWindowtoScreenWindowTransformationSetting3Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:8WOxxhHigherByteofOffsetforXTransform7:0WOxxhHigherByteofScalingforXTransformVX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091653DRegistersHParaType=04h,Sub-Address=43hClippingWindowtoScreenWindowTransformationSetting4Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofScalingforYTransformHParaType=04h,Sub-Address=44h:ClippingWindowtoScreenWindowTransformationSetting5Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofOffsetforYTransformHParaType=04h,Sub-Address=45hClippingWindowtoScreenWindowTransformationSetting6Bits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:8WOxxhHigherByteofOffsetforYTransform7:0WOxxhHigherByteofScalingforYTransformHParaType=04h,Sub-Address=46hClippingWindowtoScreenWindowTransformationSetting7Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofScalingforZTransformHParaType=04h,Sub-Address=47hClippingWindowtoScreenWindowTransformationSetting8Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofOffsetforZTransformHParaType=04h,Sub-Address=48hClippingWindowtoScreenWindowTransformationSetting9Bits[23:0]AttributeDefaultDescription23:16WOxxhAThresholdValueForMoreAccurateAreaCalculatingAthresholdvalueofscreencoordinate'sExponentialpartformoreaccurateareacalculation.
Ifanyscreencoordinate'sexpomomtialisover"HC2SXYEmax4Area",theareacalculatingequationwouldbeXbYc–XbYa–XaYc–XcYb+XcYa+XaYb.
Andaddeachtermintheorderfromabsolutelargesttotheabsolutesmallest.
NotetoHW:TheminimumvalueofHC2SXYEmax4Areais19+127(thatis2^19).
HWhastocheckandmakesadjustmentasUsedHC2SXYEmax4Area=max(146,decodedHC2SXYEmax4Area).
Thustheoriginalpatternswon'tbere-generated.
15:8WOxxhHigherByteofOffsetforZTransform7:0WOxxhHigherByteofScalingforZTransformHParaType=04h,Sub-Address=49-4Fh:Reserved(forClippingWindowtoScreenWindowTransformationSetting)VX855andVX875Chrome9HCMOpenGraphicsProgrammingManualPreliminaryRevision1.
0,July29,20091663DRegistersHParaType=04h,Sub-Address=50hClippingWindowtoScreenWindowTransformationSetting10Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofUpperClampingValueforScreenCoordinateHParaType=04h,Sub-Address=51hClippingWindowtoScreenWindowTransformationSetting11Bits[23:0]AttributeDefaultDescription23:0WOxxhLower3BytesofDownClampingValueforScreenCoordinateHParaType=04h,Sub-Address=52hClippingWindowtoScreenWindowTransformationSetting12Bits[23:0]AttributeDefaultDescription23:16WOxxhMaximumExponentialValueClippedScreenCoordinateIftheclippednewvertex'sscreencoordinateisover±2^HC2SXYEmax4CL,re-generatethisclippedvertextoasmallerscreencoordinate.
15:8WOxxhHigherByteofUpperClampingValueforScreenCoordinate7:0WOxxhHigherByteofDownClampingValueforScreenCoordinateIf(Xs>=HC2SXYUClamp)Xs=HC2SXYUClampElseif(Xs=HC2SXYUClamp)Ys=HC2SXYUClampElseif(Ys<=HC2SXYDClamp)Ys=HC2SXYDClampHParaType=04h,Sub-AddressAAhSoftwareInspectionBits[23:0]AttributeDefaultDescription23:16WOxxhReserved15:0WOxxhFlagNumberforSWInspectionHParaType10h:CommandsforCommandRegulatorRefertoCRChapter's"HParaType10h:CommandsforCommandRegulator"formoredetailsHParaType11h:CommandsforFrameBufferSwappingandCR'sMiscellaneousSettingRefertoCRChapter's"HParaType11h:CommandsforFrameBufferSwappingandCR'sMiscellaneousSetting"formoredetails.
腾讯云轻量应用服务器又要免费升级配置了,之前已经免费升级过一次了(腾讯云轻量应用服务器套餐配置升级 轻量老用户专享免费升配!),这次在上次的基础上再次升级。也许这就是良心云吧,名不虚传。腾讯云怎么样?腾讯云好不好。腾讯云轻量应用服务器 Lighthouse 是一种易于使用和管理、适合承载轻量级业务负载的云服务器,能帮助个人和企业在云端快速构建网站、博客、电商、论坛等各类应用以及开发测试环境,并提供...
justhost.ru官方来消息说已经对网络进行了比较全面的优化,针对中国电信、联通、移动来说,4个机房总有一个适合中国用户,让站长进行一下测试,这不就有了这篇有关justhost的VPS的第四次测评。本帖主要关注的是网络,对于其他的参数一概不管! 官方网站:https://justhost.ru 最低配VPS:8.3元/月,KVM,512M内存,5G硬盘,200M带宽,不限流量 购买链接:...
Megalayer 商家算是比较新晋的国内主机商,主要方向是美国、香港、菲律宾等机房的独立服务器为主,以及站群服务器和显卡服务器。同时也有新增价格并不是特别优惠的VPS云服务器。上午的时候有网友问问有没有CN2线路的美国独立服务器的,这里我推荐他选择Megalayer看看,目前也是有活动截止到月底的。Megalayer 商家创办2年左右时间,如果我们初次使用建议月付体验。目前在进行且可能截止到6月...
chrome9为你推荐
软银孙正义如何看待中国的首富马云?如何看待日本软银孙正义软银收购wework如何看待腾讯收购 Supercell免费送q币活动有什么活动可以免费获得QB?p图软件哪个好用P图用什么软件啊轿车和suv哪个好SUV和轿车哪个好点?纠结压缩软件哪个好安卓手机哪一款解压缩软件比较好用?谢谢!加速器哪个好英雄联盟有什么加速器好用的?手机杀毒哪个好手机杀毒软件哪个好 五大手机安全软件杀毒大比拼dnf魔枪士转职哪个好魔枪转职哪个适合搬砖红茶和绿茶哪个好红茶和绿茶 那个更好
私服服务器租用 vir singlehop 双12活动 777te 有奖调查 徐正曦 搜索引擎提交入口 drupal安装 优酷黄金会员账号共享 韩国代理ip 论坛主机 永久免费空间 万网空间 国外网页代理 测试网速命令 新网dns 优惠服务器 alertpay 美国达拉斯 更多