Mesa (master): swr: fix crashes caused by incorrectly reporting SSBO support
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Dec 10 15:07:24 UTC 2020
Module: Mesa
Branch: master
Commit: f63c595a73698e96232f6465be01f3449022af9d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f63c595a73698e96232f6465be01f3449022af9d
Author: jzielins <jan.zielinski at intel.com>
Date: Thu Dec 10 12:15:33 2020 +0100
swr: fix crashes caused by incorrectly reporting SSBO support
Reviewed-by: Krzysztof Raszkowski <krzysztof.raszkowski at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8036>
---
src/gallium/drivers/swr/swr_screen.cpp | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/src/gallium/drivers/swr/swr_screen.cpp b/src/gallium/drivers/swr/swr_screen.cpp
index 4a3a1eea7c9..8bc7a207901 100644
--- a/src/gallium/drivers/swr/swr_screen.cpp
+++ b/src/gallium/drivers/swr/swr_screen.cpp
@@ -342,16 +342,17 @@ swr_get_shader_param(struct pipe_screen *screen,
enum pipe_shader_type shader,
enum pipe_shader_cap param)
{
- if (shader == PIPE_SHADER_VERTEX ||
- shader == PIPE_SHADER_FRAGMENT ||
- shader == PIPE_SHADER_GEOMETRY
- || shader == PIPE_SHADER_TESS_CTRL ||
- shader == PIPE_SHADER_TESS_EVAL
- )
- return gallivm_get_shader_param(param);
-
- // Todo: compute
- return 0;
+ if (shader != PIPE_SHADER_VERTEX &&
+ shader != PIPE_SHADER_FRAGMENT &&
+ shader != PIPE_SHADER_GEOMETRY &&
+ shader != PIPE_SHADER_TESS_CTRL &&
+ shader != PIPE_SHADER_TESS_EVAL)
+ return 0;
+
+ if (param == PIPE_SHADER_CAP_MAX_SHADER_BUFFERS)
+ return 0;
+
+ return gallivm_get_shader_param(param);
}
More information about the mesa-commit
mailing list