From 9b9fff6830e4f3b46f5ada810f10740f9fab8f84 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Mon, 23 Nov 2015 15:28:55 +0000 Subject: [PATCH] targets: use the non-inline sw helpers Previously (with the inline ones) things were embedded into the pipe-loader, which means that we cannot control/select what we want in each target. That also meant that at runtime we ended up with the empty sw_screen_create() as the GALLIUM_SOFTPIPE/LLVMPIPE were not set. v2: Cover all the targets, not just dri. Cc: "11.1" Cc: Ilia Mirkin Cc: Edward O'Callaghan Signed-off-by: Emil Velikov Tested-by: Oded Gabbay Tested-by: Nick Sarnie (cherry picked from commit 59cfb21d4670559d49a721df766073d9d288b51a) Squashed with commit targets/xvmc: use the non-inline sw helpers This was missed in commit 59cfb21d ("targets: use the non-inline sw helpers"). Fixes build failure: CXXLD libXvMCgallium.la ../../../../src/gallium/auxiliary/pipe-loader/.libs/libpipe_loader_static.a(libpipe_loader_static_la-pipe_loader_sw.o):(.data.rel.ro+0x0): undefined reference to `sw_screen_create' collect2: error: ld returned 1 exit status Makefile:756: recipe for target 'libXvMCgallium.la' failed make[3]: *** [libXvMCgallium.la] Error 1 Trivial. (cherry picked from commit 22d2dda03be32d23bc8e9f5823a4f2469737ddbe) --- src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c | 3 ++- src/gallium/targets/d3dadapter9/drm.c | 1 + src/gallium/targets/dri/target.c | 1 + src/gallium/targets/omx/target.c | 1 + src/gallium/targets/va/target.c | 1 + src/gallium/targets/vdpau/target.c | 1 + src/gallium/targets/xa/target.c | 1 + src/gallium/targets/xvmc/target.c | 1 + 8 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c index 091d4d6997d..02ceb44c4d3 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c @@ -33,9 +33,10 @@ #include "sw/kms-dri/kms_dri_sw_winsys.h" #include "sw/null/null_sw_winsys.h" #include "sw/wrapper/wrapper_sw_winsys.h" -#include "target-helpers/inline_sw_helper.h" +#include "target-helpers/sw_helper_public.h" #include "state_tracker/drisw_api.h" #include "state_tracker/sw_driver.h" +#include "state_tracker/sw_winsys.h" struct pipe_loader_sw_device { struct pipe_loader_device base; diff --git a/src/gallium/targets/d3dadapter9/drm.c b/src/gallium/targets/d3dadapter9/drm.c index ad712db05eb..5cd1ba7815c 100644 --- a/src/gallium/targets/d3dadapter9/drm.c +++ b/src/gallium/targets/d3dadapter9/drm.c @@ -31,6 +31,7 @@ #include "pipe/p_state.h" #include "target-helpers/drm_helper.h" +#include "target-helpers/sw_helper.h" #include "state_tracker/drm_driver.h" #include "d3dadapter/d3dadapter9.h" diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c index d6fbd01b88f..01532e242b8 100644 --- a/src/gallium/targets/dri/target.c +++ b/src/gallium/targets/dri/target.c @@ -1,4 +1,5 @@ #include "target-helpers/drm_helper.h" +#include "target-helpers/sw_helper.h" #include "dri_screen.h" diff --git a/src/gallium/targets/omx/target.c b/src/gallium/targets/omx/target.c index 42b1346d341..308e23bb4a0 100644 --- a/src/gallium/targets/omx/target.c +++ b/src/gallium/targets/omx/target.c @@ -1 +1,2 @@ #include "target-helpers/drm_helper.h" +#include "target-helpers/sw_helper.h" diff --git a/src/gallium/targets/va/target.c b/src/gallium/targets/va/target.c index 42b1346d341..308e23bb4a0 100644 --- a/src/gallium/targets/va/target.c +++ b/src/gallium/targets/va/target.c @@ -1 +1,2 @@ #include "target-helpers/drm_helper.h" +#include "target-helpers/sw_helper.h" diff --git a/src/gallium/targets/vdpau/target.c b/src/gallium/targets/vdpau/target.c index 42b1346d341..308e23bb4a0 100644 --- a/src/gallium/targets/vdpau/target.c +++ b/src/gallium/targets/vdpau/target.c @@ -1 +1,2 @@ #include "target-helpers/drm_helper.h" +#include "target-helpers/sw_helper.h" diff --git a/src/gallium/targets/xa/target.c b/src/gallium/targets/xa/target.c index 42b1346d341..308e23bb4a0 100644 --- a/src/gallium/targets/xa/target.c +++ b/src/gallium/targets/xa/target.c @@ -1 +1,2 @@ #include "target-helpers/drm_helper.h" +#include "target-helpers/sw_helper.h" diff --git a/src/gallium/targets/xvmc/target.c b/src/gallium/targets/xvmc/target.c index 42b1346d341..308e23bb4a0 100644 --- a/src/gallium/targets/xvmc/target.c +++ b/src/gallium/targets/xvmc/target.c @@ -1 +1,2 @@ #include "target-helpers/drm_helper.h" +#include "target-helpers/sw_helper.h"