From: Ilia Mirkin Date: Tue, 18 Apr 2017 04:00:40 +0000 (-0400) Subject: gallium/targets: fix bool setting on BE architectures X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6af14778a3f68030c4ad6426c75fe25d726235d5;p=mesa.git gallium/targets: fix bool setting on BE architectures val_bool and val_int are in a union. val_bool gets the first byte, which happens to work on LE when setting via the int, but breaks on BE. By setting the value properly, we are able to use DRI3 on BE architectures. Tested by running glxgears with a NV34 in a G5 PPC. Signed-off-by: Ilia Mirkin Cc: mesa-stable@lists.freedesktop.org [Emil Velikov: squash the vmwgfx hunk] Reviewed-by: Emil Velikov Reviewed-by: Michel Dänzer --- diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c index aba814b9283..a4f5cfc03c0 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c @@ -64,13 +64,13 @@ static const struct pipe_loader_ops pipe_loader_drm_ops; #ifdef GALLIUM_STATIC_TARGETS static const struct drm_conf_ret throttle_ret = { - DRM_CONF_INT, - {2}, + .type = DRM_CONF_INT, + .val.val_int = 2, }; static const struct drm_conf_ret share_fd_ret = { - DRM_CONF_BOOL, - {true}, + .type = DRM_CONF_BOOL, + .val.val_bool = true, }; static inline const struct drm_conf_ret * diff --git a/src/gallium/targets/pipe-loader/pipe_i915.c b/src/gallium/targets/pipe-loader/pipe_i915.c index 3af8fe37475..2183dc3c147 100644 --- a/src/gallium/targets/pipe-loader/pipe_i915.c +++ b/src/gallium/targets/pipe-loader/pipe_i915.c @@ -30,7 +30,7 @@ static const struct drm_conf_ret throttle_ret = { static const struct drm_conf_ret share_fd_ret = { .type = DRM_CONF_BOOL, - .val.val_int = true, + .val.val_bool = true, }; static const struct drm_conf_ret *drm_configuration(enum drm_conf conf) diff --git a/src/gallium/targets/pipe-loader/pipe_msm.c b/src/gallium/targets/pipe-loader/pipe_msm.c index fa098e97735..858b2488b5b 100644 --- a/src/gallium/targets/pipe-loader/pipe_msm.c +++ b/src/gallium/targets/pipe-loader/pipe_msm.c @@ -24,7 +24,7 @@ static const struct drm_conf_ret throttle_ret = { static const struct drm_conf_ret share_fd_ret = { .type = DRM_CONF_BOOL, - .val.val_int = true, + .val.val_bool = true, }; static const struct drm_conf_ret *drm_configuration(enum drm_conf conf) diff --git a/src/gallium/targets/pipe-loader/pipe_nouveau.c b/src/gallium/targets/pipe-loader/pipe_nouveau.c index d8824930b15..d9c0c5d0377 100644 --- a/src/gallium/targets/pipe-loader/pipe_nouveau.c +++ b/src/gallium/targets/pipe-loader/pipe_nouveau.c @@ -24,7 +24,7 @@ static const struct drm_conf_ret throttle_ret = { static const struct drm_conf_ret share_fd_ret = { .type = DRM_CONF_BOOL, - .val.val_int = true, + .val.val_bool = true, }; static const struct drm_conf_ret *drm_configuration(enum drm_conf conf) diff --git a/src/gallium/targets/pipe-loader/pipe_r300.c b/src/gallium/targets/pipe-loader/pipe_r300.c index 0c170853ad2..dd5c0bd1831 100644 --- a/src/gallium/targets/pipe-loader/pipe_r300.c +++ b/src/gallium/targets/pipe-loader/pipe_r300.c @@ -20,7 +20,7 @@ static const struct drm_conf_ret throttle_ret = { static const struct drm_conf_ret share_fd_ret = { .type = DRM_CONF_BOOL, - .val.val_int = true, + .val.val_bool = true, }; static const struct drm_conf_ret *drm_configuration(enum drm_conf conf) diff --git a/src/gallium/targets/pipe-loader/pipe_r600.c b/src/gallium/targets/pipe-loader/pipe_r600.c index dd2652da44f..70760d045ff 100644 --- a/src/gallium/targets/pipe-loader/pipe_r600.c +++ b/src/gallium/targets/pipe-loader/pipe_r600.c @@ -20,7 +20,7 @@ static const struct drm_conf_ret throttle_ret = { static const struct drm_conf_ret share_fd_ret = { .type = DRM_CONF_BOOL, - .val.val_int = true, + .val.val_bool = true, }; static const struct drm_conf_ret *drm_configuration(enum drm_conf conf) diff --git a/src/gallium/targets/pipe-loader/pipe_radeonsi.c b/src/gallium/targets/pipe-loader/pipe_radeonsi.c index 59ea82dc567..01b1d8aedb9 100644 --- a/src/gallium/targets/pipe-loader/pipe_radeonsi.c +++ b/src/gallium/targets/pipe-loader/pipe_radeonsi.c @@ -26,7 +26,7 @@ static const struct drm_conf_ret throttle_ret = { static const struct drm_conf_ret share_fd_ret = { .type = DRM_CONF_BOOL, - .val.val_int = true, + .val.val_bool = true, }; static const struct drm_conf_ret *drm_configuration(enum drm_conf conf) diff --git a/src/gallium/targets/pipe-loader/pipe_vmwgfx.c b/src/gallium/targets/pipe-loader/pipe_vmwgfx.c index 4572327d550..7aa44217f9c 100644 --- a/src/gallium/targets/pipe-loader/pipe_vmwgfx.c +++ b/src/gallium/targets/pipe-loader/pipe_vmwgfx.c @@ -30,7 +30,7 @@ static const struct drm_conf_ret throttle_ret = { static const struct drm_conf_ret share_fd_ret = { .type = DRM_CONF_BOOL, - .val.val_int = true, + .val.val_bool = true, }; static const struct drm_conf_ret *drm_configuration(enum drm_conf conf)