summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/freedreno_util.h
diff options
context:
space:
mode:
authorRob Clark <robclark@freedesktop.org>2015-08-11 16:47:16 -0400
committerRob Clark <robclark@freedesktop.org>2015-08-12 18:37:43 -0400
commit500025a23784877c8a61d8b3c7a8eab6fddf242a (patch)
tree06d610c3c384587632687c8a7e1ffc1683394a5a /src/gallium/drivers/freedreno/freedreno_util.h
parentfb07c49f4883b12cef37748271d99e2fcf217a72 (diff)
downloadexternal_mesa3d-500025a23784877c8a61d8b3c7a8eab6fddf242a.zip
external_mesa3d-500025a23784877c8a61d8b3c7a8eab6fddf242a.tar.gz
external_mesa3d-500025a23784877c8a61d8b3c7a8eab6fddf242a.tar.bz2
freedreno/a3xx+a4xx: add texture buffer object support
Basic texture buffer support. Should be straightforward to add first/ last_element support. And with a bit of work in ir3 emulate larger texture buffer sizes. But this seems to be enough for stk gl31 render paths. Signed-off-by: Rob Clark <robclark@freedesktop.org>
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_util.h')
-rw-r--r--src/gallium/drivers/freedreno/freedreno_util.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_util.h b/src/gallium/drivers/freedreno/freedreno_util.h
index d6a08b5..7129a1b 100644
--- a/src/gallium/drivers/freedreno/freedreno_util.h
+++ b/src/gallium/drivers/freedreno/freedreno_util.h
@@ -140,6 +140,22 @@ fd_surface_half_precision(const struct pipe_surface *psurf)
return true;
}
+static inline unsigned
+fd_sampler_first_level(const struct pipe_sampler_view *view)
+{
+ if (view->target == PIPE_BUFFER)
+ return 0;
+ return view->u.tex.first_level;
+}
+
+static inline unsigned
+fd_sampler_last_level(const struct pipe_sampler_view *view)
+{
+ if (view->target == PIPE_BUFFER)
+ return 0;
+ return view->u.tex.last_level;
+}
+
static inline bool
fd_half_precision(struct pipe_framebuffer_state *pfb)
{