Revert "glcpp: Rewrite line-continuation support to act globally."
[mesa.git] / src / glsl / glsl_types.cpp
index 2aa51f0b3861aa02d0815fd419e174f19c0ce9fa..3940a12a5cdef10a9e1d16a912f439c0c35744fc 100644 (file)
@@ -142,7 +142,7 @@ glsl_type::sampler_index() const
    case GLSL_SAMPLER_DIM_3D:
       return TEXTURE_3D_INDEX;
    case GLSL_SAMPLER_DIM_CUBE:
-      return TEXTURE_CUBE_INDEX;
+      return (t->sampler_array) ? TEXTURE_CUBE_ARRAY_INDEX : TEXTURE_CUBE_INDEX;
    case GLSL_SAMPLER_DIM_RECT:
       return TEXTURE_RECT_INDEX;
    case GLSL_SAMPLER_DIM_BUF:
@@ -255,6 +255,15 @@ glsl_type::generate_OES_EGL_image_external_types(glsl_symbol_table *symtab,
                             warn);
 }
 
+void
+glsl_type::generate_ARB_texture_cube_map_array_types(glsl_symbol_table *symtab,
+                                                    bool warn)
+{
+   add_types_to_symbol_table(symtab, builtin_ARB_texture_cube_map_array_types,
+                            Elements(builtin_ARB_texture_cube_map_array_types),
+                            warn);
+}
+
 void
 _mesa_glsl_initialize_types(struct _mesa_glsl_parse_state *state)
 {
@@ -304,6 +313,11 @@ _mesa_glsl_initialize_types(struct _mesa_glsl_parse_state *state)
       glsl_type::generate_OES_EGL_image_external_types(state->symbols,
                                               state->OES_EGL_image_external_warn);
    }
+
+   if (state->ARB_texture_cube_map_array_enable) {
+      glsl_type::generate_ARB_texture_cube_map_array_types(state->symbols,
+                                      state->ARB_texture_cube_map_array_warn);
+   }
 }