draw: Do not use LLVM's opaque types.
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 24 Jan 2011 09:48:45 +0000 (09:48 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 24 Jan 2011 17:27:14 +0000 (17:27 +0000)
commit92badb4c8c6f603ff823d4aeb87c27582648ba6d
tree490ea1911cd5eb03af7fdc8260f7bf1f5b59d90d
parentd14764815cdd2d92545a2d1127e2d1bf348aa035
draw: Do not use LLVM's opaque types.

Contrary what the name may suggest, LLVM's opaque types are used for
recursive types -- types whose definition refers itself -- so opaque
types correspond to pre-declaring a structure in C. E.g.:

   struct node;

   struct link {
      ....
      struct node *next;
   };

   struct node {
      struct link link;
   }

Void pointers are also disallowed by LLVM. So the suggested way of creating
what's commonly referred as "opaque pointers" is using byte pointer (i.e.,
uint8_t * ).
src/gallium/auxiliary/draw/draw_llvm.c