[Mesa-dev] RFC: Whimsical renames and code motion

Kristian Høgsberg krh at bitplanet.net
Wed Oct 13 06:51:36 PDT 2010


2010/10/12 Brian Paul <brianp at vmware.com>:
> On 10/12/2010 10:43 AM, Kristian Høgsberg wrote:
>>
>> Hi,
>>
>> I wrote this patch series a while ago, but now that 7.9 is out I
>> thought I'd float it on the list to see what people think.  The first
>> couple of patches kill off glcore.h, which is no longer used for any
>> external interfaces, and pull the struct into mtypes.h.  The next
>> couple of patches massage it a bit to drop fields we don't use and
>> rename it and it's many typedefs to just struct gl_config.  The patch
>> series finishes with two patches to drop the GLframebuffer and
>> GLcontext typedefs and just use struct gl_framebuffer and struct
>> gl_context instead.  The last patch is 2MB, so I'll just point you to
>> the branch in my repo:
>>
>>   http://cgit.freedesktop.org/~krh/mesa/log/?h=whimsical-renames
>>
>> and this output:
>>
>> [krh at hinata mesa]$ git log --oneline --shortstat origin/master..HEAD
>> 8057432 Drop GLcontext typedef and use struct gl_context instead
>>  789 files changed, 5696 insertions(+), 5699 deletions(-)
>> 8dd8750 Drop GLframebuffer typedef and just use struct gl_framebuffer
>>  54 files changed, 127 insertions(+), 128 deletions(-)
>> e7158d3 Rename GLvisual and __GLcontextModes to struct gl_config
>>  98 files changed, 176 insertions(+), 189 deletions(-)
>> 4067d7a gl: Remove unused GLcontextModes fields
>>  8 files changed, 7 insertions(+), 48 deletions(-)
>> e63f0e4 Get rid of GL/internal/glcore.h
>>  11 files changed, 314 insertions(+), 193 deletions(-)
>>
>> The last two renames are quite a mouthful, but I think they make a lot
>> of sense and makes the mesa types more consistent; consistent with
>> themselves (no other mesa structs have typedefs) and other code
>> (gallium doesn't typedef structs and neither does most of the dri
>> drivers (struct radeon_framebuffer, struct intel_context etc)).
>
> I'm OK with these changes.
>
> Some historical background.  GLcontext goes back to the very first version
> of Mesa.  The GLvisual and GLframebuffer types were added a bit later and
> were defined with typedefs to distinguish them as special types which
> percolate up to higher levels.  Contexts, visuals and framebuffers/surfaces
> are internal entities which also exist in APIs such as GLX and WGL.  But
> there's no concrete reasons for the typedefs.

Yea, I guess that makes sense.  Today we never export those types
directly, of course, but wrap them in opaque DRI objects or similar
for gallium.  I pushed the patches just now.

Kristian


More information about the mesa-dev mailing list