summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2018-08-06 08:32:23 -0400
committerMarek Olšák <marek.olsak@amd.com>2018-08-23 16:56:17 -0400
commit45f87a48f94148b484961f18a4f1ccf86f066b1c (patch)
treeeb868d35291924899140df37386b6d0f0193393d
parent095515e16ca3cb2c9f1813b6602ee57ae28325a8 (diff)
mesa: don't include compute resources in MAX_COMBINED_* limits
5 is the maximum number of shader stages that can be used by 1 execution call at the same time (e.g. a draw call). The limit ensures that each stage can use all of its binding points. Compute is separate and doesn't need the 5x multiplier. Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
-rw-r--r--src/mesa/main/config.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h
index 6f514650009..19bc6b2457e 100644
--- a/src/mesa/main/config.h
+++ b/src/mesa/main/config.h
@@ -173,17 +173,19 @@
#define MAX_UNIFORMS 4096
#define MAX_UNIFORM_BUFFERS 15 /* + 1 default uniform buffer */
#define MAX_SHADER_STORAGE_BUFFERS 16
-/* 6 is for vertex, hull, domain, geometry, fragment, and compute shader. */
-#define MAX_COMBINED_UNIFORM_BUFFERS (MAX_UNIFORM_BUFFERS * 6)
-#define MAX_COMBINED_SHADER_STORAGE_BUFFERS (MAX_SHADER_STORAGE_BUFFERS * 6)
+/* 5 is for vertex, hull, domain, geometry, and fragment shader. Don't
+ * include compute.
+ */
+#define MAX_COMBINED_UNIFORM_BUFFERS (MAX_UNIFORM_BUFFERS * 5)
+#define MAX_COMBINED_SHADER_STORAGE_BUFFERS (MAX_SHADER_STORAGE_BUFFERS * 5)
#define MAX_ATOMIC_COUNTERS 4096
-/* 6 is for vertex, hull, domain, geometry, fragment, and compute shader. */
-#define MAX_COMBINED_ATOMIC_BUFFERS (MAX_UNIFORM_BUFFERS * 6)
+/* 5 is for vertex, hull, domain, geometry, and fragment shader. */
+#define MAX_COMBINED_ATOMIC_BUFFERS (MAX_UNIFORM_BUFFERS * 5)
/* Size of an atomic counter in bytes according to ARB_shader_atomic_counters */
#define ATOMIC_COUNTER_SIZE 4
#define MAX_IMAGE_UNIFORMS 32
-/* 6 is for vertex, hull, domain, geometry, fragment, and compute shader. */
-#define MAX_IMAGE_UNITS (MAX_IMAGE_UNIFORMS * 6)
+/* 5 is for vertex, hull, domain, geometry, and fragment shader. */
+#define MAX_IMAGE_UNITS (MAX_IMAGE_UNIFORMS * 5)
/*@}*/
/**
@@ -222,8 +224,10 @@
/** For GL_ARB_vertex_shader */
/*@{*/
#define MAX_VERTEX_GENERIC_ATTRIBS 16
-/* 6 is for vertex, hull, domain, geometry, fragment, and compute shader. */
-#define MAX_COMBINED_TEXTURE_IMAGE_UNITS (MAX_TEXTURE_IMAGE_UNITS * 6)
+/* 5 is the number of shader stages that can be used at the same time.
+ * compute can't be used at the same time as other shaders.
+ */
+#define MAX_COMBINED_TEXTURE_IMAGE_UNITS (MAX_TEXTURE_IMAGE_UNITS * 5)
/*@}*/