diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2019-07-29 12:03:46 +0200 |
---|---|---|
committer | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2019-07-29 13:19:32 +0200 |
commit | 4aa450193bf5aef5e6c8785ef7ba2fc8e3524dba (patch) | |
tree | e8a7467916f306fa493ecef2a1269a5b8abfbbf8 | |
parent | a9f58af4549b522f64950152c0180228471b8520 (diff) | |
download | mesa-4aa450193bf5aef5e6c8785ef7ba2fc8e3524dba.tar.gz |
ac: do not crash when the buffer data format is invalid
This might happen when a pipeline doesn't define the vertex input
state, so the buffer data format is 0 (aka INVALID).
This fixes crashes when compiling some shaders on GFX10.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-rw-r--r-- | src/amd/common/ac_llvm_build.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index 250bfc5229e..278f8893432 100644 --- a/src/amd/common/ac_llvm_build.c +++ b/src/amd/common/ac_llvm_build.c @@ -1508,6 +1508,7 @@ ac_get_tbuffer_format(struct ac_llvm_context *ctx, unsigned format; switch (dfmt) { default: unreachable("bad dfmt"); + case V_008F0C_BUF_DATA_FORMAT_INVALID: format = V_008F0C_IMG_FORMAT_INVALID; break; case V_008F0C_BUF_DATA_FORMAT_8: format = V_008F0C_IMG_FORMAT_8_UINT; break; case V_008F0C_BUF_DATA_FORMAT_8_8: format = V_008F0C_IMG_FORMAT_8_8_UINT; break; case V_008F0C_BUF_DATA_FORMAT_8_8_8_8: format = V_008F0C_IMG_FORMAT_8_8_8_8_UINT; break; |