summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/freedreno/drm/msm_pipe.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/gallium/drivers/freedreno/drm/msm_pipe.c b/src/gallium/drivers/freedreno/drm/msm_pipe.c
index b7996e5528a..13defc6d917 100644
--- a/src/gallium/drivers/freedreno/drm/msm_pipe.c
+++ b/src/gallium/drivers/freedreno/drm/msm_pipe.c
@@ -26,7 +26,6 @@
#include "util/slab.h"
-#include "freedreno_util.h"
#include "msm_priv.h"
static int query_param(struct fd_pipe *pipe, uint32_t param,
@@ -169,6 +168,16 @@ static uint64_t get_param(struct fd_pipe *pipe, uint32_t param)
return value;
}
+static bool use_softpin(void)
+{
+ static int sp = -1;
+ if (sp < 0) {
+ const char *str = getenv("FD_MESA_DEBUG");
+ sp = str && strstr(str, "softpin");
+ }
+ return sp;
+}
+
struct fd_pipe * msm_pipe_new(struct fd_device *dev,
enum fd_pipe_id id, uint32_t prio)
{
@@ -189,7 +198,7 @@ struct fd_pipe * msm_pipe_new(struct fd_device *dev,
// TODO once kernel changes are in place, this switch will be
// based on kernel version:
- if (fd_mesa_debug & FD_DBG_SOFTPIN) {
+ if (use_softpin()) {
pipe->funcs = &sp_funcs;
} else {
pipe->funcs = &legacy_funcs;