summaryrefslogtreecommitdiffstats
path: root/src/gbm/backends
Commit message (Collapse)AuthorAgeFilesLines
* gbm: Rename gbm_bo_get_pitch to gbm_bo_get_strideKristian Høgsberg2012-07-161-2/+2
| | | | | We use pitch for 'pixels per row' and stride for 'bytes per row' pretty consistently in mesa and most other places, so rename the gbm API.
* gbm: Add new gbm_bo_import entry pointKristian Høgsberg2012-07-161-23/+67
| | | | | This generalizes and replaces gbm_bo_create_for_egl_image. gbm_bo_import will create a gbm_bo from either an EGLImage or a struct wl_buffer.
* gbm: Add gbm_bo_write entry pointKristian Høgsberg2012-05-031-0/+18
| | | | | | | | | | | | | | | | This new gbm entry point allows writing data into a gbm bo. The bo has to be created with the GBM_BO_USE_WRITE flag, and it's only required to work for GBM_BO_USE_CURSOR_64X64 bos. The gbm API is designed to be the glue layer between EGL and KMS, but there was never a mechanism initialize a buffer suitable for use with KMS hw cursors. The hw cursor bo is typically not compatible with anything EGL can render to, and thus there's no way to get data into such a bo. gbm_bo_write() fills that gap while staying out of the efficient cpu->gpu pixel transfer business. Reviewed-by: Ander Conselvan de Oliveira <[email protected]>
* gbm: remove unused fields from gbm_dri_surfaceAnder Conselvan de Oliveira2012-04-301-3/+0
|
* gbm: Create hooks for dri2_loader_extension in dri backendAnder Conselvan de Oliveira2012-03-282-2/+66
| | | | | | Pass a dri2_loader extension to the dri driver when gbm creates the dri screen. The implementation jumps through pointers in the gbm device so that an EGL on GBM implementation can provide the real implementations.
* gbm: Add gbm_surface interfaceAnder Conselvan de Oliveira2012-03-282-0/+45
| | | | | | | | | | | | The idea here is to be able to create an egl window surface from a gbm_surface. This avoids the need for the surfaceless extension and lets the EGL platform handle buffer allocation, while keeping the user in charge of somehow presenting the buffers (using kms page flipping, for example). gbm_surface_lock_front_buffer() locks a surface's front buffer and returns a gbm bo representing it. This bo should later be returned to the gbm surface using gbm_surface_release_buffer().
* egl_dri2: make flush extension useable by drm platformAnder Conselvan de Oliveira2012-03-272-0/+2
|
* gbm_dri: Fix DRIimage lookup callbackBenjamin Franzke2012-03-071-2/+2
| | | | | | | | | | | | | | | | | | | That is by making the dri extension variables static in gbm_dri.c. The image_lookup_extension is provided by egl_dri2 when using x11 or wayland platforms, when using the drm platform, gbm_dri has a wrapper for it. Both use the same variables name image_lookup_extension. Since -fvisibility=hidden was (probably by mistake) removed when converting to automake, the "image_lookup_extension" symbol from egl_dri2.c became exported in libEGL.so, so "image_lookup_extension" from gbm_dri.c was ignored. This resulted in calling incorrect callbacks. We cant make the image_lookup_extension static in egl_dri2.c right now, since its used across multiple files. Bugzilla: https://bugs.freedesktop.org/attachment.cgi?id=58099 Reviewed-by: Kristian Høgsberg <[email protected]>
* gbm: track buffer format through DRI driversJesse Barnes2012-02-221-2/+43
| | | | | | | | | | | | GBM needs the buffer format in order to communicate with DRM and clients for things like scanout. So track the DRI format requested in the various back ends and use it to return the DRI format back to GBM when requested. GBM will then map this into the GBM surface type (which is in turn based on the DRM fb format list). Signed-off-by: Jesse Barnes <[email protected]>
* gbm: install libgbm.so into libMatt Turner2012-01-241-1/+1
| | | | This partially reverts commit 90e256853418eaaba3717f930cc6a331e4099056.
* targets/gbm: Fix install pathBenjamin Franzke2012-01-241-2/+2
| | | | | | GBM_BACKEND_INSTALL_DIR was deleted by commit 06ad64ad29e7aa9e2d001f6bd1f8c1c1f77050b8. Since we dont need this configurable, use $(INSTALL_LIB_DIR)/gbm now.
* gbm/Makefile.template: Remove builtin-compile pathBenjamin Franzke2012-01-241-10/+0
| | | | | Builtins are handled by the main gbm Makefile since 06ad64ad29e7aa9e2d001f6bd1f8c1c1f77050b8.
* egl,gbm_gallium: Fix linkage against gbm from automakeBenjamin Franzke2012-01-241-2/+2
| | | | | | Add src/gbm/.libs to ldflags. The gbm lib is src/gbm/.libs/ instead of lib/ as of commit 06ad64ad29e7aa9e2d001f6bd1f8c1c1f77050b8.
* automake: src/gbmMatt Turner2012-01-232-36/+0
| | | | | libgbm.so.1.0.0 (instead of libgbm.so.1.0) is installed now along with libgbm.so.1 (no change).
* gbm: Validate usage flags in gbm_bo_create_from_egl_image()Kristian Høgsberg2012-01-181-0/+11
| | | | | The entry point is supposed to validate that the EGLImage is suitable for the passed in usage flags, but that was never implemented.
* gbm/dri: avoid crash in dri_screen_createRALOVICH, Kristóf2011-08-041-0/+2
|
* targets/gbm: build pipe driversChia-I Wu2011-06-241-5/+5
| | | | | | | Build pipe drivers here instead of using those built by the soon-to-be-removed targets/egl. [with an update by Benjamin Franzke to use --{start|end}-group]
* gbm: Add dri backendBenjamin Franzke2011-06-234-0/+567
|
* Add gbm (generic/graphics buffer manager)Benjamin Franzke2011-06-232-0/+79