[Mesa-stable] [PATCH v2] mesa: fix GL_COLOR_SUM enum for drivers without ARB_vertex_program
Ilia Mirkin
imirkin at alum.mit.edu
Thu Jan 16 10:42:35 PST 2014
On Thu, Jan 16, 2014 at 1:38 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Thu, Jan 16, 2014 at 1:34 PM, Ian Romanick <idr at freedesktop.org> wrote:
>> On 01/16/2014 10:13 AM, Ilia Mirkin wrote:
>>> Commit c13970808 (mesa: GL_EXT_secondary_color is not optional) changed
>>>
>>> CHECK_EXTENSION2(EXT_secondary_color, ARB_vetex_program, cap)
>>>
>>> to
>>>
>>> CHECK_EXTENSION(ARB_vertex_program, cap)
>>>
>>> However CHECK_EXTENSION2 checks that either extension is available, not
>>> both. Remove the extension check entirely since the intent was for it to
>>> always be enabled.
>>>
>>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>>> Cc: 9.2 10.0 <mesa-stable at lists.freedesktop.org>
>>
>> Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
>
> Thanks! Can you take care of checking it in? I don't have an fd.o account.
>
>>
>>> ---
>>>
>>> I hope this is what you meant by the get_hash_params.py change. I'm not
>>> entirely clear on when one should use NO_EXTRA vs a flush of some sort.
>>
>> The various flushes are only needed for queries of derived state (like
>> the current secondary color query).
Actually if the extra_ARB_vertex_program was needed before -- wouldn't
it still be needed now? Presumably it only does work if that extension
exists, and GL_COLOR_SUM somehow interacts with it. (Sorry, my
knowledge of the details is rather weak.)
>>
>>> src/mesa/main/enable.c | 2 --
>>> src/mesa/main/get_hash_params.py | 2 +-
>>> 2 files changed, 1 insertion(+), 3 deletions(-)
>>>
>>> diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
>>> index bb4a23c..fca3068 100644
>>> --- a/src/mesa/main/enable.c
>>> +++ b/src/mesa/main/enable.c
>>> @@ -762,7 +762,6 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
>>> case GL_COLOR_SUM_EXT:
>>> if (ctx->API != API_OPENGL_COMPAT)
>>> goto invalid_enum_error;
>>> - CHECK_EXTENSION(ARB_vertex_program, cap);
>>> if (ctx->Fog.ColorSumEnabled == state)
>>> return;
>>> FLUSH_VERTICES(ctx, _NEW_FOG);
>>> @@ -1443,7 +1442,6 @@ _mesa_IsEnabled( GLenum cap )
>>> case GL_COLOR_SUM_EXT:
>>> if (ctx->API != API_OPENGL_COMPAT)
>>> goto invalid_enum_error;
>>> - CHECK_EXTENSION(ARB_vertex_program);
>>> return ctx->Fog.ColorSumEnabled;
>>>
>>> /* GL_ARB_multisample */
>>> diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
>>> index 6195d63..bc2bbaf 100644
>>> --- a/src/mesa/main/get_hash_params.py
>>> +++ b/src/mesa/main/get_hash_params.py
>>> @@ -541,7 +541,7 @@ descriptor=[
>>> [ "TRANSPOSE_TEXTURE_MATRIX_ARB", "CONTEXT_MATRIX_T(TextureMatrixStack), NO_EXTRA" ],
>>>
>>> # GL_EXT_secondary_color
>>> - [ "COLOR_SUM", "CONTEXT_BOOL(Fog.ColorSumEnabled), extra_ARB_vertex_program" ],
>>> + [ "COLOR_SUM", "CONTEXT_BOOL(Fog.ColorSumEnabled), NO_EXTRA" ],
>>> [ "CURRENT_SECONDARY_COLOR", "CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_COLOR1][0], TYPE_FLOATN_4), extra_flush_current" ],
>>> [ "SECONDARY_COLOR_ARRAY", "ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_COLOR1].Enabled), NO_EXTRA" ],
>>> [ "SECONDARY_COLOR_ARRAY_TYPE", "ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_COLOR1].Type), NO_EXTRA" ],
>>>
>>
More information about the mesa-stable
mailing list