aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2017-04-18 00:00:40 -0400
committerEmil Velikov <emil.l.velikov@gmail.com>2017-04-29 14:32:20 +0100
commit6af14778a3f68030c4ad6426c75fe25d726235d5 (patch)
tree9f694af9da634e1ac838209e8e9f15b75b895cb0
parente5c24adc22ab2aaa6a1969799a5fb3d21dd1493c (diff)
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 <imirkin@alum.mit.edu> Cc: mesa-stable@lists.freedesktop.org [Emil Velikov: squash the vmwgfx hunk] Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
-rw-r--r--src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c8
-rw-r--r--src/gallium/targets/pipe-loader/pipe_i915.c2
-rw-r--r--src/gallium/targets/pipe-loader/pipe_msm.c2
-rw-r--r--src/gallium/targets/pipe-loader/pipe_nouveau.c2
-rw-r--r--src/gallium/targets/pipe-loader/pipe_r300.c2
-rw-r--r--src/gallium/targets/pipe-loader/pipe_r600.c2
-rw-r--r--src/gallium/targets/pipe-loader/pipe_radeonsi.c2
-rw-r--r--src/gallium/targets/pipe-loader/pipe_vmwgfx.c2
8 files changed, 11 insertions, 11 deletions
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)