📄 gamma_inithw.c
字号:
WRITE(gmesa->buf, TextureReadMode, 0); WRITE(gmesa->buf, TextureFilterMode, 0); WRITE(gmesa->buf, TextureColorMode, 0); WRITE(gmesa->buf, StencilMode, 0); WRITE(gmesa->buf, PatternRamMode, 0); WRITE(gmesa->buf, ChromaTestMode, 0); WRITE(gmesa->buf, StatisticMode, 0); WRITE(gmesa->buf, AreaStippleMode, gmesa->AreaStippleMode); WRITE(gmesa->buf, ScissorMode, gmesa->ScissorMode); WRITE(gmesa->buf, FogMode, gmesa->FogMode); WRITE(gmesa->buf, AntialiasMode, gmesa->AntialiasMode); WRITE(gmesa->buf, LogicalOpMode, gmesa->LogicalOpMode); WRITE(gmesa->buf, TriangleMode, gmesa->TriangleMode); WRITE(gmesa->buf, PointMode, gmesa->PointMode); WRITE(gmesa->buf, LineMode, gmesa->LineMode); WRITE(gmesa->buf, LBWriteFormat, gmesa->LBWriteFormat); WRITE(gmesa->buf, LBReadFormat, gmesa->LBReadFormat); /* Framebuffer initialization */ CHECK_DMA_BUFFER(gmesa, 10); WRITE(gmesa->buf, FBSourceData, 0); WRITE(gmesa->buf, FBReadMode, gmesa->FBReadMode); if (gmesa->EnabledFlags & GAMMA_BACK_BUFFER) { if (gDRIPriv->numMultiDevices == 2) { WRITE(gmesa->buf, FBPixelOffset, (gmesa->driScreen->fbHeight/2)*gmesa->driScreen->fbWidth); } else { WRITE(gmesa->buf, FBPixelOffset, gmesa->driScreen->fbHeight*gmesa->driScreen->fbWidth); } } else WRITE(gmesa->buf, FBPixelOffset, 0); WRITE(gmesa->buf, FBSourceOffset, 0); WRITE(gmesa->buf, FBHardwareWriteMask, 0xffffffff); WRITE(gmesa->buf, FBSoftwareWriteMask, 0xffffffff); WRITE(gmesa->buf, FBWriteMode, FBWriteModeEnable); WRITE(gmesa->buf, FBWindowBase, gmesa->FBWindowBase); WRITE(gmesa->buf, ScreenSize, ((gmesa->driScreen->fbHeight << 16) | (gmesa->driScreen->fbWidth))); WRITE(gmesa->buf, WindowOrigin, 0x00000000); /* Localbuffer initialization */ CHECK_DMA_BUFFER(gmesa, 5); WRITE(gmesa->buf, LBReadMode, gmesa->LBReadMode); WRITE(gmesa->buf, LBSourceOffset, 0); WRITE(gmesa->buf, LBWriteMode, LBWriteModeEnable); WRITE(gmesa->buf, LBWindowOffset, 0); WRITE(gmesa->buf, LBWindowBase, gmesa->LBWindowBase); CHECK_DMA_BUFFER(gmesa, 1); WRITE(gmesa->buf, Rectangle2DControl, 1); CHECK_DMA_BUFFER(gmesa, 11); WRITE(gmesa->buf, DepthMode, gmesa->DepthMode); WRITE(gmesa->buf, ColorDDAMode, gmesa->ColorDDAMode); WRITE(gmesa->buf, FBBlockColor, 0x00000000); WRITE(gmesa->buf, ConstantColor, 0x00000000); WRITE(gmesa->buf, AlphaTestMode, gmesa->AlphaTestMode); WRITE(gmesa->buf, AlphaBlendMode, gmesa->AlphaBlendMode); WRITE(gmesa->buf, DitherMode, gmesa->DitherMode); if (gDRIPriv->numMultiDevices == 2) WRITE(gmesa->buf, RasterizerMode, RM_MultiGLINT | RM_BiasCoordNearHalf); else WRITE(gmesa->buf, RasterizerMode, RM_BiasCoordNearHalf); WRITE(gmesa->buf, GLINTWindow, gmesa->Window); WRITE(gmesa->buf, FastClearDepth, gmesa->ClearDepth); WRITE(gmesa->buf, GLINTDepth, gmesa->ClearDepth); CHECK_DMA_BUFFER(gmesa, 1); WRITE(gmesa->buf, EdgeFlag, EdgeFlagEnable); CHECK_DMA_BUFFER(gmesa, 16); WRITEF(gmesa->buf, ModelViewMatrix0, 1.0); WRITEF(gmesa->buf, ModelViewMatrix1, 0.0); WRITEF(gmesa->buf, ModelViewMatrix2, 0.0); WRITEF(gmesa->buf, ModelViewMatrix3, 0.0); WRITEF(gmesa->buf, ModelViewMatrix4, 0.0); WRITEF(gmesa->buf, ModelViewMatrix5, 1.0); WRITEF(gmesa->buf, ModelViewMatrix6, 0.0); WRITEF(gmesa->buf, ModelViewMatrix7, 0.0); WRITEF(gmesa->buf, ModelViewMatrix8, 0.0); WRITEF(gmesa->buf, ModelViewMatrix9, 0.0); WRITEF(gmesa->buf, ModelViewMatrix10, 1.0); WRITEF(gmesa->buf, ModelViewMatrix11, 0.0); WRITEF(gmesa->buf, ModelViewMatrix12, 0.0); WRITEF(gmesa->buf, ModelViewMatrix13, 0.0); WRITEF(gmesa->buf, ModelViewMatrix14, 0.0); WRITEF(gmesa->buf, ModelViewMatrix15, 1.0); CHECK_DMA_BUFFER(gmesa, 16); WRITEF(gmesa->buf, ModelViewProjectionMatrix0, 1.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix1, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix2, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix3, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix4, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix5, 1.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix6, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix7, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix8, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix9, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix10, 1.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix11, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix12, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix13, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix14, 0.0); WRITEF(gmesa->buf, ModelViewProjectionMatrix15, 1.0); CHECK_DMA_BUFFER(gmesa, 16); WRITEF(gmesa->buf, TextureMatrix0, 1.0); WRITEF(gmesa->buf, TextureMatrix1, 0.0); WRITEF(gmesa->buf, TextureMatrix2, 0.0); WRITEF(gmesa->buf, TextureMatrix3, 0.0); WRITEF(gmesa->buf, TextureMatrix4, 0.0); WRITEF(gmesa->buf, TextureMatrix5, 1.0); WRITEF(gmesa->buf, TextureMatrix6, 0.0); WRITEF(gmesa->buf, TextureMatrix7, 0.0); WRITEF(gmesa->buf, TextureMatrix8, 0.0); WRITEF(gmesa->buf, TextureMatrix9, 0.0); WRITEF(gmesa->buf, TextureMatrix10, 1.0); WRITEF(gmesa->buf, TextureMatrix11, 0.0); WRITEF(gmesa->buf, TextureMatrix12, 0.0); WRITEF(gmesa->buf, TextureMatrix13, 0.0); WRITEF(gmesa->buf, TextureMatrix14, 0.0); WRITEF(gmesa->buf, TextureMatrix15, 1.0); CHECK_DMA_BUFFER(gmesa, 16); WRITEF(gmesa->buf, TexGen0, 0.0); WRITEF(gmesa->buf, TexGen1, 0.0); WRITEF(gmesa->buf, TexGen2, 0.0); WRITEF(gmesa->buf, TexGen3, 0.0); WRITEF(gmesa->buf, TexGen4, 0.0); WRITEF(gmesa->buf, TexGen5, 0.0); WRITEF(gmesa->buf, TexGen6, 0.0); WRITEF(gmesa->buf, TexGen7, 0.0); WRITEF(gmesa->buf, TexGen8, 0.0); WRITEF(gmesa->buf, TexGen9, 0.0); WRITEF(gmesa->buf, TexGen10, 0.0); WRITEF(gmesa->buf, TexGen11, 0.0); WRITEF(gmesa->buf, TexGen12, 0.0); WRITEF(gmesa->buf, TexGen13, 0.0); WRITEF(gmesa->buf, TexGen14, 0.0); WRITEF(gmesa->buf, TexGen15, 0.0); CHECK_DMA_BUFFER(gmesa, 9); WRITEF(gmesa->buf, NormalMatrix0, 1.0); WRITEF(gmesa->buf, NormalMatrix1, 0.0); WRITEF(gmesa->buf, NormalMatrix2, 0.0); WRITEF(gmesa->buf, NormalMatrix3, 0.0); WRITEF(gmesa->buf, NormalMatrix4, 1.0); WRITEF(gmesa->buf, NormalMatrix5, 0.0); WRITEF(gmesa->buf, NormalMatrix6, 0.0); WRITEF(gmesa->buf, NormalMatrix7, 0.0); WRITEF(gmesa->buf, NormalMatrix8, 1.0); CHECK_DMA_BUFFER(gmesa, 3); WRITEF(gmesa->buf, FogDensity, 0.0); WRITEF(gmesa->buf, FogEnd, 0.0); WRITEF(gmesa->buf, FogScale, 0.0); CHECK_DMA_BUFFER(gmesa, 2); WRITEF(gmesa->buf, LineClipLengthThreshold, 0.0); WRITEF(gmesa->buf, TriangleClipAreaThreshold, 0.0); CHECK_DMA_BUFFER(gmesa, 5); WRITE(gmesa->buf, GeometryMode, gmesa->GeometryMode); WRITE(gmesa->buf, NormalizeMode, NormalizeModeDisable); WRITE(gmesa->buf, LightingMode, gmesa->LightingMode); WRITE(gmesa->buf, ColorMaterialMode, ColorMaterialModeDisable); WRITE(gmesa->buf, MaterialMode, MaterialModeDisable); CHECK_DMA_BUFFER(gmesa, 2); WRITE(gmesa->buf, FrontSpecularExponent, 0); /* fixed point */ WRITE(gmesa->buf, BackSpecularExponent, 0); /* fixed point */ CHECK_DMA_BUFFER(gmesa, 29); WRITEF(gmesa->buf, FrontAmbientColorRed, 0.2); WRITEF(gmesa->buf, FrontAmbientColorGreen, 0.2); WRITEF(gmesa->buf, FrontAmbientColorBlue, 0.2); WRITEF(gmesa->buf, BackAmbientColorRed, 0.2); WRITEF(gmesa->buf, BackAmbientColorGreen, 0.2); WRITEF(gmesa->buf, BackAmbientColorBlue, 0.2); WRITEF(gmesa->buf, FrontDiffuseColorRed, 0.8); WRITEF(gmesa->buf, FrontDiffuseColorGreen, 0.8); WRITEF(gmesa->buf, FrontDiffuseColorBlue, 0.8); WRITEF(gmesa->buf, BackDiffuseColorRed, 0.8); WRITEF(gmesa->buf, BackDiffuseColorGreen, 0.8); WRITEF(gmesa->buf, BackDiffuseColorBlue, 0.8); WRITEF(gmesa->buf, FrontSpecularColorRed, 0.0); WRITEF(gmesa->buf, FrontSpecularColorGreen, 0.0); WRITEF(gmesa->buf, FrontSpecularColorBlue, 0.0); WRITEF(gmesa->buf, BackSpecularColorRed, 0.0); WRITEF(gmesa->buf, BackSpecularColorGreen, 0.0); WRITEF(gmesa->buf, BackSpecularColorBlue, 0.0); WRITEF(gmesa->buf, FrontEmissiveColorRed, 0.0); WRITEF(gmesa->buf, FrontEmissiveColorGreen, 0.0); WRITEF(gmesa->buf, FrontEmissiveColorBlue, 0.0); WRITEF(gmesa->buf, BackEmissiveColorRed, 0.0); WRITEF(gmesa->buf, BackEmissiveColorGreen, 0.0); WRITEF(gmesa->buf, BackEmissiveColorBlue, 0.0); WRITEF(gmesa->buf, SceneAmbientColorRed, 0.2); WRITEF(gmesa->buf, SceneAmbientColorGreen, 0.2); WRITEF(gmesa->buf, SceneAmbientColorBlue, 0.2); WRITEF(gmesa->buf, FrontAlpha, 1.0); WRITEF(gmesa->buf, BackAlpha, 1.0); CHECK_DMA_BUFFER(gmesa, 7); WRITE(gmesa->buf, PointSize, 1); WRITEF(gmesa->buf, AApointSize, 1.0); WRITE(gmesa->buf, LineWidth, 1); WRITEF(gmesa->buf, AAlineWidth, 1.0); WRITE(gmesa->buf, LineWidthOffset, 0); WRITE(gmesa->buf, TransformMode, gmesa->TransformMode); WRITE(gmesa->buf, DeltaMode, gmesa->DeltaMode); CHECK_DMA_BUFFER(gmesa, 16); WRITE(gmesa->buf, Light0Mode, LNM_Off); WRITE(gmesa->buf, Light1Mode, LNM_Off); WRITE(gmesa->buf, Light2Mode, LNM_Off); WRITE(gmesa->buf, Light3Mode, LNM_Off); WRITE(gmesa->buf, Light4Mode, LNM_Off); WRITE(gmesa->buf, Light5Mode, LNM_Off); WRITE(gmesa->buf, Light6Mode, LNM_Off); WRITE(gmesa->buf, Light7Mode, LNM_Off); WRITE(gmesa->buf, Light8Mode, LNM_Off); WRITE(gmesa->buf, Light9Mode, LNM_Off); WRITE(gmesa->buf, Light10Mode, LNM_Off); WRITE(gmesa->buf, Light11Mode, LNM_Off); WRITE(gmesa->buf, Light12Mode, LNM_Off); WRITE(gmesa->buf, Light13Mode, LNM_Off); WRITE(gmesa->buf, Light14Mode, LNM_Off); WRITE(gmesa->buf, Light15Mode, LNM_Off); CHECK_DMA_BUFFER(gmesa, 22); WRITEF(gmesa->buf, Light0AmbientIntensityBlue, 0.0); WRITEF(gmesa->buf, Light0AmbientIntensityGreen, 0.0); WRITEF(gmesa->buf, Light0AmbientIntensityRed, 0.0); WRITEF(gmesa->buf, Light0DiffuseIntensityBlue, 1.0); WRITEF(gmesa->buf, Light0DiffuseIntensityGreen, 1.0); WRITEF(gmesa->buf, Light0DiffuseIntensityRed, 1.0); WRITEF(gmesa->buf, Light0SpecularIntensityBlue, 1.0); WRITEF(gmesa->buf, Light0SpecularIntensityGreen, 1.0); WRITEF(gmesa->buf, Light0SpecularIntensityRed, 1.0); WRITEF(gmesa->buf, Light0SpotlightDirectionZ, 0.0); WRITEF(gmesa->buf, Light0SpotlightDirectionY, 0.0); WRITEF(gmesa->buf, Light0SpotlightDirectionX, -1.0); WRITEF(gmesa->buf, Light0SpotlightExponent, 0.0); WRITEF(gmesa->buf, Light0PositionZ, 0.0); WRITEF(gmesa->buf, Light0PositionY, 0.0); WRITEF(gmesa->buf, Light0PositionX, 1.0); WRITEF(gmesa->buf, Light0PositionW, 0.0); WRITEF(gmesa->buf, Light0CosSpotlightCutoffAngle, -1.0); WRITEF(gmesa->buf, Light0ConstantAttenuation, 1.0); WRITEF(gmesa->buf, Light0LinearAttenuation, 0.0); WRITEF(gmesa->buf, Light0QuadraticAttenuation,0.0); CHECK_DMA_BUFFER(gmesa, 2); WRITEF(gmesa->buf, XBias, 0.0); WRITEF(gmesa->buf, YBias, 0.0); CHECK_DMA_BUFFER(gmesa, 6); WRITEF(gmesa->buf, ViewPortScaleX, gmesa->driScreen->fbWidth/4); WRITEF(gmesa->buf, ViewPortScaleY, gmesa->driScreen->fbHeight/4); WRITEF(gmesa->buf, ViewPortScaleZ, 1.0f); WRITEF(gmesa->buf, ViewPortOffsetX, gmesa->x); WRITEF(gmesa->buf, ViewPortOffsetY, gmesa->y); WRITEF(gmesa->buf, ViewPortOffsetZ, 0.0f); CHECK_DMA_BUFFER(gmesa, 3); WRITEF(gmesa->buf, Nz, 1.0); WRITEF(gmesa->buf, Ny, 0.0); WRITEF(gmesa->buf, Nx, 0.0); /* Send the initialization commands to the HW */ FLUSH_DMA_BUFFER(gmesa);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -