[Mesa-dev] [PATCH 0/9] glsl: Add C API to exec_node/exec_list.

Ian Romanick idr at freedesktop.org
Tue Jun 10 12:35:54 PDT 2014


On 06/10/2014 12:10 PM, Matt Turner wrote:
> On Tue, Jun 10, 2014 at 11:38 AM, Ian Romanick <idr at freedesktop.org> wrote:
>> On 06/10/2014 11:00 AM, Matt Turner wrote:
>>> Our most frequently used list implementation was only usable from
>>> C by manipulating the members of the structs. This series adds a
>>> C API, wraps the C API with the C++ member functions (so no change
>>> for C++ code), makes the foreach_list macros usable from C, and
>>> replaces an open-coded list in the i965 driver with exec_list.
>>>
>>> The C API consists of static inline functions, and the C++ member
>>> functions are also marked inline.
>>
>> Before seeing this series, I would have sworn up and down that at least
>> the core list API as available from C.  It really did start life as a C
>> API, but in the C++ switch the C version must have been dropped for
>> "clarity."
> 
> Must have been before it was imported into git (commit 7e4ce719).

Yeah... the whole compiler used to live an a separate tree during early
development, and the current version is actually the second attempt.
The first attempt was entirely C.  Digging around through old trees...
it looks like list.h in the first attempt (November 2008) used #defines
for the list API, and the oldest commit in the second attempt (March
2010) had the current C++ API.  I'll blame old age for the failing memory.



More information about the mesa-dev mailing list