* supports the feature.
*
* \param required_glsl_es_version is the GLSL ES version that is required
- * to support the feature, or 0 if no version of GLSL ES suports the
+ * to support the feature, or 0 if no version of GLSL ES supports the
* feature.
*/
bool is_version(unsigned required_glsl_version,
return ARB_shader_atomic_counters_enable || is_version(420, 310);
}
+ bool has_enhanced_layouts() const
+ {
+ return ARB_enhanced_layouts_enable || is_version(440, 0);
+ }
+
bool has_explicit_attrib_stream() const
{
return ARB_gpu_shader5_enable || is_version(400, 0);
return ARB_shading_language_420pack_enable || is_version(420, 0);
}
+ bool has_420pack_or_es31() const
+ {
+ return ARB_shading_language_420pack_enable || is_version(420, 310);
+ }
+
bool has_compute_shader() const
{
return ARB_compute_shader_enable || is_version(430, 310);
/* ARB_draw_buffers */
unsigned MaxDrawBuffers;
+ /* ARB_blend_func_extended */
+ unsigned MaxDualSourceDrawBuffers;
+
/* 3.00 ES */
int MinProgramTexelOffset;
int MaxProgramTexelOffset;
bool ARB_draw_buffers_warn;
bool ARB_draw_instanced_enable;
bool ARB_draw_instanced_warn;
+ bool ARB_enhanced_layouts_enable;
+ bool ARB_enhanced_layouts_warn;
bool ARB_explicit_attrib_location_enable;
bool ARB_explicit_attrib_location_warn;
bool ARB_explicit_uniform_location_enable;
bool ARB_shader_bit_encoding_warn;
bool ARB_shader_clock_enable;
bool ARB_shader_clock_warn;
+ bool ARB_shader_draw_parameters_enable;
+ bool ARB_shader_draw_parameters_warn;
bool ARB_shader_image_load_store_enable;
bool ARB_shader_image_load_store_warn;
bool ARB_shader_image_size_enable;
bool AMD_vertex_shader_layer_warn;
bool AMD_vertex_shader_viewport_index_enable;
bool AMD_vertex_shader_viewport_index_warn;
+ bool EXT_blend_func_extended_enable;
+ bool EXT_blend_func_extended_warn;
bool EXT_draw_buffers_enable;
bool EXT_draw_buffers_warn;
bool EXT_separate_shader_objects_enable;
bool EXT_separate_shader_objects_warn;
bool EXT_shader_integer_mix_enable;
bool EXT_shader_integer_mix_warn;
+ bool EXT_shader_samples_identical_enable;
+ bool EXT_shader_samples_identical_warn;
bool EXT_texture_array_enable;
bool EXT_texture_array_warn;
/*@}*/
extern "C" {
#endif
-/**
- * Get the textual name of the specified shader stage (which is a
- * gl_shader_stage).
- */
-extern const char *
-_mesa_shader_stage_to_string(unsigned stage);
-
-extern const char *
-_mesa_shader_stage_to_abbrev(unsigned stage);
-
extern int glcpp_preprocess(void *ctx, const char **shader, char **info_log,
const struct gl_extensions *extensions, struct gl_context *gl_ctx);