aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorErik Faye-Lund <[email protected]>2019-07-05 16:21:45 +0200
committerErik Faye-Lund <[email protected]>2019-07-10 15:49:57 +0200
commit21de1bf24ba6d65f1566c3b8b742636587c39697 (patch)
treedc5d76ceedbb1fb3823650bc219f78ac013014af /src/gallium
parent681fa03e8d290ab1ee49de3f2c35f3dbb11636dc (diff)
gallium: give vertex-shader saturate its own cap
Shader Model 3.0 is a big promise to make to the state-tracker, and for instance mobile hardware might support vertex-shader saturate but not some of the other features of SM3. So let's give this its own cap for simplicity. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/auxiliary/util/u_screen.c1
-rw-r--r--src/gallium/docs/source/screen.rst2
-rw-r--r--src/gallium/include/pipe/p_defines.h1
3 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_screen.c b/src/gallium/auxiliary/util/u_screen.c
index 4b57c0c6342..4ee1b4f62af 100644
--- a/src/gallium/auxiliary/util/u_screen.c
+++ b/src/gallium/auxiliary/util/u_screen.c
@@ -372,6 +372,7 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
case PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD:
case PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES:
+ case PIPE_CAP_VERTEX_SHADER_SATURATE:
return pscreen->get_param(pscreen, PIPE_CAP_SM3);
default:
diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst
index 01072581883..1f1728d717a 100644
--- a/src/gallium/docs/source/screen.rst
+++ b/src/gallium/docs/source/screen.rst
@@ -538,6 +538,8 @@ The integer capabilities:
explicit LOD is supported in the fragment shader.
* ``PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES``: True if the driver supports
derivatives in fragment shaders.
+* ``PIPE_CAP_VERTEX_SHADER_SATURATE``: True if the driver supports saturate
+ modifiers in the vertex shader.
.. _pipe_capf:
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index 1ce2d131195..1d589457152 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -890,6 +890,7 @@ enum pipe_cap
PIPE_CAP_TGSI_DIV,
PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD,
PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES,
+ PIPE_CAP_VERTEX_SHADER_SATURATE,
};
/**