summaryrefslogtreecommitdiff
path: root/src/gl-renderer.h
Commit message (Collapse)AuthorAgeFilesLines
* src: Update boilerplate from MIT X11 license to MIT Expat licenseBryce Harrington2015-06-151-16/+19
|
* gl-renderer: Take a list of acceptable formats in create functionsDerek Foreman2015-05-181-2/+4
| | | | | | | | | | Currently we pass either a single format or no formats to the gl renderer create and output_create functions. We extend this to any number of formats so we can allow fallback formats if we don't get our first pick. Reviewed-By: Bryce Harrington <bryce@osg.samsung.com> Reviewed-By: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
* gl-renderer: provide platform_base fallbacks and remove ifdefsJonny Lamb2015-03-261-0/+6
| | | | Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* gl-renderer: call supports() automatically in create()Jonny Lamb2015-03-261-3/+2
| | | | | | | | | This means compositors don't need to call supports() manually and create() will just return -1 in the failure case as before. This also means we can deal with the case of eglGetProcAddress returning non-NULL but not actually being available at runtime. Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* gl-renderer: move all EGL_PLATFORM_* defines hereJonny Lamb2015-03-261-0/+12
| | | | Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* gl-renderer: fix build with --disable-eglJonny Lamb2015-03-261-0/+1
| | | | Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* compositor-{drm, x11, wayland}: stop including EGL headers hereJonny Lamb2015-03-261-0/+1
| | | | Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* gl-renderer: use eglCreatePlatformWindowSurfaceEXT to get EGLSurfacesJonny Lamb2015-03-201-1/+2
| | | | | Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* gl-renderer: use eglGetPlatformDisplayEXT to get an EGLDisplayJonny Lamb2015-03-201-1/+5
| | | | | Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* gl-renderer: Remove gl_renderer_interface from gl-renderer.hJohn Kåre Alsaker2014-04-211-1/+0
| | | | | | | | | | | The rationale here is, that this line would create an instance of gl_renderer_interface in every compilation unit that included gl-renderer.h. This is not necessary, and it can actually be harmful by masking the real exported gl_renderer_interface symbol, if you added another compilation unit to gl-renderer.so, causing a runtime failure in loading it. gl-renderer.c already creates the exported symbol.
* gl-renderer: Fix a typo in the output_set_border descriptionJason Ekstrand2014-04-111-2/+2
| | | | Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
* Add support for having different GBM formats for different outputsNeil Roberts2014-03-121-1/+3
| | | | | | | | | | | | | | The gbm-format configuration option can now be specified per-output as well as in the core config section. If it is not specified it will default to the format specified in the core section. The EGL_MESA_configless_context extension is required for this to work. If this extension is available it will create a context without an EGLConfig and then it will potentially use a different EGLConfig for each output. The gl-renderer interface has been changed so that it takes the EGL attributes and visual ID in the create_output function as well as in the create function.
* gl: fix fallback definition of EGL_DEFAULT_DISPLAYPekka Paalanen2013-12-041-1/+1
| | | | | | | | | | | | | | | | Compiling fbdev backend on RaspberryPi caused the following warning: compositor-fbdev.c: In function 'fbdev_compositor_create': compositor-fbdev.c:929:6: warning: passing argument 2 of 'gl_renderer->create' makes integer from pointer without a cast [enabled by default] compositor-fbdev.c:929:6: note: expected 'EGLNativeDisplayType' but argument is of type 'void *' Fix the definition of EGL_DEFAULT_DISPLAY to match the definition in EGL/egl.h (of Mesa). Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* gl-renderer: Remove the renderer-global border supportJason Ekstrand2013-11-071-4/+0
| | | | | | This was only ever used by the wayland backend and is no longer used there. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
* gl-renderer: Add support for per-output multi-texture borders.Jason Ekstrand2013-11-071-0/+39
| | | | | | | | | | | | | | The first advantage of this new API is that it is per-output instead of global to the gl_renderer instance. This means that different windows can have different titles, different button states, etc. The new api also uses four textures (one for each side) instead of one. This allows you to draw real borders with text and buttons in them instead of a simple image that gets streached. Images will be scaled as needed, so the right and left can be one pixel tall if desired. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
* gl-renderer: Build as a loadable moduleAnder Conselvan de Oliveira2013-10-141-66/+27
| | | | | | | | | | | | | | | | | | The time spent loading EGL and GLES libraries from disk can be a considerable hit in some embedded use cases. If Weston is compiled with EGL support, the binary will depend on those libraries, even if a software renderer is in use. This patch splits the GL renderer into a separate loadable module, and moves the dependency on EGL and GLES to it. The backends still need the EGL headers for the native types and EGLint. The function load_module() is renamed to weston_load_module() and exported, so that it can be used by the backends. The gl renderer interface is changed so that there is only one symbol that needs to be dlsym()'d. This symbol contains pointers to all the functions and data necessary to interact with the renderer. As a side effect, this change simplifies gl-renderer.h a great deal.
* fbdev: Fix compilation without EGLKristian Høgsberg2013-10-111-0/+1
| | | | | | | We have to duplicate #defines and typedefs for the EGL types and constants we use in gl-renderer.h so we can compile the fbdev backend without EGL. https://bugs.freedesktop.org/show_bug.cgi?id=70392
* configure.ac: Enable AC_USE_SYSTEM_EXTENSIONSDaniel Stone2013-06-051-4/+3
| | | | | | | | | | | | | | | | | | AC_USE_SYSTEM_EXTENSIONS enables _XOPEN_SOURCE, _GNU_SOURCE and similar macros to expose the largest extent of functionality supported by the underlying system. This is required since these macros are often limiting rather than merely additive, e.g. _XOPEN_SOURCE will actually on some systems hide declarations which are not part of the X/Open spec. Since this goes into config.h rather than the command line, ensure all source is consistently including config.h before anything else, including system libraries. This doesn't need to be guarded by a HAVE_CONFIG_H ifdef, which was only ever a hangover from the X.Org modular transition. Signed-off-by: Daniel Stone <daniel@fooishbar.org> [pq: rebased and converted more files]
* gl-renderer: make EGL typedefs similar to EGL/egl.h when building without ↵Vasily Khoruzhick2013-01-151-4/+4
| | | | | | EGL support Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
* Make EGL/GLESv2 dependencies optionalVasily Khoruzhick2013-01-081-0/+59
| | | | | | | Introduce --disable-egl switch for configure to disable EGL/GLESv2 support. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
* renderer: introduce destroy callbackVasily Khoruzhick2013-01-081-2/+0
| | | | Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
* gl, rpi: consolidate print_egl_error_state()Pekka Paalanen2012-11-271-0/+3
| | | | | | | | | | Rename print_egl_error_state() to gl_renderer_print_egl_error_state() and exports it. Remove the copy of that function from the rpi backend, and call the exported function instead. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* Rename gles2-renderer to gl-renderer.John Kåre Alsaker2012-11-131-9/+9
|
* Move EGL and GL includes to a gles2-renderer header.John Kåre Alsaker2012-11-131-0/+46