From: Ilia Mirkin Date: Tue, 18 Apr 2017 04:00:40 +0000 (-0400) Subject: gallium/targets: fix bool setting on BE architectures X-Git-Tag: upstream/18.1.0~10296 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6af14778a3f68030c4ad6426c75fe25d726235d5;p=platform%2Fupstream%2Fmesa.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 aba814b..a4f5cfc 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 3af8fe3..2183dc3 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 fa098e9..858b248 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 d882493..d9c0c5d 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 0c17085..dd5c0bd 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 dd2652d..70760d0 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 59ea82d..01b1d8a 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 4572327..7aa4421 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)