[Mesa-dev] [PATCH] dri: use 'bool' instead 'int' for boolean variables
Rob Clark
robdclark at gmail.com
Mon Aug 8 17:20:33 UTC 2016
how strict are we on that actually? I think whenever we add new gl
entry points (ie. implementing new extension, etc) we kinda sorta
break ABI, don't we? I thought mixing/matching libGL vs *_dri.so was
at least not recommended..
BR,
-R
On Mon, Aug 8, 2016 at 12:22 PM, Ian Romanick <idr at freedesktop.org> wrote:
> I'm pretty sure this breaks ABI. Did you try using an unpatched libGL
> with a patched *_dri.so (and vice-versa)?
>
> On 08/01/2016 06:21 AM, Jan Ziak wrote:
>> Signed-off-by: Jan Ziak (http://atom-symbol.net) <0xe2.0x9a.0x9b at gmail.com>
>> ---
>> src/egl/drivers/dri2/egl_dri2.h | 19 ++++++++++---------
>> src/gallium/auxiliary/vl/vl_winsys_dri3.c | 3 ++-
>> src/glx/dri3_priv.h | 5 +++--
>> src/loader/loader.c | 7 ++++---
>> src/loader/loader.h | 4 +++-
>> 5 files changed, 22 insertions(+), 16 deletions(-)
>>
>> diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
>> index 4577875..e406443 100644
>> --- a/src/egl/drivers/dri2/egl_dri2.h
>> +++ b/src/egl/drivers/dri2/egl_dri2.h
>> @@ -28,6 +28,7 @@
>> #ifndef EGL_DRI2_INCLUDED
>> #define EGL_DRI2_INCLUDED
>>
>> +#include <stdbool.h>
>> #include <stdint.h>
>>
>> #ifdef HAVE_X11_PLATFORM
>> @@ -160,7 +161,7 @@ struct dri2_egl_display
>> int dri2_major;
>> int dri2_minor;
>> __DRIscreen *dri_screen;
>> - int own_dri_screen;
>> + bool own_dri_screen;
>> const __DRIconfig **driver_configs;
>> void *driver;
>> const __DRIcoreExtension *core;
>> @@ -181,8 +182,8 @@ struct dri2_egl_display
>> * dri2_make_current (tracks if there are active contexts/surfaces). */
>> int ref_count;
>>
>> - int own_device;
>> - int invalidate_available;
>> + bool own_device;
>> + bool invalidate_available;
>> int min_swap_interval;
>> int max_swap_interval;
>> int default_swap_interval;
>> @@ -201,7 +202,7 @@ struct dri2_egl_display
>> #ifdef HAVE_X11_PLATFORM
>> xcb_connection_t *conn;
>> int screen;
>> - int swap_available;
>> + bool swap_available;
>> #ifdef HAVE_DRI3
>> struct loader_dri3_extensions loader_dri3_ext;
>> #endif
>> @@ -214,13 +215,13 @@ struct dri2_egl_display
>> struct wl_drm *wl_drm;
>> struct wl_shm *wl_shm;
>> struct wl_event_queue *wl_queue;
>> - int authenticated;
>> + bool authenticated;
>> int formats;
>> uint32_t capabilities;
>> #endif
>>
>> - int is_render_node;
>> - int is_different_gpu;
>> + bool is_render_node;
>> + bool is_different_gpu;
>> };
>>
>> struct dri2_egl_context
>> @@ -244,7 +245,7 @@ struct dri2_egl_surface
>> __DRIdrawable *dri_drawable;
>> __DRIbuffer buffers[5];
>> int buffer_count;
>> - int have_fake_front;
>> + bool have_fake_front;
>>
>> #ifdef HAVE_X11_PLATFORM
>> xcb_drawable_t drawable;
>> @@ -282,7 +283,7 @@ struct dri2_egl_surface
>> #ifdef HAVE_DRM_PLATFORM
>> struct gbm_bo *bo;
>> #endif
>> - int locked;
>> + bool locked;
>> int age;
>> } color_buffers[4], *back, *current;
>> #endif
>> diff --git a/src/gallium/auxiliary/vl/vl_winsys_dri3.c b/src/gallium/auxiliary/vl/vl_winsys_dri3.c
>> index 493e645..7cb6c18 100644
>> --- a/src/gallium/auxiliary/vl/vl_winsys_dri3.c
>> +++ b/src/gallium/auxiliary/vl/vl_winsys_dri3.c
>> @@ -25,6 +25,7 @@
>> *
>> **************************************************************************/
>>
>> +#include <stdbool.h>
>> #include <fcntl.h>
>>
>> #include <X11/Xlib-xcb.h>
>> @@ -627,7 +628,7 @@ vl_dri3_screen_create(Display *display, int screen)
>> xcb_dri3_open_reply_t *open_reply;
>> xcb_get_geometry_cookie_t geom_cookie;
>> xcb_get_geometry_reply_t *geom_reply;
>> - int is_different_gpu;
>> + bool is_different_gpu;
>> int fd;
>>
>> assert(display);
>> diff --git a/src/glx/dri3_priv.h b/src/glx/dri3_priv.h
>> index 0822377..bfb0786 100644
>> --- a/src/glx/dri3_priv.h
>> +++ b/src/glx/dri3_priv.h
>> @@ -54,6 +54,7 @@
>> * Kristian Høgsberg (krh at redhat.com)
>> */
>>
>> +#include <stdbool.h>
>> #include <xcb/xcb.h>
>> #include <xcb/dri3.h>
>> #include <xcb/present.h>
>> @@ -78,7 +79,7 @@ struct dri3_display
>> int dri3Minor;
>>
>> /* Present bits */
>> - int hasPresent;
>> + bool hasPresent;
>> int presentMajor;
>> int presentMinor;
>> };
>> @@ -101,7 +102,7 @@ struct dri3_screen {
>>
>> void *driver;
>> int fd;
>> - int is_different_gpu;
>> + bool is_different_gpu;
>>
>> int show_fps_interval;
>>
>> diff --git a/src/loader/loader.c b/src/loader/loader.c
>> index 56ffc5d..a3b75c7 100644
>> --- a/src/loader/loader.c
>> +++ b/src/loader/loader.c
>> @@ -356,7 +356,7 @@ DRI_CONF_BEGIN
>> DRI_CONF_END;
>> #endif
>>
>> -int loader_get_user_preferred_fd(int default_fd, int *different_device)
>> +int loader_get_user_preferred_fd(int default_fd, bool *different_device)
>> {
>> struct udev *udev;
>> #ifdef USE_DRICONF
>> @@ -365,7 +365,8 @@ int loader_get_user_preferred_fd(int default_fd, int *different_device)
>> #endif
>> const char *dri_prime = getenv("DRI_PRIME");
>> char *prime = NULL;
>> - int is_different_device = 0, fd = default_fd;
>> + bool is_different_device = 0;
>> + int fd = default_fd;
>> char *default_device_id_path_tag;
>> char *device_name = NULL;
>> char another_tag = 0;
>> @@ -441,7 +442,7 @@ int loader_get_user_preferred_fd(int default_fd, int *different_device)
>> return fd;
>> }
>> #else
>> -int loader_get_user_preferred_fd(int default_fd, int *different_device)
>> +int loader_get_user_preferred_fd(int default_fd, bool *different_device)
>> {
>> *different_device = 0;
>> return default_fd;
>> diff --git a/src/loader/loader.h b/src/loader/loader.h
>> index 055dc78..cead7a3 100644
>> --- a/src/loader/loader.h
>> +++ b/src/loader/loader.h
>> @@ -27,6 +27,8 @@
>> #ifndef LOADER_H
>> #define LOADER_H
>>
>> +#include <stdbool.h>
>> +
>> #ifdef __cplusplus
>> extern "C" {
>> #endif
>> @@ -54,7 +56,7 @@ loader_get_device_name_for_fd(int fd);
>> */
>>
>> int
>> -loader_get_user_preferred_fd(int default_fd, int *different_device);
>> +loader_get_user_preferred_fd(int default_fd, bool *different_device);
>>
>> /* for logging.. keep this aligned with egllog.h so we can just use
>> * _eglLog directly.
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list