swr: fix crashes caused by incorrectly reporting SSBO support

Reviewed-by: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8036>
This commit is contained in:
jzielins 2020-12-10 12:15:33 +01:00
parent 5d833f433a
commit f63c595a73

View file

@ -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);
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;
// Todo: compute
return 0;
if (param == PIPE_SHADER_CAP_MAX_SHADER_BUFFERS)
return 0;
return gallivm_get_shader_param(param);
}