summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Legg <jlegg@feralinteractive.com>2017-03-16 17:48:13 +0000
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2017-03-17 09:12:43 +0100
commite88cac1df03d01a9e8a1de1a4a2ee888149e727a (patch)
tree77615ed3817460ee1542618c627014cafee8e039
parent70d25cae8b9769d155eb8cabf4095f2b36d9265f (diff)
radv: Fix using more than 4 bound descriptor sets
Avoid a buffer overflow in ac_nir_to_llvm.c's create_function when using more than 4 descriptor sets. radv claims support for 8. Cc: 17.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-rw-r--r--src/amd/common/ac_nir_to_llvm.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.h b/src/amd/common/ac_nir_to_llvm.h
index 6c2b78b4e7..bb860e5d19 100644
--- a/src/amd/common/ac_nir_to_llvm.h
+++ b/src/amd/common/ac_nir_to_llvm.h
@@ -27,6 +27,7 @@
#include "llvm-c/Core.h"
#include "llvm-c/TargetMachine.h"
#include "amd_family.h"
+#include "../vulkan/radv_descriptor_set.h"
struct ac_shader_binary;
struct ac_shader_config;
@@ -81,7 +82,8 @@ enum ac_ud_index {
AC_UD_MAX_UD = AC_UD_VS_MAX_UD,
};
-#define AC_UD_MAX_SETS 4
+// Match MAX_SETS from radv_descriptor_set.h
+#define AC_UD_MAX_SETS MAX_SETS
struct ac_userdata_locations {
struct ac_userdata_info descriptor_sets[AC_UD_MAX_SETS];