Bug 102003

Summary: Mesa demos doesn't compile due to gles1
Product: Mesa Reporter: Mike Lothian <mike>
Component: DemosAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: mike
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 101911    

Description Mike Lothian 2017-08-01 15:19:30 UTC
Looks like some primitives are no longer defined for GLES1 

Making all in opengles1
make[3]: Entering directory '/home/fireburn/Demos/src/egl/opengles1'
  CC       clear.o
  CC       drawtex.o
  CC       eglfbdev.o
  CC       es1_info.o
  CC       gears.o
  CC       msaa.o
  CC       pbuffer.o
  CC       render_tex.o
  CC       texture_from_pixmap.o
  CC       torus.o
gears.c: In function ‘draw_gear’:
gears.c:205:7: error: unknown type name ‘GLushort’; did you mean ‘ushort’?
       GLushort indices[7];
       ^~~~~~~~
       ushort
torus.c: In function ‘make_cpal_texture’:
torus.c:224:10: error: unknown type name ‘GLushort’; did you mean ‘ushort’?
          GLushort *pal = (GLushort *) palette;
          ^~~~~~~~
          ushort
torus.c:224:27: error: ‘GLushort’ undeclared (first use in this function); did you mean ‘ushort’?
          GLushort *pal = (GLushort *) palette;
                           ^~~~~~~~
                           ushort
torus.c:224:27: note: each undeclared identifier is reported only once for each function it appears in
torus.c:224:37: error: expected expression before ‘)’ token
          GLushort *pal = (GLushort *) palette;
                                     ^
torus.c:234:20: error: ‘pal’ undeclared (first use in this function); did you mean ‘fmal’?
          GLushort *pal = (GLushort *) palette;
                    ^~~
                    fmal
torus.c:234:37: error: expected expression before ‘)’ token
          GLushort *pal = (GLushort *) palette;
                                     ^
torus.c:244:37: error: expected expression before ‘)’ token
          GLushort *pal = (GLushort *) palette;
                                     ^
make[3]: *** [Makefile:563: gears.o] Error 1
make[3]: *** Waiting for unfinished jobs....
clear.c:40:45: error: unknown type name ‘GLclampf’; did you mean ‘GLclampx’?
 typedef void (GL_APIENTRY *type_ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
                                             ^~~~~~~~
                                             GLclampx
clear.c:40:59: error: unknown type name ‘GLclampf’; did you mean ‘GLclampx’?
 typedef void (GL_APIENTRY *type_ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
                                                           ^~~~~~~~
                                                           GLclampx
clear.c:40:75: error: unknown type name ‘GLclampf’; did you mean ‘GLclampx’?
 typedef void (GL_APIENTRY *type_ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
                                                                           ^~~~~~~~
                                                                           GLclampx
clear.c:40:90: error: unknown type name ‘GLclampf’; did you mean ‘GLclampx’?
 typedef void (GL_APIENTRY *type_ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
                                                                                          ^~~~~~~~
                                                                                          GLclampx
make[3]: *** [Makefile:563: torus.o] Error 1
clear.c:43:8: error: unknown type name ‘type_ClearColor’
 static type_ClearColor fn_ClearColor;
        ^~~~~~~~~~~~~~~
clear.c: In function ‘init’:
clear.c:73:21: error: ‘type_ClearColor’ undeclared (first use in this function); did you mean ‘fn_ClearColor’?
    fn_ClearColor = (type_ClearColor) get_proc("glClearColor");
                     ^~~~~~~~~~~~~~~
                     fn_ClearColor
clear.c:73:21: note: each undeclared identifier is reported only once for each function it appears in
clear.c:73:38: error: expected ‘;’ before ‘get_proc’
    fn_ClearColor = (type_ClearColor) get_proc("glClearColor");
                                      ^~~~~~~~
clear.c:76:4: error: called object ‘fn_ClearColor’ is not a function or function pointer
    fn_ClearColor(1.0, 0.4, 0.4, 0.0);
    ^~~~~~~~~~~~~
clear.c:43:24: note: declared here
 static type_ClearColor fn_ClearColor;
                        ^~~~~~~~~~~~~
make[3]: *** [Makefile:563: clear.o] Error 1
eglfbdev.c: In function ‘egl_init_for_fbdev’:
eglfbdev.c:201:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    egl_dpy = eglGetDisplay((EGLNativeDisplayType) fd);
                            ^
make[3]: Leaving directory '/home/fireburn/Demos/src/egl/opengles1'
make[2]: *** [Makefile:419: all-recursive] Error 1
make[2]: Leaving directory '/home/fireburn/Demos/src/egl'
make[1]: *** [Makefile:435: all-recursive] Error 1
make[1]: Leaving directory '/home/fireburn/Demos/src'
make: *** [Makefile:442: all-recursive] Error 1
Comment 1 Mike Lothian 2017-08-01 15:26:38 UTC
I should add this was from a fresh clone and running autogen.sh

I'm running Mesa from master and gles1 is enabled
Comment 2 Eric Engestrom 2017-08-01 16:52:29 UTC
This is an issue with the upstream headers, which has been reported [1] and a fix suggested [2].
We will pull the update headers once Khronos merges the fix.
In the mean time, this patch [3] should fix the issue.

[1] https://github.com/KhronosGroup/OpenGL-Registry/issues/77
[2] https://github.com/KhronosGroup/OpenGL-Registry/pull/76
[3] https://lists.freedesktop.org/archives/mesa-dev/2017-June/161647.html
Comment 3 Mike Lothian 2017-08-01 22:16:20 UTC
The commit 3db05ed1d10738d0c2f14cb692d5d618c5872dcd fixed it

Thanks

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.