summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2019-11-14 14:12:30 -0800
committerMarge Bot <[email protected]>2020-01-23 00:18:57 +0000
commit9db20748fd1af930920424a95321ee11b6eae16e (patch)
treeb21b430d499bc24624f3cd5fb4f7ea4331f946ec
parent4e9079d0c71e42e152a00678bbe2665882849a43 (diff)
gallium: Add a cap bit for OpenCL-style extended integer functions
Iris will eventually enable this. Looking at the header files, it looks like Midgard could also enable it. Basically, any GPU that fully supports OpenCL can. v2: Add default value to u_screen.c. Suggested by Caio. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/767>
-rw-r--r--src/gallium/auxiliary/util/u_screen.c3
-rw-r--r--src/gallium/docs/source/screen.rst1
-rw-r--r--src/gallium/include/pipe/p_defines.h1
3 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_screen.c b/src/gallium/auxiliary/util/u_screen.c
index 70eb4a27d74..5a7790b75de 100644
--- a/src/gallium/auxiliary/util/u_screen.c
+++ b/src/gallium/auxiliary/util/u_screen.c
@@ -404,6 +404,9 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
case PIPE_CAP_MAX_VERTEX_BUFFERS:
return 16;
+ case PIPE_CAP_OPENCL_INTEGER_FUNCTIONS:
+ return 0;
+
default:
unreachable("bad PIPE_CAP_*");
}
diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst
index 7e6964282f5..a0149cf6994 100644
--- a/src/gallium/docs/source/screen.rst
+++ b/src/gallium/docs/source/screen.rst
@@ -565,6 +565,7 @@ The integer capabilities:
* ``PIPE_CAP_TWO_SIDED_COLOR``: Driver supports two-sided coloring.
* ``PIPE_CAP_CLIP_PLANES``: Driver supports user-defined clip-planes.
* ``PIPE_CAP_MAX_VERTEX_BUFFERS``: Number of supported vertex buffers.
+* ``PIPE_CAP_OPENCL_INTEGER_FUNCTIONS``: Driver supports extended OpenCL-style integer functions. This includes averge, saturating additiong, saturating subtraction, absolute difference, count leading zeros, and count trailing zeros.
.. _pipe_capf:
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index 76afb5a311c..3599b771347 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -910,6 +910,7 @@ enum pipe_cap
PIPE_CAP_TWO_SIDED_COLOR,
PIPE_CAP_CLIP_PLANES,
PIPE_CAP_MAX_VERTEX_BUFFERS,
+ PIPE_CAP_OPENCL_INTEGER_FUNCTIONS,
};
/**