On 04/18/2017 02:02 PM, Ilia Mirkin wrote: > On Tue, Apr 18, 2017 at 12:00 AM, Ilia Mirkin <imir...@alum.mit.edu> wrote: >> 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 <imir...@alum.mit.edu> >> Cc: mesa-sta...@lists.freedesktop.org >> --- >> src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 8 ++++---- >> src/gallium/targets/pipe-loader/pipe_i915.c | 2 +- >> src/gallium/targets/pipe-loader/pipe_msm.c | 2 +- >> src/gallium/targets/pipe-loader/pipe_nouveau.c | 2 +- >> src/gallium/targets/pipe-loader/pipe_r300.c | 2 +- >> src/gallium/targets/pipe-loader/pipe_r600.c | 2 +- >> src/gallium/targets/pipe-loader/pipe_radeonsi.c | 2 +- >> 7 files changed, 10 insertions(+), 10 deletions(-) >> >> 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) >> -- >> 2.10.2 >> > > Oops, left out this hunk... will squash it into my local patch: > > 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, > }; > with that LGTM,
Reviewed-by: Edward O'Callaghan <funfunc...@folklore1984.net> > static const struct drm_conf_ret *drm_configuration(enum drm_conf conf) > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev