Bug 102003 - Mesa demos doesn't compile due to gles1
Summary: Mesa demos doesn't compile due to gles1
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Demos (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 101911
  Show dependency treegraph
 
Reported: 2017-08-01 15:19 UTC by Mike Lothian
Modified: 2017-08-01 22:16 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

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.