/* 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 */
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;