summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-02-26 22:47:59 -0800
committerJason Ekstrand <[email protected]>2016-02-29 14:36:24 -0800
commit51b618285d846295ef90fa49364d39eea4843801 (patch)
tree3a206b38f9eac776c161db9ff0271e54ecadf716
parent74b7b59db5d3ce986f92599b14feaaade63f7b12 (diff)
anv/pipeline: Use dynamic checks for max push constants
The GEN_GEN macros aren't available in anv_pipeline since it only gets compiled once for the whold driver.
-rw-r--r--src/intel/vulkan/anv_pipeline.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
index 81d0d9c9bd9..df265842ccc 100644
--- a/src/intel/vulkan/anv_pipeline.c
+++ b/src/intel/vulkan/anv_pipeline.c
@@ -783,13 +783,14 @@ gen7_compute_urb_partition(struct anv_pipeline *pipeline)
unsigned urb_chunks = devinfo->urb.size * 1024 / chunk_size_bytes;
/* Reserve space for push constants */
-#if GEN_GEN >= 8
- unsigned push_constant_kb = 32;
-#elif GEN_IS_HASWELL
- unsigned push_constant_kb = pipeline->device->info.gt == 3 ? 32 : 16;
-#else
- unsigned push_constant_kb = 16;
-#endif
+ unsigned push_constant_kb;
+ if (pipeline->device->info.gen >= 8)
+ push_constant_kb = 32;
+ else if (pipeline->device->info.is_haswell)
+ push_constant_kb = pipeline->device->info.gt == 3 ? 32 : 16;
+ else
+ push_constant_kb = 16;
+
unsigned push_constant_bytes = push_constant_kb * 1024;
unsigned push_constant_chunks =
push_constant_bytes / chunk_size_bytes;