aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers
Commit message (Collapse)AuthorAgeFilesLines
* i965: Add comments for each of the surface state table's columns.Kenneth Graunke2012-11-121-0/+11
| | | | | | I can never remember what "AB" means, and having to constantly consult the docs is annoying. Just add comments to the top which explain each of the abbreviations.
* mesa: Standardize names of OpenGL functions.Paul Berry2012-11-121-133/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adjusts the aliasing pattern in the GL API description XML, and the functions that implement the GL API within Mesa, to consistently follow these naming conventions: - When several function names are aliases of each other, the primary name is the one with no extension suffix (or the name with the suffix "ARB", if no unsuffixed name is available). (By "primary name", I mean the name that all the other functions point to using the XML "alias" attribute). - The name of the mesa implementation of each function is the same as the primary name, with the prefix "_mesa_". This patch renames the following mesa functions: _check_GetTexGenxvOES => _mesa_GetTexGenxvOES _check_TexGenxOES => _mesa_TexGenxOES _check_TexGenxvOES => _mesa_TexGenxvOES _es_AlphaFuncx => _mesa_AlphaFuncx _es_ClearColorx => _mesa_ClearColorx _es_ClearDepthx => _mesa_ClearDepthx _es_ClipPlanef => _mesa_ClipPlanef _es_ClipPlanex => _mesa_ClipPlanex _es_Color4x => _mesa_Color4x _es_DepthRangex => _mesa_DepthRangex _es_DrawTexxOES => _mesa_DrawTexxOES _es_DrawTexxvOES => _mesa_DrawTexxvOES _es_Fogx => _mesa_Fogx _es_Fogxv => _mesa_Fogxv _es_Frustumf => _mesa_Frustumf _es_Frustumx => _mesa_Frustumx _es_GetClipPlanef => _mesa_GetClipPlanef _es_GetClipPlanex => _mesa_GetClipPlanex _es_GetLightxv => _mesa_GetLightxv _es_GetMaterialxv => _mesa_GetMaterialxv _es_GetTexEnvxv => _mesa_GetTexEnvxv _es_GetTexParameterxv => _mesa_GetTexParameterxv _es_LightModelx => _mesa_LightModelx _es_LightModelxv => _mesa_LightModelxv _es_Lightx => _mesa_Lightx _es_Lightxv => _mesa_Lightxv _es_LineWidthx => _mesa_LineWidthx _es_LoadMatrixx => _mesa_LoadMatrixx _es_Materialx => _mesa_Materialx _es_Materialxv => _mesa_Materialxv _es_MultMatrixx => _mesa_MultMatrixx _es_MultiTexCoord4x => _mesa_MultiTexCoord4x _es_Normal3x => _mesa_Normal3x _es_Orthof => _mesa_Orthof _es_Orthox => _mesa_Orthox _es_PointParameterx => _mesa_PointParameterx _es_PointParameterxv => _mesa_PointParameterxv _es_PointSizex => _mesa_PointSizex _es_PolygonOffsetx => _mesa_PolygonOffsetx _es_QueryMatrixxOES => _mesa_QueryMatrixxOES _es_Rotatex => _mesa_Rotatex _es_SampleCoveragex => _mesa_SampleCoveragex _es_Scalex => _mesa_Scalex _es_TexEnvx => _mesa_TexEnvx _es_TexEnvxv => _mesa_TexEnvxv _es_TexParameterx => _mesa_TexParameterx _es_TexParameterxv => _mesa_TexParameterxv _es_Translatex => _mesa_Translatex _mesa_ActiveTextureARB => _mesa_ActiveTexture _mesa_BeginQueryARB => _mesa_BeginQuery _mesa_BindAttribLocationARB => _mesa_BindAttribLocation _mesa_BindBufferARB => _mesa_BindBuffer _mesa_BindFramebufferEXT => _mesa_BindFramebuffer _mesa_BindProgram => _mesa_BindProgramARB _mesa_BindRenderbufferEXT => _mesa_BindRenderbuffer _mesa_BlendEquationSeparateEXT => _mesa_BlendEquationSeparate _mesa_BlendEquationSeparatei => _mesa_BlendEquationSeparateiARB _mesa_BlendEquationi => _mesa_BlendEquationiARB _mesa_BlendFuncSeparateEXT => _mesa_BlendFuncSeparate _mesa_BlendFuncSeparatei => _mesa_BlendFuncSeparateiARB _mesa_BlendFunci => _mesa_BlendFunciARB _mesa_BlitFramebufferEXT => _mesa_BlitFramebuffer _mesa_BufferDataARB => _mesa_BufferData _mesa_BufferSubDataARB => _mesa_BufferSubData _mesa_CheckFramebufferStatusEXT => _mesa_CheckFramebufferStatus _mesa_ClampColorARB => _mesa_ClampColor _mesa_ClientActiveTextureARB => _mesa_ClientActiveTexture _mesa_ColorMaskIndexed => _mesa_ColorMaski _mesa_CompileShaderARB => _mesa_CompileShader _mesa_CompressedTexImage1DARB => _mesa_CompressedTexImage1D _mesa_CompressedTexImage2DARB => _mesa_CompressedTexImage2D _mesa_CompressedTexImage3DARB => _mesa_CompressedTexImage3D _mesa_CompressedTexSubImage1DARB => _mesa_CompressedTexSubImage1D _mesa_CompressedTexSubImage2DARB => _mesa_CompressedTexSubImage2D _mesa_CompressedTexSubImage3DARB => _mesa_CompressedTexSubImage3D _mesa_DeleteBuffersARB => _mesa_DeleteBuffers _mesa_DeleteFramebuffersEXT => _mesa_DeleteFramebuffers _mesa_DeletePrograms => _mesa_DeleteProgramsARB _mesa_DeleteQueriesARB => _mesa_DeleteQueries _mesa_DeleteRenderbuffersEXT => _mesa_DeleteRenderbuffers _mesa_DeleteVertexArraysAPPLE => _mesa_DeleteVertexArrays _mesa_DisableIndexed => _mesa_Disablei _mesa_DisableVertexAttribArrayARB => _mesa_DisableVertexAttribArray _mesa_DrawBuffersARB => _mesa_DrawBuffers _mesa_DrawTexf => _mesa_DrawTexfOES _mesa_DrawTexfv => _mesa_DrawTexfvOES _mesa_DrawTexi => _mesa_DrawTexiOES _mesa_DrawTexiv => _mesa_DrawTexivOES _mesa_DrawTexs => _mesa_DrawTexsOES _mesa_DrawTexsv => _mesa_DrawTexsvOES _mesa_EnableIndexed => _mesa_Enablei _mesa_EnableVertexAttribArrayARB => _mesa_EnableVertexAttribArray _mesa_EndQueryARB => _mesa_EndQuery _mesa_FogCoordPointerEXT => _mesa_FogCoordPointer _mesa_FramebufferRenderbufferEXT => _mesa_FramebufferRenderbuffer _mesa_FramebufferTexture1DEXT => _mesa_FramebufferTexture1D _mesa_FramebufferTexture2DEXT => _mesa_FramebufferTexture2D _mesa_FramebufferTexture3DEXT => _mesa_FramebufferTexture3D _mesa_FramebufferTextureLayerEXT => _mesa_FramebufferTextureLayer _mesa_GenBuffersARB => _mesa_GenBuffers _mesa_GenFramebuffersEXT => _mesa_GenFramebuffers _mesa_GenPrograms => _mesa_GenProgramsARB _mesa_GenQueriesARB => _mesa_GenQueries _mesa_GenRenderbuffersEXT => _mesa_GenRenderbuffers _mesa_GenerateMipmapEXT => _mesa_GenerateMipmap _mesa_GetActiveAttribARB => _mesa_GetActiveAttrib _mesa_GetActiveUniformARB => _mesa_GetActiveUniform _mesa_GetAttribLocationARB => _mesa_GetAttribLocation _mesa_GetBooleanIndexedv => _mesa_GetBooleani_v _mesa_GetBufferParameterivARB => _mesa_GetBufferParameteriv _mesa_GetBufferPointervARB => _mesa_GetBufferPointerv _mesa_GetBufferSubDataARB => _mesa_GetBufferSubData _mesa_GetCompressedTexImageARB => _mesa_GetCompressedTexImage _mesa_GetFramebufferAttachmentParameterivEXT => _mesa_GetFramebufferAttachmentParameteriv _mesa_GetIntegerIndexedv => _mesa_GetIntegeri_v _mesa_GetQueryObjecti64vEXT => _mesa_GetQueryObjecti64v _mesa_GetQueryObjectivARB => _mesa_GetQueryObjectiv _mesa_GetQueryObjectui64vEXT => _mesa_GetQueryObjectui64v _mesa_GetQueryObjectuivARB => _mesa_GetQueryObjectuiv _mesa_GetQueryivARB => _mesa_GetQueryiv _mesa_GetRenderbufferParameterivEXT => _mesa_GetRenderbufferParameteriv _mesa_GetShaderSourceARB => _mesa_GetShaderSource _mesa_GetUniformLocationARB => _mesa_GetUniformLocation _mesa_GetUniformfvARB => _mesa_GetUniformfv _mesa_GetUniformivARB => _mesa_GetUniformiv _mesa_GetVertexAttribPointervARB => _mesa_GetVertexAttribPointerv _mesa_GetVertexAttribdvARB => _mesa_GetVertexAttribdv _mesa_GetVertexAttribfvARB => _mesa_GetVertexAttribfv _mesa_GetVertexAttribivARB => _mesa_GetVertexAttribiv _mesa_IsBufferARB => _mesa_IsBuffer _mesa_IsEnabledIndexed => _mesa_IsEnabledi _mesa_IsFramebufferEXT => _mesa_IsFramebuffer _mesa_IsQueryARB => _mesa_IsQuery _mesa_IsRenderbufferEXT => _mesa_IsRenderbuffer _mesa_IsVertexArrayAPPLE => _mesa_IsVertexArray _mesa_LinkProgramARB => _mesa_LinkProgram _mesa_LoadTransposeMatrixdARB => _mesa_LoadTransposeMatrixd _mesa_LoadTransposeMatrixfARB => _mesa_LoadTransposeMatrixf _mesa_MapBufferARB => _mesa_MapBuffer _mesa_MultTransposeMatrixdARB => _mesa_MultTransposeMatrixd _mesa_MultTransposeMatrixfARB => _mesa_MultTransposeMatrixf _mesa_MultiDrawArraysEXT => _mesa_MultiDrawArrays _mesa_PointSizePointer => _mesa_PointSizePointerOES _mesa_ProvokingVertexEXT => _mesa_ProvokingVertex _mesa_RenderbufferStorageEXT => _mesa_RenderbufferStorage _mesa_SampleCoverageARB => _mesa_SampleCoverage _mesa_SecondaryColorPointerEXT => _mesa_SecondaryColorPointer _mesa_ShaderSourceARB => _mesa_ShaderSource _mesa_Uniform1fARB => _mesa_Uniform1f _mesa_Uniform1fvARB => _mesa_Uniform1fv _mesa_Uniform1iARB => _mesa_Uniform1i _mesa_Uniform1ivARB => _mesa_Uniform1iv _mesa_Uniform2fARB => _mesa_Uniform2f _mesa_Uniform2fvARB => _mesa_Uniform2fv _mesa_Uniform2iARB => _mesa_Uniform2i _mesa_Uniform2ivARB => _mesa_Uniform2iv _mesa_Uniform3fARB => _mesa_Uniform3f _mesa_Uniform3fvARB => _mesa_Uniform3fv _mesa_Uniform3iARB => _mesa_Uniform3i _mesa_Uniform3ivARB => _mesa_Uniform3iv _mesa_Uniform4fARB => _mesa_Uniform4f _mesa_Uniform4fvARB => _mesa_Uniform4fv _mesa_Uniform4iARB => _mesa_Uniform4i _mesa_Uniform4ivARB => _mesa_Uniform4iv _mesa_UniformMatrix2fvARB => _mesa_UniformMatrix2fv _mesa_UniformMatrix3fvARB => _mesa_UniformMatrix3fv _mesa_UniformMatrix4fvARB => _mesa_UniformMatrix4fv _mesa_UnmapBufferARB => _mesa_UnmapBuffer _mesa_UseProgramObjectARB => _mesa_UseProgram _mesa_ValidateProgramARB => _mesa_ValidateProgram _mesa_VertexAttribPointerARB => _mesa_VertexAttribPointer _mesa_WindowPos2dMESA => _mesa_WindowPos2d _mesa_WindowPos2dvMESA => _mesa_WindowPos2dv _mesa_WindowPos2fMESA => _mesa_WindowPos2f _mesa_WindowPos2fvMESA => _mesa_WindowPos2fv _mesa_WindowPos2iMESA => _mesa_WindowPos2i _mesa_WindowPos2ivMESA => _mesa_WindowPos2iv _mesa_WindowPos2sMESA => _mesa_WindowPos2s _mesa_WindowPos2svMESA => _mesa_WindowPos2sv _mesa_WindowPos3dMESA => _mesa_WindowPos3d _mesa_WindowPos3dvMESA => _mesa_WindowPos3dv _mesa_WindowPos3fMESA => _mesa_WindowPos3f _mesa_WindowPos3fvMESA => _mesa_WindowPos3fv _mesa_WindowPos3iMESA => _mesa_WindowPos3i _mesa_WindowPos3ivMESA => _mesa_WindowPos3iv _mesa_WindowPos3sMESA => _mesa_WindowPos3s _mesa_WindowPos3svMESA => _mesa_WindowPos3sv loopback_Color3b_f => _mesa_Color3b loopback_Color3bv_f => _mesa_Color3bv loopback_Color3d_f => _mesa_Color3d loopback_Color3dv_f => _mesa_Color3dv loopback_Color3i_f => _mesa_Color3i loopback_Color3iv_f => _mesa_Color3iv loopback_Color3s_f => _mesa_Color3s loopback_Color3sv_f => _mesa_Color3sv loopback_Color3ub_f => _mesa_Color3ub loopback_Color3ubv_f => _mesa_Color3ubv loopback_Color3ui_f => _mesa_Color3ui loopback_Color3uiv_f => _mesa_Color3uiv loopback_Color3us_f => _mesa_Color3us loopback_Color3usv_f => _mesa_Color3usv loopback_Color4b_f => _mesa_Color4b loopback_Color4bv_f => _mesa_Color4bv loopback_Color4d_f => _mesa_Color4d loopback_Color4dv_f => _mesa_Color4dv loopback_Color4i_f => _mesa_Color4i loopback_Color4iv_f => _mesa_Color4iv loopback_Color4s_f => _mesa_Color4s loopback_Color4sv_f => _mesa_Color4sv loopback_Color4ub_f => _mesa_Color4ub loopback_Color4ubv_f => _mesa_Color4ubv loopback_Color4ui_f => _mesa_Color4ui loopback_Color4uiv_f => _mesa_Color4uiv loopback_Color4us_f => _mesa_Color4us loopback_Color4usv_f => _mesa_Color4usv loopback_EdgeFlagv => _mesa_EdgeFlagv loopback_EvalCoord1d => _mesa_EvalCoord1d loopback_EvalCoord1dv => _mesa_EvalCoord1dv loopback_EvalCoord1fv => _mesa_EvalCoord1fv loopback_EvalCoord2d => _mesa_EvalCoord2d loopback_EvalCoord2dv => _mesa_EvalCoord2dv loopback_EvalCoord2fv => _mesa_EvalCoord2fv loopback_FogCoorddEXT => _mesa_FogCoordd loopback_FogCoorddvEXT => _mesa_FogCoorddv loopback_Indexd => _mesa_Indexd loopback_Indexdv => _mesa_Indexdv loopback_Indexi => _mesa_Indexi loopback_Indexiv => _mesa_Indexiv loopback_Indexs => _mesa_Indexs loopback_Indexsv => _mesa_Indexsv loopback_Indexub => _mesa_Indexub loopback_Indexubv => _mesa_Indexubv loopback_Materialf => _mesa_Materialf loopback_Materiali => _mesa_Materiali loopback_Materialiv => _mesa_Materialiv loopback_MultiTexCoord1dARB => _mesa_MultiTexCoord1d loopback_MultiTexCoord1dvARB => _mesa_MultiTexCoord1dv loopback_MultiTexCoord1iARB => _mesa_MultiTexCoord1i loopback_MultiTexCoord1ivARB => _mesa_MultiTexCoord1iv loopback_MultiTexCoord1sARB => _mesa_MultiTexCoord1s loopback_MultiTexCoord1svARB => _mesa_MultiTexCoord1sv loopback_MultiTexCoord2dARB => _mesa_MultiTexCoord2d loopback_MultiTexCoord2dvARB => _mesa_MultiTexCoord2dv loopback_MultiTexCoord2iARB => _mesa_MultiTexCoord2i loopback_MultiTexCoord2ivARB => _mesa_MultiTexCoord2iv loopback_MultiTexCoord2sARB => _mesa_MultiTexCoord2s loopback_MultiTexCoord2svARB => _mesa_MultiTexCoord2sv loopback_MultiTexCoord3dARB => _mesa_MultiTexCoord3d loopback_MultiTexCoord3dvARB => _mesa_MultiTexCoord3dv loopback_MultiTexCoord3iARB => _mesa_MultiTexCoord3i loopback_MultiTexCoord3ivARB => _mesa_MultiTexCoord3iv loopback_MultiTexCoord3sARB => _mesa_MultiTexCoord3s loopback_MultiTexCoord3svARB => _mesa_MultiTexCoord3sv loopback_MultiTexCoord4dARB => _mesa_MultiTexCoord4d loopback_MultiTexCoord4dvARB => _mesa_MultiTexCoord4dv loopback_MultiTexCoord4iARB => _mesa_MultiTexCoord4i loopback_MultiTexCoord4ivARB => _mesa_MultiTexCoord4iv loopback_MultiTexCoord4sARB => _mesa_MultiTexCoord4s loopback_MultiTexCoord4svARB => _mesa_MultiTexCoord4sv loopback_Normal3b => _mesa_Normal3b loopback_Normal3bv => _mesa_Normal3bv loopback_Normal3d => _mesa_Normal3d loopback_Normal3dv => _mesa_Normal3dv loopback_Normal3i => _mesa_Normal3i loopback_Normal3iv => _mesa_Normal3iv loopback_Normal3s => _mesa_Normal3s loopback_Normal3sv => _mesa_Normal3sv loopback_Rectd => _mesa_Rectd loopback_Rectdv => _mesa_Rectdv loopback_Rectfv => _mesa_Rectfv loopback_Recti => _mesa_Recti loopback_Rectiv => _mesa_Rectiv loopback_Rects => _mesa_Rects loopback_Rectsv => _mesa_Rectsv loopback_SecondaryColor3bEXT_f => _mesa_SecondaryColor3b loopback_SecondaryColor3bvEXT_f => _mesa_SecondaryColor3bv loopback_SecondaryColor3dEXT_f => _mesa_SecondaryColor3d loopback_SecondaryColor3dvEXT_f => _mesa_SecondaryColor3dv loopback_SecondaryColor3iEXT_f => _mesa_SecondaryColor3i loopback_SecondaryColor3ivEXT_f => _mesa_SecondaryColor3iv loopback_SecondaryColor3sEXT_f => _mesa_SecondaryColor3s loopback_SecondaryColor3svEXT_f => _mesa_SecondaryColor3sv loopback_SecondaryColor3ubEXT_f => _mesa_SecondaryColor3ub loopback_SecondaryColor3ubvEXT_f => _mesa_SecondaryColor3ubv loopback_SecondaryColor3uiEXT_f => _mesa_SecondaryColor3ui loopback_SecondaryColor3uivEXT_f => _mesa_SecondaryColor3uiv loopback_SecondaryColor3usEXT_f => _mesa_SecondaryColor3us loopback_SecondaryColor3usvEXT_f => _mesa_SecondaryColor3usv loopback_TexCoord1d => _mesa_TexCoord1d loopback_TexCoord1dv => _mesa_TexCoord1dv loopback_TexCoord1i => _mesa_TexCoord1i loopback_TexCoord1iv => _mesa_TexCoord1iv loopback_TexCoord1s => _mesa_TexCoord1s loopback_TexCoord1sv => _mesa_TexCoord1sv loopback_TexCoord2d => _mesa_TexCoord2d loopback_TexCoord2dv => _mesa_TexCoord2dv loopback_TexCoord2i => _mesa_TexCoord2i loopback_TexCoord2iv => _mesa_TexCoord2iv loopback_TexCoord2s => _mesa_TexCoord2s loopback_TexCoord2sv => _mesa_TexCoord2sv loopback_TexCoord3d => _mesa_TexCoord3d loopback_TexCoord3dv => _mesa_TexCoord3dv loopback_TexCoord3i => _mesa_TexCoord3i loopback_TexCoord3iv => _mesa_TexCoord3iv loopback_TexCoord3s => _mesa_TexCoord3s loopback_TexCoord3sv => _mesa_TexCoord3sv loopback_TexCoord4d => _mesa_TexCoord4d loopback_TexCoord4dv => _mesa_TexCoord4dv loopback_TexCoord4i => _mesa_TexCoord4i loopback_TexCoord4iv => _mesa_TexCoord4iv loopback_TexCoord4s => _mesa_TexCoord4s loopback_TexCoord4sv => _mesa_TexCoord4sv loopback_Vertex2d => _mesa_Vertex2d loopback_Vertex2dv => _mesa_Vertex2dv loopback_Vertex2i => _mesa_Vertex2i loopback_Vertex2iv => _mesa_Vertex2iv loopback_Vertex2s => _mesa_Vertex2s loopback_Vertex2sv => _mesa_Vertex2sv loopback_Vertex3d => _mesa_Vertex3d loopback_Vertex3dv => _mesa_Vertex3dv loopback_Vertex3i => _mesa_Vertex3i loopback_Vertex3iv => _mesa_Vertex3iv loopback_Vertex3s => _mesa_Vertex3s loopback_Vertex3sv => _mesa_Vertex3sv loopback_Vertex4d => _mesa_Vertex4d loopback_Vertex4dv => _mesa_Vertex4dv loopback_Vertex4i => _mesa_Vertex4i loopback_Vertex4iv => _mesa_Vertex4iv loopback_Vertex4s => _mesa_Vertex4s loopback_Vertex4sv => _mesa_Vertex4sv loopback_VertexAttrib1dARB => _mesa_VertexAttrib1d loopback_VertexAttrib1dNV => _mesa_VertexAttrib1dNV loopback_VertexAttrib1dvARB => _mesa_VertexAttrib1dv loopback_VertexAttrib1dvNV => _mesa_VertexAttrib1dvNV loopback_VertexAttrib1sARB => _mesa_VertexAttrib1s loopback_VertexAttrib1sNV => _mesa_VertexAttrib1sNV loopback_VertexAttrib1svARB => _mesa_VertexAttrib1sv loopback_VertexAttrib1svNV => _mesa_VertexAttrib1svNV loopback_VertexAttrib2dARB => _mesa_VertexAttrib2d loopback_VertexAttrib2dNV => _mesa_VertexAttrib2dNV loopback_VertexAttrib2dvARB => _mesa_VertexAttrib2dv loopback_VertexAttrib2dvNV => _mesa_VertexAttrib2dvNV loopback_VertexAttrib2sARB => _mesa_VertexAttrib2s loopback_VertexAttrib2sNV => _mesa_VertexAttrib2sNV loopback_VertexAttrib2svARB => _mesa_VertexAttrib2sv loopback_VertexAttrib2svNV => _mesa_VertexAttrib2svNV loopback_VertexAttrib3dARB => _mesa_VertexAttrib3d loopback_VertexAttrib3dNV => _mesa_VertexAttrib3dNV loopback_VertexAttrib3dvARB => _mesa_VertexAttrib3dv loopback_VertexAttrib3dvNV => _mesa_VertexAttrib3dvNV loopback_VertexAttrib3sARB => _mesa_VertexAttrib3s loopback_VertexAttrib3sNV => _mesa_VertexAttrib3sNV loopback_VertexAttrib3svARB => _mesa_VertexAttrib3sv loopback_VertexAttrib3svNV => _mesa_VertexAttrib3svNV loopback_VertexAttrib4NbvARB => _mesa_VertexAttrib4Nbv loopback_VertexAttrib4NivARB => _mesa_VertexAttrib4Niv loopback_VertexAttrib4NsvARB => _mesa_VertexAttrib4Nsv loopback_VertexAttrib4NubARB => _mesa_VertexAttrib4Nub loopback_VertexAttrib4NubvARB => _mesa_VertexAttrib4Nubv loopback_VertexAttrib4NuivARB => _mesa_VertexAttrib4Nuiv loopback_VertexAttrib4NusvARB => _mesa_VertexAttrib4Nusv loopback_VertexAttrib4bvARB => _mesa_VertexAttrib4bv loopback_VertexAttrib4dARB => _mesa_VertexAttrib4d loopback_VertexAttrib4dNV => _mesa_VertexAttrib4dNV loopback_VertexAttrib4dvARB => _mesa_VertexAttrib4dv loopback_VertexAttrib4dvNV => _mesa_VertexAttrib4dvNV loopback_VertexAttrib4ivARB => _mesa_VertexAttrib4iv loopback_VertexAttrib4sARB => _mesa_VertexAttrib4s loopback_VertexAttrib4sNV => _mesa_VertexAttrib4sNV loopback_VertexAttrib4svARB => _mesa_VertexAttrib4sv loopback_VertexAttrib4svNV => _mesa_VertexAttrib4svNV loopback_VertexAttrib4ubNV => _mesa_VertexAttrib4ubNV loopback_VertexAttrib4ubvARB => _mesa_VertexAttrib4ubv loopback_VertexAttrib4ubvNV => _mesa_VertexAttrib4ubvNV loopback_VertexAttrib4uivARB => _mesa_VertexAttrib4uiv loopback_VertexAttrib4usvARB => _mesa_VertexAttrib4usv loopback_VertexAttribI1iv => _mesa_VertexAttribI1iv loopback_VertexAttribI1uiv => _mesa_VertexAttribI1uiv loopback_VertexAttribI4bv => _mesa_VertexAttribI4bv loopback_VertexAttribI4sv => _mesa_VertexAttribI4sv loopback_VertexAttribI4ubv => _mesa_VertexAttribI4ubv loopback_VertexAttribI4usv => _mesa_VertexAttribI4usv loopback_VertexAttribs1dvNV => _mesa_VertexAttribs1dvNV loopback_VertexAttribs1fvNV => _mesa_VertexAttribs1fvNV loopback_VertexAttribs1svNV => _mesa_VertexAttribs1svNV loopback_VertexAttribs2dvNV => _mesa_VertexAttribs2dvNV loopback_VertexAttribs2fvNV => _mesa_VertexAttribs2fvNV loopback_VertexAttribs2svNV => _mesa_VertexAttribs2svNV loopback_VertexAttribs3dvNV => _mesa_VertexAttribs3dvNV loopback_VertexAttribs3fvNV => _mesa_VertexAttribs3fvNV loopback_VertexAttribs3svNV => _mesa_VertexAttribs3svNV loopback_VertexAttribs4dvNV => _mesa_VertexAttribs4dvNV loopback_VertexAttribs4fvNV => _mesa_VertexAttribs4fvNV loopback_VertexAttribs4svNV => _mesa_VertexAttribs4svNV loopback_VertexAttribs4ubvNV => _mesa_VertexAttribs4ubvNV And changes the primary name assignment in the XML as follows: ActiveTextureARB => ActiveTexture AlphaFuncxOES => AlphaFuncx BeginConditionalRenderNV => BeginConditionalRender BeginQueryARB => BeginQuery BeginTransformFeedbackEXT => BeginTransformFeedback BindAttribLocationARB => BindAttribLocation BindBufferARB => BindBuffer BindBufferBaseEXT => BindBufferBase BindBufferRangeEXT => BindBufferRange BindFragDataLocationEXT => BindFragDataLocation BindFramebufferEXT => BindFramebuffer BindProgramNV => BindProgramARB BindRenderbufferEXT => BindRenderbuffer BlendEquationSeparateEXT => BlendEquationSeparate BlendFuncSeparateEXT => BlendFuncSeparate BlitFramebufferEXT => BlitFramebuffer BufferDataARB => BufferData BufferSubDataARB => BufferSubData CheckFramebufferStatusEXT => CheckFramebufferStatus ClampColorARB => ClampColor ClearColorxOES => ClearColorx ClearDepthxOES => ClearDepthx ClientActiveTextureARB => ClientActiveTexture ClipPlanefOES => ClipPlanef ClipPlanexOES => ClipPlanex Color4xOES => Color4x ColorMaskIndexedEXT => ColorMaski CompileShaderARB => CompileShader CompressedTexImage1DARB => CompressedTexImage1D CompressedTexImage2DARB => CompressedTexImage2D CompressedTexImage3DARB => CompressedTexImage3D CompressedTexSubImage1DARB => CompressedTexSubImage1D CompressedTexSubImage2DARB => CompressedTexSubImage2D CompressedTexSubImage3DARB => CompressedTexSubImage3D DeleteBuffersARB => DeleteBuffers DeleteFramebuffersEXT => DeleteFramebuffers DeleteProgramsNV => DeleteProgramsARB DeleteQueriesARB => DeleteQueries DeleteRenderbuffersEXT => DeleteRenderbuffers DeleteVertexArraysAPPLE => DeleteVertexArrays DepthRangexOES => DepthRangex DisableIndexedEXT => Disablei DisableVertexAttribArrayARB => DisableVertexAttribArray DrawBuffersARB => DrawBuffers EnableIndexedEXT => Enablei EnableVertexAttribArrayARB => EnableVertexAttribArray EndConditionalRenderNV => EndConditionalRender EndQueryARB => EndQuery EndTransformFeedbackEXT => EndTransformFeedback FogCoordPointerEXT => FogCoordPointer FogCoorddEXT => FogCoordd FogCoorddvEXT => FogCoorddv FogxOES => Fogx FogxvOES => Fogxv FramebufferRenderbufferEXT => FramebufferRenderbuffer FramebufferTexture1DEXT => FramebufferTexture1D FramebufferTexture2DEXT => FramebufferTexture2D FramebufferTexture3DEXT => FramebufferTexture3D FramebufferTextureLayerEXT => FramebufferTextureLayer FrustumfOES => Frustumf FrustumxOES => Frustumx GenBuffersARB => GenBuffers GenFramebuffersEXT => GenFramebuffers GenProgramsNV => GenProgramsARB GenQueriesARB => GenQueries GenRenderbuffersEXT => GenRenderbuffers GenerateMipmapEXT => GenerateMipmap GetActiveAttribARB => GetActiveAttrib GetActiveUniformARB => GetActiveUniform GetAttribLocationARB => GetAttribLocation GetBooleanIndexedvEXT => GetBooleani_v GetBufferParameterivARB => GetBufferParameteriv GetBufferPointervARB => GetBufferPointerv GetBufferSubDataARB => GetBufferSubData GetClipPlanefOES => GetClipPlanef GetClipPlanexOES => GetClipPlanex GetCompressedTexImageARB => GetCompressedTexImage GetFixedvOES => GetFixedv GetFragDataLocationEXT => GetFragDataLocation GetFramebufferAttachmentParameterivEXT => GetFramebufferAttachmentParameteriv GetIntegerIndexedvEXT => GetIntegeri_v GetLightxvOES => GetLightxv GetMaterialxvOES => GetMaterialxv GetQueryObjecti64vEXT => GetQueryObjecti64v GetQueryObjectivARB => GetQueryObjectiv GetQueryObjectui64vEXT => GetQueryObjectui64v GetQueryObjectuivARB => GetQueryObjectuiv GetQueryivARB => GetQueryiv GetRenderbufferParameterivEXT => GetRenderbufferParameteriv GetShaderSourceARB => GetShaderSource GetTexEnvxvOES => GetTexEnvxv GetTexParameterIivEXT => GetTexParameterIiv GetTexParameterIuivEXT => GetTexParameterIuiv GetTexParameterxvOES => GetTexParameterxv GetTransformFeedbackVaryingEXT => GetTransformFeedbackVarying GetUniformLocationARB => GetUniformLocation GetUniformfvARB => GetUniformfv GetUniformivARB => GetUniformiv GetUniformuivEXT => GetUniformuiv GetVertexAttribIivEXT => GetVertexAttribIiv GetVertexAttribIuivEXT => GetVertexAttribIuiv GetVertexAttribPointervNV => GetVertexAttribPointerv GetVertexAttribdvARB => GetVertexAttribdv GetVertexAttribfvARB => GetVertexAttribfv GetVertexAttribivARB => GetVertexAttribiv IsBufferARB => IsBuffer IsEnabledIndexedEXT => IsEnabledi IsFramebufferEXT => IsFramebuffer IsProgramNV => IsProgramARB IsQueryARB => IsQuery IsRenderbufferEXT => IsRenderbuffer IsVertexArrayAPPLE => IsVertexArray LightModelxOES => LightModelx LightModelxvOES => LightModelxv LightxOES => Lightx LightxvOES => Lightxv LineWidthxOES => LineWidthx LinkProgramARB => LinkProgram LoadMatrixxOES => LoadMatrixx LoadTransposeMatrixdARB => LoadTransposeMatrixd LoadTransposeMatrixfARB => LoadTransposeMatrixf MapBufferARB => MapBuffer MaterialxOES => Materialx MaterialxvOES => Materialxv MultMatrixxOES => MultMatrixx MultTransposeMatrixdARB => MultTransposeMatrixd MultTransposeMatrixfARB => MultTransposeMatrixf MultiDrawArraysEXT => MultiDrawArrays MultiTexCoord1dARB => MultiTexCoord1d MultiTexCoord1dvARB => MultiTexCoord1dv MultiTexCoord1iARB => MultiTexCoord1i MultiTexCoord1ivARB => MultiTexCoord1iv MultiTexCoord1sARB => MultiTexCoord1s MultiTexCoord1svARB => MultiTexCoord1sv MultiTexCoord2dARB => MultiTexCoord2d MultiTexCoord2dvARB => MultiTexCoord2dv MultiTexCoord2iARB => MultiTexCoord2i MultiTexCoord2ivARB => MultiTexCoord2iv MultiTexCoord2sARB => MultiTexCoord2s MultiTexCoord2svARB => MultiTexCoord2sv MultiTexCoord3dARB => MultiTexCoord3d MultiTexCoord3dvARB => MultiTexCoord3dv MultiTexCoord3iARB => MultiTexCoord3i MultiTexCoord3ivARB => MultiTexCoord3iv MultiTexCoord3sARB => MultiTexCoord3s MultiTexCoord3svARB => MultiTexCoord3sv MultiTexCoord4dARB => MultiTexCoord4d MultiTexCoord4dvARB => MultiTexCoord4dv MultiTexCoord4iARB => MultiTexCoord4i MultiTexCoord4ivARB => MultiTexCoord4iv MultiTexCoord4sARB => MultiTexCoord4s MultiTexCoord4svARB => MultiTexCoord4sv MultiTexCoord4xOES => MultiTexCoord4x Normal3xOES => Normal3x OrthofOES => Orthof OrthoxOES => Orthox PointParameterfEXT => PointParameterf PointParameterfvEXT => PointParameterfv PointParameteriNV => PointParameteri PointParameterivNV => PointParameteriv PointParameterxOES => PointParameterx PointParameterxvOES => PointParameterxv PointSizexOES => PointSizex PolygonOffsetxOES => PolygonOffsetx PrimitiveRestartIndexNV => PrimitiveRestartIndex ProvokingVertexEXT => ProvokingVertex RenderbufferStorageEXT => RenderbufferStorage RotatexOES => Rotatex SampleCoverageARB => SampleCoverage SampleCoveragexOES => SampleCoveragex ScalexOES => Scalex SecondaryColor3bEXT => SecondaryColor3b SecondaryColor3bvEXT => SecondaryColor3bv SecondaryColor3dEXT => SecondaryColor3d SecondaryColor3dvEXT => SecondaryColor3dv SecondaryColor3iEXT => SecondaryColor3i SecondaryColor3ivEXT => SecondaryColor3iv SecondaryColor3sEXT => SecondaryColor3s SecondaryColor3svEXT => SecondaryColor3sv SecondaryColor3ubEXT => SecondaryColor3ub SecondaryColor3ubvEXT => SecondaryColor3ubv SecondaryColor3uiEXT => SecondaryColor3ui SecondaryColor3uivEXT => SecondaryColor3uiv SecondaryColor3usEXT => SecondaryColor3us SecondaryColor3usvEXT => SecondaryColor3usv SecondaryColorPointerEXT => SecondaryColorPointer ShaderSourceARB => ShaderSource TexBufferARB => TexBuffer TexEnvxOES => TexEnvx TexEnvxvOES => TexEnvxv TexParameterIivEXT => TexParameterIiv TexParameterIuivEXT => TexParameterIuiv TexParameterxOES => TexParameterx TexParameterxvOES => TexParameterxv TransformFeedbackVaryingsEXT => TransformFeedbackVaryings TranslatexOES => Translatex Uniform1fARB => Uniform1f Uniform1fvARB => Uniform1fv Uniform1iARB => Uniform1i Uniform1ivARB => Uniform1iv Uniform1uiEXT => Uniform1ui Uniform1uivEXT => Uniform1uiv Uniform2fARB => Uniform2f Uniform2fvARB => Uniform2fv Uniform2iARB => Uniform2i Uniform2ivARB => Uniform2iv Uniform2uiEXT => Uniform2ui Uniform2uivEXT => Uniform2uiv Uniform3fARB => Uniform3f Uniform3fvARB => Uniform3fv Uniform3iARB => Uniform3i Uniform3ivARB => Uniform3iv Uniform3uiEXT => Uniform3ui Uniform3uivEXT => Uniform3uiv Uniform4fARB => Uniform4f Uniform4fvARB => Uniform4fv Uniform4iARB => Uniform4i Uniform4ivARB => Uniform4iv Uniform4uiEXT => Uniform4ui Uniform4uivEXT => Uniform4uiv UniformMatrix2fvARB => UniformMatrix2fv UniformMatrix3fvARB => UniformMatrix3fv UniformMatrix4fvARB => UniformMatrix4fv UnmapBufferARB => UnmapBuffer UseProgramObjectARB => UseProgram ValidateProgramARB => ValidateProgram VertexAttrib1dARB => VertexAttrib1d VertexAttrib1dvARB => VertexAttrib1dv VertexAttrib1sARB => VertexAttrib1s VertexAttrib1svARB => VertexAttrib1sv VertexAttrib2dARB => VertexAttrib2d VertexAttrib2dvARB => VertexAttrib2dv VertexAttrib2sARB => VertexAttrib2s VertexAttrib2svARB => VertexAttrib2sv VertexAttrib3dARB => VertexAttrib3d VertexAttrib3dvARB => VertexAttrib3dv VertexAttrib3sARB => VertexAttrib3s VertexAttrib3svARB => VertexAttrib3sv VertexAttrib4NbvARB => VertexAttrib4Nbv VertexAttrib4NivARB => VertexAttrib4Niv VertexAttrib4NsvARB => VertexAttrib4Nsv VertexAttrib4NubARB => VertexAttrib4Nub VertexAttrib4NubvARB => VertexAttrib4Nubv VertexAttrib4NuivARB => VertexAttrib4Nuiv VertexAttrib4NusvARB => VertexAttrib4Nusv VertexAttrib4bvARB => VertexAttrib4bv VertexAttrib4dARB => VertexAttrib4d VertexAttrib4dvARB => VertexAttrib4dv VertexAttrib4ivARB => VertexAttrib4iv VertexAttrib4sARB => VertexAttrib4s VertexAttrib4svARB => VertexAttrib4sv VertexAttrib4ubvARB => VertexAttrib4ubv VertexAttrib4uivARB => VertexAttrib4uiv VertexAttrib4usvARB => VertexAttrib4usv VertexAttribDivisorARB => VertexAttribDivisor VertexAttribI1ivEXT => VertexAttribI1iv VertexAttribI1uivEXT => VertexAttribI1uiv VertexAttribI4bvEXT => VertexAttribI4bv VertexAttribI4svEXT => VertexAttribI4sv VertexAttribI4ubvEXT => VertexAttribI4ubv VertexAttribI4usvEXT => VertexAttribI4usv VertexAttribIPointerEXT => VertexAttribIPointer VertexAttribPointerARB => VertexAttribPointer WindowPos2dMESA => WindowPos2d WindowPos2dvMESA => WindowPos2dv WindowPos2fMESA => WindowPos2f WindowPos2fvMESA => WindowPos2fv WindowPos2iMESA => WindowPos2i WindowPos2ivMESA => WindowPos2iv WindowPos2sMESA => WindowPos2s WindowPos2svMESA => WindowPos2sv WindowPos3dMESA => WindowPos3d WindowPos3dvMESA => WindowPos3dv WindowPos3fMESA => WindowPos3f WindowPos3fvMESA => WindowPos3fv WindowPos3iMESA => WindowPos3i WindowPos3ivMESA => WindowPos3iv WindowPos3sMESA => WindowPos3s WindowPos3svMESA => WindowPos3sv Acked-by: Brian Paul <[email protected]>
* i965: Fix AA Line Distance Mode in 3DSTATE_SF on Ivybridge.Kenneth Graunke2012-11-101-3/+1
| | | | | | | | | | | | | We were accidentally setting bit 14 in DWord 2 (which is Reserved/MBZ) rather than bit 14 in DWord 3 (which is AA Line Distance Mode). There's also no reason to ever set it to legacy mode; the bit is only used when drawing antialiased lines anyway. Set it unconditionally. NOTE: This is a candidate for stable branches. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* dri_util: Fix prologue comment for driCreateConfigsIan Romanick2012-11-091-17/+5
| | | | | | | | The parameters and operation of this function changed, but I didn't bother to change the prologue comment. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* swrast: swrastFillInModes doesn't do 8-bit modes, so don't tryIan Romanick2012-11-091-3/+1
| | | | | | | | | | | Support for 8-bit modes was removed in commits 0398a26 and bda208a4. However, I didn't notice code in dri_init_screen that explicitly tries to create this modes. This is structurally different from other drivers (that only create modes that match the display color depth). Signed-off-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56555 Cc: Vinson Lee <[email protected]>
* i965: Fix slow leak of brw->wm.compile_data->storeEric Anholt2012-11-083-20/+6
| | | | | | | | We were successfully freeing our compile data at context destroy, but until then we were allocating a new store every compile without freeing it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56019 Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Add support for global copy propagation.Eric Anholt2012-11-082-20/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It is common for complicated shaders, particularly code-generated ones, to have a big array of uniforms or attributes, and a prologue in the shader that dereferences from the big array to more informatively-named local variables. Then there will be some small control flow operation (like a ? : statement), and then use of those informatively-named variables. We were emitting extra MOVs in these cases, because copy propagation couldn't reach across control flow. Instead, implement dataflow analysis on the output of the first copy propagation pass and re-run it to propagate those extra MOVs out. On one future Steam release, reduces VS+FS instruction count from 42837 to 41437. No statistically significant performance difference (n=48), though, at least at the low resolution I'm running it at. shader-db results: total instructions in shared programs: 722170 -> 702545 (-2.72%) instructions in affected programs: 260618 -> 240993 (-7.53%) Some shaders do get hurt by up to 2 instructions, because a choice to copy propagate instead of coalesce or something like that results in a dead write sticking around. Given that we already have instances of those instructions in the affected programs (particularly unigine), we should just improve dead code elimination to fix the problem.
* i965: Fix assertion in brw_alu3.Vinson Lee2012-11-071-1/+1
| | | | | | | Fixes side effect in assertion defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* meta: Remove redundant code in _mesa_meta_GenerateMipmapAnuj Phogat2012-11-051-61/+4
| | | | | | | | | Integer textures generate invalid operation in glGenerateMipmap. So, the code related to integer textures is now redundant. Note: This is a candidate for stable branches. Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* i965: Fix oversized initial allocation of the state cache table pointers.Vandrus Zoltán2012-11-041-1/+1
| | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55030
* i965: Force border color A to 1 when it's not present in the GL format.Eric Anholt2012-11-041-0/+7
| | | | | | | | | | It's usually forced to 1 by the surface format, but sometimes we actually have alpha present because it's the only format available. Fixes piglit texwrap bordercolor tests for OpenGL 1.1, GL_EXT_texture_sRGB and GL_ARB_texture_float. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Fix uploading user vertex arrays with basevertex set.Eric Anholt2012-11-043-2/+7
| | | | | | | | | | | If the index buffer is full of values like "0 1 2 3", but basevertex is 4, we need to upload at least vertex data for elements 4 5 6 7. Whether we also upload 0 1 2 3 is a question of whether there are VBOs present or not -- see the code setting start_vertex_bias in brw_draw_upload.c. Fixes piglit draw-elements*base-vertex user_varrays Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Set dirty state for brw_draw_upload.c when num_instances changes.Eric Anholt2012-11-041-1/+4
| | | | | | | | Otherwise, if we had a set of prims passed in with a num_instances varying between them, we wouldn't upload enough (or too much!) from user vertex arrays. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Remove the vbo_rebase_prims() path.Eric Anholt2012-11-041-15/+6
| | | | | | | | The brw_draw_upload.c start_vertex_bias code has support for doing the rebase without rewriting the index buffer by applying a basevertex. It looks like vbo_rebase_prims() is not equipped to handle basevertex. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Fix a comment in copy propagation.Eric Anholt2012-11-041-1/+3
| | | | | | | We haven't been only tracking raw GRF-GRF moves since the constant propagation merge, and also the extension for source modifiers and uniforms. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Allow copy-propagation on pull constant load values.Eric Anholt2012-11-041-3/+4
| | | | | | | | | | | | Given that we handle similarly-regioned GRFs registers for our copy propagation from our UNIFORM file, there's no reason not to allow it. The shader-db impact is negligible -- +90 instructions total, 2 shaders helped and 7 hurt (slightly increased register pressure increased spilling), but this is to prevent regression in other shaders when fixing copy_propagation to reduce register pressure in the shaders that are hurt here. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Do dead code elimination just after copy propagation.Eric Anholt2012-11-041-1/+1
| | | | | | | | | | | | | | | | If we put the register coalescing in between the two, then we end up with code sequences involving dead writes that the dead code elimination doesn't know how to remove. In place of making dead code elimination smart (which we should do, too), make it less important for the moment. shader-db results: total instructions in shared programs: 722240 -> 721275 (-0.13%) instructions in affected programs: 50573 -> 49608 (-1.91%) (no shaders regressed). Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Compact the virtual GRF arrays.Kenneth Graunke2012-11-032-0/+61
| | | | | | | | | | | | | | During code generation, we create tons of temporary variables, many of which get immediately killed and are never used. Later optimization and analysis passes, such as compute_live_intervals, loop over all the virtual GRFs. By compacting them, we can save a lot of overhead. Reduces compilation time in L4D2's largest fragment shader from 10.2 seconds to 5.2 seconds (50%). Drops compute_live_variables() from 10-12% of another game's startup time to 8%. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]>
* i965: Remove unused variables after removing the old VS backend.Kenneth Graunke2012-11-011-2/+0
| | | | Fixes compiler warnings about unused variables.
* i965: Remove unnecessary walk through Mesa IR in ProgramStringNotify().Kenneth Graunke2012-11-011-82/+0
| | | | | | | | | | | | | Variable indexing of non-uniform arrays only exists in GLSL. Likewise, OPCODE_CAL/OPCODE_RET only existed to try and support GLSL's function calls. We don't use Mesa IR for GLSL, and these features are explicitly disallowed by ARB_vertex_program/ARB_fragment_program and never generated by ffvertex_prog.c. Since they'll never happen, there's no need to check for them, which saves us from walking through all the Mesa IR instructions. Reviewed-by: Eric Anholt <[email protected]>
* i965: Remove VS constant buffer read support from brw_eu_emit.c.Kenneth Graunke2012-11-012-121/+0
| | | | | | | brw_vec4_emit.cpp implements this directly; only the old backend used the brw_eu_emit.c code. Reviewed-by: Eric Anholt <[email protected]>
* i965: Update comment about clipper constants.Kenneth Graunke2012-11-011-9/+1
| | | | | | | The old VS backend doesn't exist, but I believe these still need to be delivered to the clipper thread. Reviewed-by: Eric Anholt <[email protected]>
* i965/vs: Remove brw_vs_compile::constant_map.Kenneth Graunke2012-11-012-18/+1
| | | | | | It was only used for the old backend. Reviewed-by: Eric Anholt <[email protected]>
* i965/vs: Remove support for the old parameter layout.Kenneth Graunke2012-11-015-70/+7
| | | | | | Only the old backend used it. Reviewed-by: Eric Anholt <[email protected]>
* i965/vs: Delete the old vertex shader backend.Kenneth Graunke2012-11-014-1836/+0
| | | | | | It's no longer used for anything. Reviewed-by: Eric Anholt <[email protected]>
* i965/vs: Replace brw_vs_emit.c with dumping code into the vec4_visitor.Kenneth Graunke2012-11-016-32/+738
| | | | | | | | | | | | | | | | | | | | Rather than having two separate backends, just create a small layer that translates the subset of Mesa IR used for ARB_vertex_program and fixed function programs to the Vec4 IR. This allows us to use the same optimization passes, code generator, register allocator as for GLSL. v2: Incorporate Eric's review comments. - Fix use of uninitialized src_swiz[] values in the SWIZZLE_ZERO/ONE case: just initialize it to 0 (.x) since the value doesn't matter (those channels get writemasked out anyway). - Properly reswizzle source register's swizzles, rather than overwriting the swizzle. - Port the old brw_vs_emit code for computing .x of the EXP2 opcode. - Update comments, removing mention of NV_vertex_program, etc. - Delete remaining #warning lines and debug comments. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/vs: Refactor min/max handling to share code.Kenneth Graunke2012-11-012-18/+21
| | | | | | | | v2: Properly use "conditionalmod" pre-Gen6, rather than the incorrectly copy-and-pasted "BRW_CONDITIONAL_G". Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/vs: Add support for emitting DPH opcodes.Kenneth Graunke2012-11-013-0/+6
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/vs: Only do INTEL_DEBUG=perf when there's a GLSL shader.Kenneth Graunke2012-11-011-3/+2
| | | | | | | | This will become necessary once we start supporting ARB programs and fixed function in this backend. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/gen4: Fix assertion failures in depthstencil piglit tests.Eric Anholt2012-11-011-4/+5
| | | | | | Don't forget to set depth_mt even if !hiz_mt. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Add "alpha to coverage" to performance debug recompile messages.Kenneth Graunke2012-10-311-0/+1
| | | | | | | This was missing and got labeled "Something else". Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Don't replicate data for zero-stride arrays when copying to VBOs.Kenneth Graunke2012-10-311-7/+6
| | | | | | | | | | | | | | When copy_array_to_vbo_array encountered an array with src_stride == 0 and dst_stride != 0, we would replicate out the single element to the whole size (max - min + 1). This is unnecessary: we can simply upload one copy and set the buffer's stride to 0. Decreases vertex upload overhead in an upcoming Steam for Linux title. Prior to this patch, copy_array_to_vbo_array appeared very high in the profile (Eric quoted 20%). After the patch, it disappeared completely. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]>
* i965: Don't bother trying to extend the current vertex buffers.Kenneth Graunke2012-10-313-42/+1
| | | | | | | | | | | | | | | | | | | | This essentially reverts the following: commit c625aa19cb53ed27f91bfd16fea6ea727e9a5bbd Author: Chris Wilson <[email protected]> Date: Fri Feb 18 10:37:43 2011 +0000 intel: extend current vertex buffers While working on optimizing an upcoming Steam title, I broke this code. Eric expressed his doubts about this optimization, and noted that the original commit offered no performance data. I ran before and after benchmarks on Xonotic and Citybench, and found that this code made no difference. So, remove it to reduce complexity and make future work simpler. Reviewed-by: Eric Anholt <[email protected]>
* mesa: remove IBM_multimode_draw_arrays extension enable flagMarek Olšák2012-10-311-1/+0
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: don't always enable OES_standard_derivativesMarek Olšák2012-10-311-0/+1
| | | | | | | | For Intel, expose it only if gen >= 4. For Gallium, expose it only if PIPE_CAP_SM3 is advertised. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove EXT_compiled_vertex_array extension enable flagMarek Olšák2012-10-311-1/+0
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove ARB_window_pos extension enable flagMarek Olšák2012-10-311-1/+0
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove ARB_transpose_matrix extension enable flagMarek Olšák2012-10-311-1/+0
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* xlib: Do not undefine _R, _G, and _B.Vinson Lee2012-10-291-3/+0
| | | | | | | | Fixes build error on Cygwin and Solaris. _R, _G, and _B are used in ctype.h on those platforms. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* intel: support for 16 bit config with 24 depth and 8 stencilTapani Pälli2012-10-291-2/+7
| | | | | | | | | Patch adds additional singlesample config with 565 color buffer, 24 bit depth and 8 bit stencil buffer. This makes Quadrant benchmark work on Android. Tested with Sandybridge and Ivybridge machines. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* dri: Support MESA_FORMAT_SARGB8 in driCreateConfigsIan Romanick2012-10-291-1/+2
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* intel: If the visual is sRGB, use an sRGB internal formatIan Romanick2012-10-291-0/+2
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* dri: Convert driCreateConfigs to use a gl_format enumIan Romanick2012-10-296-153/+74
| | | | | | | | | | | This is instead of the pair of GLenums for format and type that were previously used. This is necessary for the Intel drivers to expose sRGB framebuffer formats. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* dri_util: Elminiate the bytes_per_pixel tableIan Romanick2012-10-291-9/+3
| | | | | | | | With fewer formats to support, it's kind of useless. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* dri_util: Remove support for RGB332 framebuffersIan Romanick2012-10-291-27/+7
| | | | | | | | None of the remaining DRI drivers in Mesa use this. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* swrast: Remove the 2_3_3_REV framebuffer formatIan Romanick2012-10-291-4/+0
| | | | | | | | | | There is no gl_format in Mesa that corresponds to this arrangement, so I have a very hard time believing that this works. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Merge brw_prepare_query_begin() and brw_emit_query_begin().Eric Anholt2012-10-263-22/+7
| | | | | | | This is a leftover from when we had to split those two functions due to the separate BO validation step. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Rename misleading "active" field of brw->query.Eric Anholt2012-10-262-5/+5
| | | | | | | | | "Active" is an already-used term for the query being between glBeginQuery() and glEndQuery(), while this is tracking whether the start of the packet pair for emitting state has been inserted into the current batchbuffer. Reviewed-by: Kenneth Graunke <[email protected]>
* scons: Build xlib swrast too.José Fonseca2012-10-262-0/+51
| | | | Helpful for debugging.
* i965/vs: Preserve the type when copy propagating into an instruction.Kenneth Graunke2012-10-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | Consider the following code, which reinterprets a register as a different type: mov(8) g6<1>F g1.4<0,4,1>.xF and(8) g5<1>.xUD g6<4,4,1>.xUD 0x7fffffffUD Copy propagation would notice that we can replace the use of g6 with g1.4 and eliminate the MOV. Unfortunately, it failed to preserve the UD type, incorrectly generating: and(8) g5<1>.xUD g6<4,4,1>.xF 0x7fffffffUD Found while debugging Ian's uncommitted ARB_vertex_program LOG opcode test with my new Mesa IR -> Vec4 IR translator. NOTE: This is a candidate for stable release branches. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>