summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/buffers.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Drop manual checks for outside begin/end.Eric Anholt2013-01-211-3/+6
| | | | | | | | | | | We now have a separate dispatch table for begin/end that prevent these functions from being entered during that time. The ASSERT_OUTSIDE_BEGIN_END_WITH_RETVALs are left because I don't want to change any return values or introduce new error-only stubs at this point. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Make ES3 glDrawBuffers() only accept BACK/NONE for the winsys fbo.Kenneth Graunke2013-01-151-5/+17
| | | | | | | | | | | | Nothing was explicitly checking this. v2: Update GL3 spec reference. Signed-off-by: Anuj Phogat <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]> Signed-off-by: Ian Romanick <[email protected]> [v2] Reviewed-by: Anuj Phogat <[email protected]> Reviewed-by: Ian Romanick <[email protected]> [v1]
* mesa: Handle GL_BACK correctly for ES 3.0 in glDrawBuffers().Kenneth Graunke2013-01-151-4/+19
| | | | | | | | | | | | | | | | | | | | | In ES 3.0, when calling glDrawBuffers() on the window system framebuffer, the only valid targets are GL_NONE or GL_BACK. Since there is no stereo rendering in ES 3.0, this is a single buffer, unlike desktop where it may be two (and thus isn't allowed). For single-buffered configs, GL_BACK ironically means the front (and only) buffer. I'm not sure that it matters, however, as ES shouldn't have front buffer rendering in the first place. Fixes es3conform framebuffer_blit_coverage_default_draw_buffer_binding. v2: Update GLES3 spec reference. Signed-off-by: Anuj Phogat <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]> Signed-off-by: Ian Romanick <[email protected]> [v2] Reviewed-by: Anuj Phogat <[email protected]> Reviewed-by: Ian Romanick <[email protected]> [v1]
* mesa: Rework crazy error code rules in glDrawBuffers().Kenneth Graunke2013-01-151-3/+63
| | | | | | | | | | | | | | | | | | | | | | | Perhaps most importantly, this patch adds comments quoting the relevant spec paragraphs above each error condition. It also makes three changes: - For FBOs, GL_COLOR_ATTACHMENTm where m >= MaxDrawBuffers is supposed to generate INVALID_OPERATION (not INVALID_ENUM). - Constants that refer to multiple buffers (such as FRONT, BACK, LEFT, RIGHT, and FRONT_AND_BACK) are supposed to generate INVALID_OPERATION, not INVALID_ENUM. - In ES 3.0, for FBOs, buffers[i] must be NONE or GL_COLOR_ATTACHMENTi or else INVALID_OPERATION occurs. (This is a new restriction.) Fixes es3conform's draw-buffers-api test. v2: The error path was missing a "return" like all the other error paths. Also, we may as well call it glDrawBuffers in the error message since the ARB suffix doesn't exist in ES 3. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow glReadBuffer(GL_NONE) for winsys framebuffers.Paul Berry2012-12-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | Previously, Mesa code assumed that glReadBuffer(GL_NONE) was only valid for user-created framebuffer objects. However, the spec is quite clear that is should also be valid for the default framebuffer. From section 18.2.1 ("Obtaining Pixels from the Framebuffer") of the GL 4.3 spec: "When READ_FRAMEBUFFER_BINDING is zero, i.e. the default framebuffer, src must be one of the values listed in table 17.4, including NONE." Similar language exists in the GLES 3.0 spec, and in desktop GL all the way back to ARB_framebuffer_object. Partially fixes GLES3 conformance test "CoverageES30.test". NOTE: This is a candidate for stable branches. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Rename API_OPENGL to API_OPENGL_COMPAT.Paul Berry2012-11-291-1/+1
| | | | | | | | | | This should help avoid confusion now that we're using the gl_api enum to distinguishing between core and compatibility API's. The corresponding enum value for core API's is API_OPENGL_CORE. Acked-by: Eric Anholt <[email protected]> Acked-by: Matt Turner <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* mesa: Standardize names of OpenGL functions.Paul Berry2012-11-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* mesa: remove FEATURE_GL test from updated_drawbuffers()Brian Paul2012-10-161-2/+0
| | | | | | There's already a runtime test for full OpenGL. Reviewed-by: Ian Romanick <[email protected]>
* Temporarily revert "mesa: remove remaining FEATURE_* defines where protected ↵José Fonseca2012-09-151-0/+2
| | | | | | | | by API check." This reverts commit 9f37b405a3de8668a5f74c9681829688475ac3b7. Fixes windows builds.
* mesa: remove remaining FEATURE_* defines where protected by API check.Oliver McFadden2012-09-151-2/+0
| | | | | Signed-off-by: Oliver McFadden <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: use _mesa_is_user_fbo() and _mesa_is_winsys_fbo() functionsBrian Paul2012-01-121-6/+7
| | | | | | Rather than testing the fbo's name against zero. Reviewed-by: José Fonseca <[email protected]>
* mesa: whitespace, 80-column wrapping in buffers.cBrian Paul2012-01-121-2/+6
|
* mesa: remove _mesa_ffs(), implement ffs() for non-GNU platformsBrian Paul2012-01-121-2/+2
| | | | | | | | | | | Call ffs() and ffsll() everywhere. Define our own ffs(), ffsll() functions when the platform doesn't have them. v2: remove #ifdef _WIN32, __IBMC__, __IBMCPP_ tests inside ffs() implementation. The #else clause was recursive. Reviewed-by: Kenneth Graunke <[email protected]> Tested-by: Alexander von Gluck <[email protected]>
* mesa: Also set the remaining draw buffers to GL_NONE when updating just the ↵Henri Verbeet2011-09-251-15/+14
| | | | | | | | | | | | | | | | | first buffer in _mesa_drawbuffers(). Without this we'd miss the last update in a sequence like {COLOR0, COLOR1}, {COLOR0}, {COLOR0, COLOR1}. I originally had a patch for this that called updated_drawbuffers() when the buffer count changed, but later realized that was wrong. The ARB_draw_buffers spec explicitly says "The draw buffer for output colors beyond <n> is set to NONE.", and this is queryable state. This fixes piglit arb_draw_buffers-state_change. NOTE: This is a candidate for the 7.11 branch. Signed-off-by: Henri Verbeet <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: refactor, create _mesa_update_draw_buffers() helperBrian Paul2011-06-161-0/+21
| | | | | Move this code out of _mesa_make_current() and put it into a helper function.
* mesa: Flush vertices before updating drawbuffer computed state.Eric Anholt2011-05-261-7/+7
| | | | | | | Otherwise, the driver is likely to draw the flushed vertices to the new drawbuffer instead of the old one, missing the point of the flush. Reviewed-by: Brian Paul <[email protected]>
* mesa: Trigger FBO validation on DrawBuffers change in non-ES2 mode.Eric Anholt2011-05-261-10/+26
| | | | | | | | | glDrawBuffers pointing at an unattached buffer is supposed to be incomplete without ARB_ES2_compatibility. The testcase to catch the bug of not implementing that bit of the spec was tricked by this missing piece of state update. Reviewed-by: Brian Paul <[email protected]>
* mesa: Also update the color draw buffer if it's explicitly set to GL_NONE.Henri Verbeet2011-04-101-1/+1
| | | | | | NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Henri Verbeet <[email protected]>
* mesa: Include mtypes.h in files that use gl_context struct.Vinson Lee2011-01-051-0/+1
| | | | | | Directly include mtypes.h if a file uses a gl_context struct. This allows future removal of headers that are not strictly necessary but indirectly include mtypes.h for a file.
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-131-3/+3
|
* mesa: Remove unnecessary headers from buffers.c.Vinson Lee2010-01-181-2/+0
|
* mesa: remove old commentBrian Paul2009-11-171-1/+0
|
* mesa: remove a bit of old codeBrian Paul2009-11-171-1/+0
|
* mesa: fix infinite loop bug in _mesa_drawbuffers()Brian Paul2009-11-051-1/+2
| | | | | Fixes bug 24946. This regression came from 8df699b3bb1aa05b633f05b121d09d812c86a22d.
* mesa: clean-up formattingBrian Paul2009-11-031-1/+1
|
* mesa: use FLUSH_VERTICES() in _mesa_drawbuffers()Brian Paul2009-11-031-1/+1
|
* mesa: avoid extraneous _NEW_BUFFER state in _mesa_drawbuffers()Brian Paul2009-11-031-9/+29
|
* mesa: use ffs() to shorten loop in _mesa_drawbuffers()Brian Paul2009-11-031-6/+10
|
* mesa: added assertion, another commentBrian Paul2009-11-031-1/+3
|
* mesa: in glReadBufer() set _NEW_BUFFERS, not _NEW_PIXELBrian Paul2009-05-011-1/+1
| | | | | | | | | | | | | | | Since GL_READ_BUFFER is historically part of the gl_pixel_attrib group it made sense to signal changes with _NEW_PIXEL. But now with FBOs it's also part of the framebuffer state. Now _NEW_PIXEL strictly indicates pixels transfer state changes. This change avoids framebuffer state validation when any random bit of pixel-transfer state is set. DRI drivers updated too: don't check _NEW_COLOR when updating framebuffer state. I think that was just copied from the Xlib driver because we care about dither enable/disable state there.
* mesa: fix glRead/DrawBuffer(GL_AUXn) error valueBrian Paul2009-03-121-0/+8
| | | | | | | If GL_AUX[123] are passed to glRead/DrawBuffer() when those buffers don't exist, need to generate GL_INVALID_OPERATION, not GL_INVALID_ENUM. This regression came from commit 555f0a88182e2b1af809b2d97abdac02814a2f28
* mesa: remove unused AUX buffersBrian Paul2009-03-021-12/+0
| | | | | | Remove all references to aux buffers 1..3. Keep AUX0 around for now just in case, but it'll probably go too someday. I don't know of any OpenGL drivers since the IRIX days that support aux color buffers.
* glDrawBuffers(n==0) is validRobert Ellison2009-02-121-3/+8
| | | | | | | | | | | | | | According to the GL spec, calling glDrawBuffers() with n == 0 is a valid operation (and essentially prevents drawing to any buffers). But _msa_DrawBuffersARB() was producing a GL_INVALID_VALUE error in this case. This fix adjusts the error check, and makes a small change to the ctx->Driver.DrawBuffer() call below to ensure that, if n == 0, Driver.DrawBuffer() is called with GL_NONE and that buffers[0] is *not* referenced in this case (since we don't know whether it is valid). Internal identifier: 365833
* mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul2009-02-091-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit 'origin/gallium-0.2' into gallium-master-merge Conflicts: Makefile docs/relnotes-7.4.html docs/relnotes.html src/mesa/drivers/dri/i965/brw_wm.h src/mesa/main/imports.c src/mesa/main/mtypes.h src/mesa/main/texcompress.c src/mesa/main/texenvprogram.c src/mesa/main/version.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_draw.c
| * Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell2008-09-111-339/+3
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A first attempt at moving gallium onto a branch directly off master... It will be interesting to see how much work this takes to get running. Have resolved the conflicts semi-arbitarily, not compiled or tested. Conflicts: .gitignore Makefile configs/config.mgw configs/darwin configs/darwin-x86ppc configs/default configs/freebsd-dri configs/linux-dri configs/linux-dri-xcb configs/linux-fbdev configs/linux-static configs/linux-x86-64-static configs/linux-x86-static doxygen/Makefile include/GL/gl.h progs/demos/Makefile progs/demos/descrip.mms progs/demos/texenv.c progs/egl/.gitignore progs/egl/Makefile progs/glsl/.gitignore progs/glsl/Makefile progs/glsl/convolutions.c progs/samples/Makefile.mgw progs/tests/.gitignore progs/trivial/.gitignore progs/trivial/point-param.c progs/trivial/tri.c progs/xdemos/.gitignore progs/xdemos/glthreads.c src/egl/drivers/demo/Makefile src/egl/drivers/dri/Makefile src/egl/main/Makefile src/glu/Makefile src/glu/sgi/Makefile src/glu/sgi/Makefile.mgw src/glut/glx/Makefile.mgw src/glut/os2/WarpWin.cpp src/glut/os2/glut_cindex.cpp src/glut/os2/glut_gamemode.cpp src/glut/os2/glut_win.cpp src/glut/os2/glut_winmisc.cpp src/glut/os2/os2_glx.cpp src/glut/os2/os2_menu.cpp src/glut/os2/os2_winproc.cpp src/glw/Makefile src/glx/x11/dri_glx.c src/glx/x11/glxext.c src/mesa/Makefile src/mesa/Makefile.mgw src/mesa/descrip.mms src/mesa/drivers/beos/Makefile src/mesa/drivers/common/descrip.mms src/mesa/drivers/common/driverfuncs.c src/mesa/drivers/directfb/Makefile src/mesa/drivers/dri/Makefile.template src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/common/dri_bufmgr.h src/mesa/drivers/dri/common/dri_util.c src/mesa/drivers/dri/common/extension_helper.h src/mesa/drivers/dri/common/mmio.h src/mesa/drivers/dri/common/utils.c src/mesa/drivers/dri/common/utils.h src/mesa/drivers/dri/glcore/Makefile src/mesa/drivers/dri/i810/i810screen.c src/mesa/drivers/dri/i915/intel_ioctl.c src/mesa/drivers/dri/i915/intel_ioctl.h src/mesa/drivers/dri/i915/intel_screen.c src/mesa/drivers/dri/i915/server/i830_common.h src/mesa/drivers/dri/i915/server/i830_dri.h src/mesa/drivers/dri/i965/intel_screen.c src/mesa/drivers/dri/i965/server/i830_common.h src/mesa/drivers/dri/i965/server/i830_dri.h src/mesa/drivers/dri/mach64/mach64_screen.c src/mesa/drivers/dri/nouveau/nouveau_context.h src/mesa/drivers/dri/nouveau/nouveau_fifo.c src/mesa/drivers/dri/nouveau/nouveau_fifo.h src/mesa/drivers/dri/nouveau/nouveau_screen.c src/mesa/drivers/dri/nouveau/nouveau_screen.h src/mesa/drivers/dri/r128/r128_tex.h src/mesa/drivers/dri/savage/savageioctl.h src/mesa/drivers/fbdev/Makefile src/mesa/drivers/osmesa/Makefile src/mesa/drivers/osmesa/descrip.mms src/mesa/drivers/x11/Makefile src/mesa/drivers/x11/descrip.mms src/mesa/drivers/x11/xm_dd.c src/mesa/glapi/glapi.c src/mesa/glapi/glthread.c src/mesa/main/api_validate.c src/mesa/main/attrib.c src/mesa/main/bufferobj.c src/mesa/main/bufferobj.h src/mesa/main/buffers.c src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/descrip.mms src/mesa/main/drawpix.c src/mesa/main/enums.c src/mesa/main/fbobject.c src/mesa/main/glheader.h src/mesa/main/imports.c src/mesa/main/mipmap.c src/mesa/main/mm.c src/mesa/main/mm.h src/mesa/main/mtypes.h src/mesa/main/points.c src/mesa/main/sources src/mesa/main/state.c src/mesa/main/texcompress_fxt1.c src/mesa/main/texenvprogram.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c src/mesa/math/descrip.mms src/mesa/shader/arbprogram.c src/mesa/shader/descrip.mms src/mesa/shader/prog_execute.c src/mesa/shader/prog_statevars.c src/mesa/shader/prog_statevars.h src/mesa/shader/prog_uniform.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/shader_api.c src/mesa/shader/slang/descrip.mms src/mesa/shader/slang/library/slang_vertex_builtin_gc.h src/mesa/sources src/mesa/swrast/descrip.mms src/mesa/swrast/s_drawpix.c src/mesa/swrast/s_fragprog.c src/mesa/swrast/s_readpix.c src/mesa/swrast/s_span.c src/mesa/swrast_setup/descrip.mms src/mesa/tnl/descrip.mms src/mesa/tnl/t_context.h src/mesa/tnl/t_vp_build.c src/mesa/tnl/tnl.h src/mesa/vbo/descrip.mms src/mesa/vbo/vbo_context.c src/mesa/vbo/vbo_exec_array.c src/mesa/x86-64/xform4.S src/mesa/x86/rtasm/x86sse.c src/mesa/x86/rtasm/x86sse.h windows/VC6/progs/glut/glut.dsp windows/VC7/mesa/gdi/gdi.vcproj windows/VC7/mesa/glu/glu.vcproj windows/VC7/mesa/mesa.sln windows/VC7/mesa/mesa/mesa.vcproj windows/VC7/mesa/osmesa/osmesa.vcproj windows/VC7/progs/glut/glut.vcproj windows/VC8/mesa/gdi/gdi.vcproj windows/VC8/mesa/glu/glu.vcproj windows/VC8/mesa/mesa.sln windows/VC8/mesa/mesa/mesa.vcproj windows/VC8/progs/glut/glut.vcproj
| | * mesa: refactor: move multisample-related functions into new multisample.c fileBrian Paul2008-06-091-38/+0
| | |
| | * mesa: refactor: move _mesa_resizebuffers(), _mesa_ResizeBuffersMESA() to ↵Brian Paul2008-06-091-79/+0
| | | | | | | | | | | | framebuffer.c
| | * mesa: refactor: move glClear, glClearColor into new clear.c file.Brian Paul2008-06-091-143/+1
| | |
| | * mesa: refactor: move scissor functions into new scissor.c fileBrian Paul2008-06-091-75/+0
| | |
| | * Set _NEW_BUFFERS in glRead/DrawBuffer().Brian2007-10-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we set _NEW_PIXEL and _NEW_COLOR in these functions, respectively. That correponds to the GL attribute groups, but doesn't make much sense otherwise. This could improve validation efficiency in a few places too. It looks like all the drivers are already checking for _NEW_BUFFERS in the right places (since that's the bit for FBO state) so we can trim out _NEW_PIXEL and _NEW_COLOR at any time.
| | * Add some FLUSH_CURRENT() calls.Brian2007-10-171-0/+2
| | | | | | | | | | | | | | | | | | | | | Without these we can find ourselves in _mesa_load_state_parameters() computing derived lighting/material values whhen the current material properties haven't been updated from the VBO. This may be a somewhat wide-spread problem that needs more attention...
| | * remove st_draw.h includeBrian2007-08-021-2/+0
| | |
| | * Reroute some clear functionality.Keith Whitwell2007-08-021-8/+0
| | | | | | | | | | | | | | | Still require the intelClear() call to flush batchbuffers. That will be removed later...
| | * Checkpoint: glClear changes - working, bug very rough.Brian2007-08-011-0/+10
| | |
* | | mesa: more info in error messagesBrian Paul2009-02-041-2/+3
| | |
* | | Make GL_ARB_draw_buffers mandatoryIan Romanick2009-01-281-4/+0
| | | | | | | | | | | | Signed-off-by: Ian Romanick <[email protected]>
* | | mesa: refactor: move multisample-related functions into new multisample.c fileBrian Paul2008-09-211-38/+0
| | |
* | | mesa: refactor: move _mesa_resizebuffers(), _mesa_ResizeBuffersMESA() to ↵Brian Paul2008-09-211-79/+0
| | | | | | | | | | | | | | | | | | framebuffer.c (cherry picked from commit 9091015a9782ad15e58540a8fd61df83ea2bfe31)
* | | mesa: refactor: move glClear, glClearColor into new clear.c file.Brian Paul2008-09-211-148/+1
| | |
* | | mesa: refactor: move scissor functions into new scissor.c fileBrian Paul2008-09-211-75/+0
| | | | | | | | | | | | (cherry picked from commit 4be7296bfcba22a849f949d105ea385e6964cc25)