nir/spirv: pull out logic for getting builtin locations
[mesa.git] / src / glsl / glsl_parser_extras.h
index 00fcc75ca06452ee9bc85cccda6a59207c4c75d0..9a0c24e67877fbd3dc7557bed920354e2e74da7f 100644 (file)
@@ -192,7 +192,7 @@ struct _mesa_glsl_parse_state {
 
    bool has_atomic_counters() const
    {
-      return ARB_shader_atomic_counters_enable || is_version(420, 0);
+      return ARB_shader_atomic_counters_enable || is_version(420, 310);
    }
 
    bool has_explicit_attrib_stream() const
@@ -353,6 +353,16 @@ struct _mesa_glsl_parse_state {
       unsigned MaxCombinedAtomicCounters;
       unsigned MaxAtomicBufferBindings;
 
+      /* These are also atomic counter related, but they weren't added to
+       * until atomic counters were added to core in GLSL 4.20 and GLSL ES
+       * 3.10.
+       */
+      unsigned MaxVertexAtomicCounterBuffers;
+      unsigned MaxGeometryAtomicCounterBuffers;
+      unsigned MaxFragmentAtomicCounterBuffers;
+      unsigned MaxCombinedAtomicCounterBuffers;
+      unsigned MaxAtomicCounterBufferSize;
+
       /* ARB_compute_shader */
       unsigned MaxComputeWorkGroupCount[3];
       unsigned MaxComputeWorkGroupSize[3];
@@ -472,6 +482,8 @@ struct _mesa_glsl_parse_state {
    bool ARB_texture_rectangle_warn;
    bool ARB_uniform_buffer_object_enable;
    bool ARB_uniform_buffer_object_warn;
+   bool ARB_vertex_attrib_64bit_enable;
+   bool ARB_vertex_attrib_64bit_warn;
    bool ARB_viewport_array_enable;
    bool ARB_viewport_array_warn;