glsl: add transform feedback built-in constants
These are new built-ins added by ARB_enhanced_layouts. Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -812,6 +812,13 @@ builtin_variable_generator::generate_constants()
|
||||
*/
|
||||
}
|
||||
|
||||
if (state->has_enhanced_layouts()) {
|
||||
add_const("gl_MaxTransformFeedbackBuffers",
|
||||
state->Const.MaxTransformFeedbackBuffers);
|
||||
add_const("gl_MaxTransformFeedbackInterleavedComponents",
|
||||
state->Const.MaxTransformFeedbackInterleavedComponents);
|
||||
}
|
||||
|
||||
if (state->is_version(420, 310) ||
|
||||
state->ARB_shader_image_load_store_enable) {
|
||||
add_const("gl_MaxImageUnits",
|
||||
|
@@ -138,6 +138,10 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx,
|
||||
this->Const.MaxAtomicCounterBufferSize =
|
||||
ctx->Const.MaxAtomicBufferSize;
|
||||
|
||||
/* ARB_enhanced_layouts constants */
|
||||
this->Const.MaxTransformFeedbackBuffers = ctx->Const.MaxTransformFeedbackBuffers;
|
||||
this->Const.MaxTransformFeedbackInterleavedComponents = ctx->Const.MaxTransformFeedbackInterleavedComponents;
|
||||
|
||||
/* Compute shader constants */
|
||||
for (unsigned i = 0; i < ARRAY_SIZE(this->Const.MaxComputeWorkGroupCount); i++)
|
||||
this->Const.MaxComputeWorkGroupCount[i] = ctx->Const.MaxComputeWorkGroupCount[i];
|
||||
|
@@ -383,6 +383,10 @@ struct _mesa_glsl_parse_state {
|
||||
/* ARB_draw_buffers */
|
||||
unsigned MaxDrawBuffers;
|
||||
|
||||
/* ARB_enhanced_layouts */
|
||||
unsigned MaxTransformFeedbackBuffers;
|
||||
unsigned MaxTransformFeedbackInterleavedComponents;
|
||||
|
||||
/* ARB_blend_func_extended */
|
||||
unsigned MaxDualSourceDrawBuffers;
|
||||
|
||||
|
Reference in New Issue
Block a user