aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/mesa/files/0004-hardware-gloat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics/mesa/files/0004-hardware-gloat.patch')
-rw-r--r--meta/recipes-graphics/mesa/files/0004-hardware-gloat.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/meta/recipes-graphics/mesa/files/0004-hardware-gloat.patch b/meta/recipes-graphics/mesa/files/0004-hardware-gloat.patch
new file mode 100644
index 0000000000..f23b9875cd
--- /dev/null
+++ b/meta/recipes-graphics/mesa/files/0004-hardware-gloat.patch
@@ -0,0 +1,52 @@
+From 52468545daa0c2d205312e06304d8fb374e0bbf0 Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
+Date: Sun, 20 Mar 2016 13:27:04 +0100
+Subject: [PATCH 4/7] hardware gloat
+Organization: O.S. Systems Software LTDA.
+
+Upstream-Status: Inappropriate [not author]
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
+---
+ src/gallium/drivers/llvmpipe/lp_screen.c | 7 +++++++
+ src/gallium/drivers/softpipe/sp_screen.c | 7 +++++++
+ 2 files changed, 14 insertions(+)
+
+diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
+index 3f5d0327bf..86808e016b 100644
+--- a/src/gallium/drivers/llvmpipe/lp_screen.c
++++ b/src/gallium/drivers/llvmpipe/lp_screen.c
+@@ -449,6 +449,13 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
+ if (!format_desc)
+ return FALSE;
+
++ if ((bind & PIPE_BIND_RENDER_TARGET) &&
++ format != PIPE_FORMAT_R9G9B9E5_FLOAT &&
++ format != PIPE_FORMAT_R11G11B10_FLOAT &&
++ util_format_is_float(format)) {
++ return FALSE;
++ }
++
+ assert(target == PIPE_BUFFER ||
+ target == PIPE_TEXTURE_1D ||
+ target == PIPE_TEXTURE_1D_ARRAY ||
+diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c
+index 25f6f74f36..61629ef2ff 100644
+--- a/src/gallium/drivers/softpipe/sp_screen.c
++++ b/src/gallium/drivers/softpipe/sp_screen.c
+@@ -397,6 +397,13 @@ softpipe_is_format_supported( struct pipe_screen *screen,
+ if (!format_desc)
+ return FALSE;
+
++ if ((bind & PIPE_BIND_RENDER_TARGET) &&
++ format != PIPE_FORMAT_R9G9B9E5_FLOAT &&
++ format != PIPE_FORMAT_R11G11B10_FLOAT &&
++ util_format_is_float(format)) {
++ return FALSE;
++ }
++
+ if (sample_count > 1)
+ return FALSE;
+
+--
+2.17.1
+