Mesa (master): nir/info: Add compute shader local size to nir_shader_info

Jason Ekstrand jekstrand at kemper.freedesktop.org
Mon Oct 19 17:18:41 UTC 2015


Module: Mesa
Branch: master
Commit: 4889c73dd1ed0af7920b950f6810361a6eeabcc2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4889c73dd1ed0af7920b950f6810361a6eeabcc2

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Oct  8 15:02:25 2015 -0700

nir/info: Add compute shader local size to nir_shader_info

Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

---

 src/glsl/nir/glsl_to_nir.cpp |    8 ++++++++
 src/glsl/nir/nir.h           |    4 ++++
 2 files changed, 12 insertions(+)

diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index 95b2312..d230ad4 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+++ b/src/glsl/nir/glsl_to_nir.cpp
@@ -173,6 +173,14 @@ glsl_to_nir(const struct gl_shader_program *shader_prog,
       shader->info.gs.invocations = sh->Geom.Invocations;
       break;
 
+   case MESA_SHADER_COMPUTE: {
+      struct gl_compute_program *cp = (struct gl_compute_program *)sh->Program;
+      shader->info.cs.local_size[0] = cp->LocalSize[0];
+      shader->info.cs.local_size[1] = cp->LocalSize[1];
+      shader->info.cs.local_size[2] = cp->LocalSize[2];
+      break;
+   }
+
    default:
       break; /* No stage-specific info */
    }
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h
index 719e6ce..32259e7 100644
--- a/src/glsl/nir/nir.h
+++ b/src/glsl/nir/nir.h
@@ -1501,6 +1501,10 @@ typedef struct nir_shader_info {
          /** 1 .. MAX_GEOMETRY_SHADER_INVOCATIONS */
          unsigned invocations;
       } gs;
+
+      struct {
+         unsigned local_size[3];
+      } cs;
    };
 } nir_shader_info;
 




More information about the mesa-commit mailing list