From 4889c73dd1ed0af7920b950f6810361a6eeabcc2 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 8 Oct 2015 15:02:25 -0700 Subject: [PATCH] nir/info: Add compute shader local size to nir_shader_info Reviewed-by: Topi Pohjolainen --- 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; -- 2.7.4