aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas Stach <[email protected]>2019-08-02 14:53:08 +0200
committerLucas Stach <[email protected]>2019-10-18 19:05:25 +0200
commit5bc3fcf620d428f9413623eee4e14ae753e35b2c (patch)
tree9a9db1f9aece84582c8ab7c2f15f6d63e4bbbbae
parent0bdf5420f1ef7174fc81f57c307cd446bb673fc8 (diff)
etnaviv: check for softpin availability on Halti5 devices
Halti5 uses texture descriptors to control the samplers, and thus needs to know the GPU virtual address for the texture buffers to fill into the descriptor buffer. Without softpin userspace has no control over the GPU VM and also no way to fix up the texture descriptor buffer, so there is no point in creating a screen on a Halti5 device without softpin being available. Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Jonathan Marek <[email protected]>
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_screen.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c
index d9449cd4ec9..7feb0cd6831 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
@@ -897,6 +897,11 @@ etna_screen_create(struct etna_device *dev, struct etna_gpu *gpu,
if (!etna_get_specs(screen))
goto fail;
+ if (screen->specs.halti >= 5 && !etnaviv_device_softpin_capable(dev)) {
+ DBG("halti5 requires softpin");
+ goto fail;
+ }
+
screen->options = (nir_shader_compiler_options) {
.lower_fpow = true,
.lower_sub = true,