[Mesa-dev] [PATCH v2 14/20] i965/cs: Add max_cs_threads

Jordan Justen jordan.l.justen at intel.com
Fri Apr 24 16:33:06 PDT 2015


Add some values for gen7 & gen8. These are the number threads in a
subslice.

Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Cc: Ben Widawsky <ben at bwidawsk.net>
Cc: Kenneth Graunke <kenneth at whitecape.org>
---
 src/mesa/drivers/dri/i965/brw_context.c     |  1 +
 src/mesa/drivers/dri/i965/brw_context.h     |  1 +
 src/mesa/drivers/dri/i965/brw_device_info.c | 12 +++++++++++-
 src/mesa/drivers/dri/i965/brw_device_info.h |  1 +
 4 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index 25b50c7..7f8d430 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -835,6 +835,7 @@ brwCreateContext(gl_api api,
    brw->max_ds_threads = devinfo->max_ds_threads;
    brw->max_gs_threads = devinfo->max_gs_threads;
    brw->max_wm_threads = devinfo->max_wm_threads;
+   brw->max_cs_threads = devinfo->max_cs_threads;
    brw->urb.size = devinfo->urb.size;
    brw->urb.min_vs_entries = devinfo->urb.min_vs_entries;
    brw->urb.max_vs_entries = devinfo->urb.max_vs_entries;
diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h
index 07847cc..56827d8 100644
--- a/src/mesa/drivers/dri/i965/brw_context.h
+++ b/src/mesa/drivers/dri/i965/brw_context.h
@@ -1228,6 +1228,7 @@ struct brw_context
    int max_ds_threads;
    int max_gs_threads;
    int max_wm_threads;
+   int max_cs_threads;
 
    /* BRW_NEW_URB_ALLOCATIONS:
     */
diff --git a/src/mesa/drivers/dri/i965/brw_device_info.c b/src/mesa/drivers/dri/i965/brw_device_info.c
index 928bf99..7999ba9 100644
--- a/src/mesa/drivers/dri/i965/brw_device_info.c
+++ b/src/mesa/drivers/dri/i965/brw_device_info.c
@@ -117,6 +117,7 @@ static const struct brw_device_info brw_device_info_ivb_gt1 = {
    .max_ds_threads = 36,
    .max_gs_threads = 36,
    .max_wm_threads = 48,
+   .max_cs_threads = 36,
    .urb = {
       .size = 128,
       .min_vs_entries = 32,
@@ -135,6 +136,7 @@ static const struct brw_device_info brw_device_info_ivb_gt2 = {
    .max_ds_threads = 128,
    .max_gs_threads = 128,
    .max_wm_threads = 172,
+   .max_cs_threads = 64, /* Maybe 96? */
    .urb = {
       .size = 256,
       .min_vs_entries = 32,
@@ -154,6 +156,7 @@ static const struct brw_device_info brw_device_info_byt = {
    .max_ds_threads = 36,
    .max_gs_threads = 36,
    .max_wm_threads = 48,
+   .max_cs_threads = 32,
    .urb = {
       .size = 128,
       .min_vs_entries = 32,
@@ -176,6 +179,7 @@ static const struct brw_device_info brw_device_info_hsw_gt1 = {
    .max_ds_threads = 70,
    .max_gs_threads = 70,
    .max_wm_threads = 102,
+   .max_cs_threads = 70,
    .urb = {
       .size = 128,
       .min_vs_entries = 32,
@@ -193,6 +197,7 @@ static const struct brw_device_info brw_device_info_hsw_gt2 = {
    .max_ds_threads = 280,
    .max_gs_threads = 256,
    .max_wm_threads = 204,
+   .max_cs_threads = 70,
    .urb = {
       .size = 256,
       .min_vs_entries = 64,
@@ -210,6 +215,7 @@ static const struct brw_device_info brw_device_info_hsw_gt3 = {
    .max_ds_threads = 280,
    .max_gs_threads = 256,
    .max_wm_threads = 408,
+   .max_cs_threads = 70,
    .urb = {
       .size = 512,
       .min_vs_entries = 64,
@@ -231,10 +237,11 @@ static const struct brw_device_info brw_device_info_hsw_gt3 = {
    .max_hs_threads = 504,                           \
    .max_ds_threads = 504,                           \
    .max_gs_threads = 504,                           \
-   .max_wm_threads = 384                            \
+   .max_wm_threads = 384
 
 static const struct brw_device_info brw_device_info_bdw_gt1 = {
    GEN8_FEATURES, .gt = 1,
+   .max_cs_threads = 42,
    .urb = {
       .size = 192,
       .min_vs_entries = 64,
@@ -247,6 +254,7 @@ static const struct brw_device_info brw_device_info_bdw_gt1 = {
 
 static const struct brw_device_info brw_device_info_bdw_gt2 = {
    GEN8_FEATURES, .gt = 2,
+   .max_cs_threads = 56,
    .urb = {
       .size = 384,
       .min_vs_entries = 64,
@@ -259,6 +267,7 @@ static const struct brw_device_info brw_device_info_bdw_gt2 = {
 
 static const struct brw_device_info brw_device_info_bdw_gt3 = {
    GEN8_FEATURES, .gt = 3,
+   .max_cs_threads = 56,
    .urb = {
       .size = 384,
       .min_vs_entries = 64,
@@ -280,6 +289,7 @@ static const struct brw_device_info brw_device_info_chv = {
    .max_ds_threads = 80,
    .max_gs_threads = 80,
    .max_wm_threads = 128,
+   .max_cs_threads = 28,
    .urb = {
       .size = 192,
       .min_vs_entries = 34,
diff --git a/src/mesa/drivers/dri/i965/brw_device_info.h b/src/mesa/drivers/dri/i965/brw_device_info.h
index b921c2b..65c024c 100644
--- a/src/mesa/drivers/dri/i965/brw_device_info.h
+++ b/src/mesa/drivers/dri/i965/brw_device_info.h
@@ -71,6 +71,7 @@ struct brw_device_info
    unsigned max_ds_threads;
    unsigned max_gs_threads;
    unsigned max_wm_threads;
+   unsigned max_cs_threads;
 
    struct {
       unsigned size;
-- 
2.1.4



More information about the mesa-dev mailing list