radv: clear push_constant_stages when resetting a command buffer
[mesa.git] / src / compiler / shader_info.h
index 768f0531bc7865c8b7533bc27676fe70c642e7ac..38413940d678af17359ffe9a2af66c2f0e7f9271 100644 (file)
@@ -37,6 +37,9 @@ typedef struct shader_info {
    /* Descriptive name provided by the client; may be NULL */
    const char *label;
 
+   /** The shader stage, such as MESA_SHADER_VERTEX. */
+   gl_shader_stage stage;
+
    /* Number of textures used by this shader */
    unsigned num_textures;
    /* Number of uniform buffers used by this shader */
@@ -131,23 +134,25 @@ typedef struct shader_info {
       struct {
          unsigned local_size[3];
 
+         bool local_size_variable;
+
          /**
           * Size of shared variables accessed by the compute shader.
           */
          unsigned shared_size;
       } cs;
 
+      /* Applies to both TCS and TES. */
       struct {
          /** The number of vertices in the TCS output patch. */
-         unsigned vertices_out;
-      } tcs;
+         unsigned tcs_vertices_out;
 
-      struct {
          uint32_t primitive_mode; /* GL_TRIANGLES, GL_QUADS or GL_ISOLINES */
-         uint32_t spacing;        /* GL_EQUAL, GL_FRACTIONAL_EVEN, GL_FRACTIONAL_ODD */
-         uint32_t vertex_order;   /* GL_CW or GL_CCW */
+         enum gl_tess_spacing spacing;
+         /** Is the vertex order counterclockwise? */
+         bool ccw;
          bool point_mode;
-      } tes;
+      } tess;
    };
 } shader_info;