From 9db20748fd1af930920424a95321ee11b6eae16e Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Thu, 14 Nov 2019 14:12:30 -0800 Subject: [PATCH] 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 Reviewed-by: Kenneth Graunke Part-of: --- src/gallium/auxiliary/util/u_screen.c | 3 +++ src/gallium/docs/source/screen.rst | 1 + src/gallium/include/pipe/p_defines.h | 1 + 3 files changed, 5 insertions(+) diff --git a/src/gallium/auxiliary/util/u_screen.c b/src/gallium/auxiliary/util/u_screen.c index 70eb4a2..5a7790b 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 7e69642..a0149cf 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 76afb5a..3599b77 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, }; /** -- 2.7.4