Bug 61764

Summary: invalid enum in glEnable, glConvolutionFilter, glSeparableFilter, glColorTable
Product: Mesa Reporter: Blaž Hrastnik <speed.the.bboy>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium CC: speed.the.bboy
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: test program

Description Blaž Hrastnik 2013-03-03 21:51:10 UTC
Created attachment 75861 [details]
test program

See the test program for more info. When using specific enumerables with these commands, these commands return an error.

glEnable(GL_MINMAX)
glEnable(GL_MINMAX_EXT);
glEnable(GL_HISTOGRAM);

glConvolutionFilter1D(GL_CONVOLUTION_1D, GL_RGB8, 4, GL_RGB, GL_FLOAT, cf);
glSeparableFilter2D(GL_SEPARABLE_2D, GL_RGB8, 2, 2, GL_RGB, GL_FLOAT, sf_a, sf_b);

glColorTable(GL_COLOR_TABLE, GL_RGB8, 4, GL_RGB, GL_FLOAT, ct);

I do not have the code yet to reproduce the last three, I need to convert it from ruby.
Comment 1 Roland Scheidegger 2013-03-04 12:00:47 UTC
Mesa does not (or rather, no longer, it did at some point) support the clunky and legacy ARB_imaging subset. Therefore, trying to use functions or enumerants requiring that extension will indeed generate errors.
Comment 2 Blaž Hrastnik 2013-03-04 14:46:54 UTC
I'd still argue that this is a bug. If the extensions were removed, their implementation should be fully removed (as in, these functions, especially the EXT/ARB versions of them should be removed), instead of leaving some sort of a buggy shell, which can still be called (or at least can be tried to be called). So I'd just fully remove these, so there'd be no confusion.
Comment 3 Roland Scheidegger 2013-03-04 16:02:58 UTC
(In reply to comment #2)
> I'd still argue that this is a bug. If the extensions were removed, their
> implementation should be fully removed (as in, these functions, especially
> the EXT/ARB versions of them should be removed), instead of leaving some
> sort of a buggy shell, which can still be called (or at least can be tried
> to be called). So I'd just fully remove these, so there'd be no confusion.

No this is not correct. The problem is there never was a separate ARB_imaging extension, this is (rather was) part of core but optionally supported. As such there's language in the spec which says you have to return invalid_enum for invalid operands and invalid_operation for unsupported functions belonging to this imaging subset.
Comment 4 Blaž Hrastnik 2013-03-04 16:14:24 UTC
Ah yes, I have found that bit later in the documentation. Thank you for clarification!

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.