Lines Matching full:extensions
82 struct gl_constants *c, struct gl_extensions *extensions) in st_init_limits() argument
97 extensions->OES_texture_3D = c->Max3DTextureLevels != 0; in st_init_limits()
475 extensions->ARB_uniform_buffer_object = GL_TRUE; in st_init_limits()
525 extensions->ARB_shader_atomic_counters = GL_TRUE; in st_init_limits()
526 extensions->ARB_shader_atomic_counter_ops = GL_TRUE; in st_init_limits()
553 extensions->ARB_shader_storage_buffer_object = GL_TRUE; in st_init_limits()
567 extensions->ARB_shader_image_load_store = GL_TRUE; in st_init_limits()
568 extensions->ARB_shader_image_size = GL_TRUE; in st_init_limits()
652 /* If TRUE, at least one format must be supported for the extensions to be
658 * Enable extensions if certain pipe formats are supported by the driver.
659 * What extensions will be enabled and what formats must be supported is
666 struct gl_extensions *extensions, in init_format_extensions() argument
672 GLboolean *extension_table = (GLboolean *) extensions; in init_format_extensions()
694 /* Enable all extensions in the list. */ in init_format_extensions()
748 * which GL extensions are supported.
749 * Quite a few extensions are always supported because they are standard
755 struct gl_extensions *extensions, in st_init_extensions() argument
760 GLboolean *extension_table = (GLboolean *) extensions; in st_init_extensions()
1094 /* Expose the extensions which directly correspond to gallium caps. */ in st_init_extensions()
1102 if (extensions->EXT_texture_filter_minmax) in st_init_extensions()
1103 extensions->ARB_texture_filter_minmax = GL_TRUE; in st_init_extensions()
1105 /* Expose the extensions which directly correspond to gallium formats. */ in st_init_extensions()
1106 init_format_extensions(screen, extensions, rendertarget_mapping, in st_init_extensions()
1109 init_format_extensions(screen, extensions, rt_blendable, in st_init_extensions()
1113 init_format_extensions(screen, extensions, depthstencil_mapping, in st_init_extensions()
1116 init_format_extensions(screen, extensions, texture_mapping, in st_init_extensions()
1119 init_format_extensions(screen, extensions, vertex_mapping, in st_init_extensions()
1170 extensions->ARB_gpu_shader5 = GL_TRUE; in st_init_extensions()
1173 extensions->ARB_gpu_shader5 = GL_TRUE; in st_init_extensions()
1175 extensions->ARB_shader_precision = GL_TRUE; in st_init_extensions()
1181 extensions->AMD_vertex_shader_layer = GL_TRUE; in st_init_extensions()
1190 extensions->EXT_gpu_shader4 = GL_TRUE; in st_init_extensions()
1191 extensions->EXT_texture_buffer_object = GL_TRUE; in st_init_extensions()
1195 extensions->ARB_enhanced_layouts = GL_TRUE; in st_init_extensions()
1211 /* Extensions that either depend on GLSL 1.30 or are a subset thereof. */ in st_init_extensions()
1212 extensions->ARB_conservative_depth = GL_TRUE; in st_init_extensions()
1213 extensions->ARB_shading_language_packing = GL_TRUE; in st_init_extensions()
1214 extensions->OES_depth_texture_cube_map = GL_TRUE; in st_init_extensions()
1215 extensions->ARB_shading_language_420pack = GL_TRUE; in st_init_extensions()
1216 extensions->ARB_texture_query_levels = GL_TRUE; in st_init_extensions()
1218 extensions->ARB_shader_bit_encoding = GL_TRUE; in st_init_extensions()
1220 extensions->EXT_shader_integer_mix = GL_TRUE; in st_init_extensions()
1221 extensions->ARB_arrays_of_arrays = GL_TRUE; in st_init_extensions()
1222 extensions->MESA_shader_integer_functions = GL_TRUE; in st_init_extensions()
1226 extensions->INTEL_shader_integer_functions2 = GL_TRUE; in st_init_extensions()
1236 extensions->EXT_shader_integer_mix = GL_TRUE; in st_init_extensions()
1240 extensions->EXT_texture_integer = GL_FALSE; in st_init_extensions()
1241 extensions->ARB_texture_rgb10_a2ui = GL_FALSE; in st_init_extensions()
1265 extensions->ARB_tessellation_shader = GL_TRUE; in st_init_extensions()
1273 extensions->OES_geometry_shader = GL_TRUE; in st_init_extensions()
1282 extensions->ARB_draw_indirect = GL_TRUE; in st_init_extensions()
1286 * ARB_gpu_shader5. This enables all the per-sample shading ES extensions. in st_init_extensions()
1288 extensions->OES_sample_variables = extensions->ARB_sample_shading && in st_init_extensions()
1289 extensions->ARB_gpu_shader5; in st_init_extensions()
1344 if (extensions->AMD_framebuffer_multisample_advanced) { in st_init_extensions()
1415 extensions->EXT_framebuffer_multisample = GL_TRUE; in st_init_extensions()
1416 extensions->EXT_framebuffer_multisample_blit_scaled = GL_TRUE; in st_init_extensions()
1422 extensions->EXT_framebuffer_multisample = GL_TRUE; in st_init_extensions()
1423 extensions->EXT_framebuffer_multisample_blit_scaled = GL_TRUE; in st_init_extensions()
1424 extensions->ARB_texture_multisample = GL_TRUE; in st_init_extensions()
1429 extensions->ARB_blend_func_extended = GL_TRUE; in st_init_extensions()
1432 extensions->ARB_timer_query) { in st_init_extensions()
1433 extensions->EXT_timer_query = GL_TRUE; in st_init_extensions()
1436 if (extensions->ARB_transform_feedback2 && in st_init_extensions()
1437 extensions->ARB_draw_instanced) { in st_init_extensions()
1438 extensions->ARB_transform_feedback_instanced = GL_TRUE; in st_init_extensions()
1464 extensions->ARB_texture_buffer_object = GL_FALSE; in st_init_extensions()
1466 if (extensions->ARB_texture_buffer_object) { in st_init_extensions()
1473 extensions->ARB_texture_buffer_range = GL_TRUE; in st_init_extensions()
1475 init_format_extensions(screen, extensions, tbo_rgb32, in st_init_extensions()
1480 extensions->OES_texture_buffer = in st_init_extensions()
1482 extensions->ARB_texture_buffer_object && in st_init_extensions()
1483 extensions->ARB_texture_buffer_range && in st_init_extensions()
1484 extensions->ARB_texture_buffer_object_rgb32; in st_init_extensions()
1486 extensions->EXT_framebuffer_sRGB = in st_init_extensions()
1488 extensions->EXT_sRGB; in st_init_extensions()
1500 if (!extensions->EXT_transform_feedback) in st_init_extensions()
1515 extensions->KHR_blend_equation_advanced = true; in st_init_extensions()
1518 extensions->KHR_blend_equation_advanced = true; in st_init_extensions()
1519 extensions->KHR_blend_equation_advanced_coherent = coherent_fb_fetch; in st_init_extensions()
1523 extensions->EXT_shader_framebuffer_fetch_non_coherent = true; in st_init_extensions()
1524 extensions->EXT_shader_framebuffer_fetch = coherent_fb_fetch; in st_init_extensions()
1537 extensions->ARB_viewport_array = GL_TRUE; in st_init_extensions()
1538 extensions->ARB_fragment_layer_viewport = GL_TRUE; in st_init_extensions()
1539 if (extensions->AMD_vertex_shader_layer) in st_init_extensions()
1540 extensions->AMD_vertex_shader_viewport_index = GL_TRUE; in st_init_extensions()
1543 if (extensions->AMD_vertex_shader_layer && in st_init_extensions()
1544 extensions->AMD_vertex_shader_viewport_index && in st_init_extensions()
1546 extensions->ARB_shader_viewport_layer_array = GL_TRUE; in st_init_extensions()
1553 extensions->ARB_framebuffer_no_attachments = GL_TRUE; in st_init_extensions()
1559 extensions->ARB_uniform_buffer_object && in st_init_extensions()
1560 (extensions->NV_primitive_restart || in st_init_extensions()
1583 extensions->ARB_ES3_compatibility = GL_TRUE; in st_init_extensions()
1591 extensions->NV_vdpau_interop = GL_TRUE; in st_init_extensions()
1596 extensions->ARB_gpu_shader_fp64 = GL_TRUE; in st_init_extensions()
1597 extensions->ARB_vertex_attrib_64bit = GL_TRUE; in st_init_extensions()
1602 extensions->GREMEDY_string_marker = GL_TRUE; in st_init_extensions()
1636 extensions->ARB_compute_shader = in st_init_extensions()
1638 extensions->ARB_shader_image_load_store && in st_init_extensions()
1639 extensions->ARB_shader_atomic_counters; in st_init_extensions()
1641 if (extensions->ARB_compute_shader) { in st_init_extensions()
1659 extensions->ARB_compute_variable_group_size = in st_init_extensions()
1665 extensions->ARB_texture_float = in st_init_extensions()
1666 extensions->OES_texture_half_float && in st_init_extensions()
1667 extensions->OES_texture_float; in st_init_extensions()
1669 if (extensions->EXT_texture_filter_anisotropic && in st_init_extensions()
1671 extensions->ARB_texture_filter_anisotropic = GL_TRUE; in st_init_extensions()
1673 extensions->KHR_robustness = extensions->ARB_robust_buffer_access_behavior; in st_init_extensions()
1680 extensions->ARB_ES3_1_compatibility = in st_init_extensions()
1682 extensions->ARB_ES3_compatibility && in st_init_extensions()
1683 extensions->ARB_arrays_of_arrays && in st_init_extensions()
1684 extensions->ARB_compute_shader && in st_init_extensions()
1685 extensions->ARB_draw_indirect && in st_init_extensions()
1686 extensions->ARB_explicit_uniform_location && in st_init_extensions()
1687 extensions->ARB_framebuffer_no_attachments && in st_init_extensions()
1688 extensions->ARB_shader_atomic_counters && in st_init_extensions()
1689 extensions->ARB_shader_image_load_store && in st_init_extensions()
1690 extensions->ARB_shader_image_size && in st_init_extensions()
1691 extensions->ARB_shader_storage_buffer_object && in st_init_extensions()
1692 extensions->ARB_shading_language_packing && in st_init_extensions()
1693 extensions->ARB_stencil_texturing && in st_init_extensions()
1694 extensions->ARB_texture_multisample && in st_init_extensions()
1695 extensions->ARB_gpu_shader5 && in st_init_extensions()
1696 extensions->EXT_shader_integer_mix; in st_init_extensions()
1698 extensions->OES_texture_cube_map_array = in st_init_extensions()
1699 (extensions->ARB_ES3_1_compatibility || ESSLVersion >= 310) && in st_init_extensions()
1700 extensions->OES_geometry_shader && in st_init_extensions()
1701 extensions->ARB_texture_cube_map_array; in st_init_extensions()
1703 extensions->OES_viewport_array = in st_init_extensions()
1704 (extensions->ARB_ES3_1_compatibility || ESSLVersion >= 310) && in st_init_extensions()
1705 extensions->OES_geometry_shader && in st_init_extensions()
1706 extensions->ARB_viewport_array; in st_init_extensions()
1708 extensions->OES_primitive_bounding_box = in st_init_extensions()
1709 extensions->ARB_ES3_1_compatibility || ESSLVersion >= 310; in st_init_extensions()
1713 extensions->ANDROID_extension_pack_es31a = in st_init_extensions()
1715 extensions->KHR_texture_compression_astc_ldr && in st_init_extensions()
1716 extensions->KHR_blend_equation_advanced && in st_init_extensions()
1717 extensions->OES_sample_variables && in st_init_extensions()
1718 extensions->ARB_texture_stencil8 && in st_init_extensions()
1719 extensions->ARB_texture_multisample && in st_init_extensions()
1720 extensions->OES_copy_image && in st_init_extensions()
1721 extensions->ARB_draw_buffers_blend && in st_init_extensions()
1722 extensions->OES_geometry_shader && in st_init_extensions()
1723 extensions->ARB_gpu_shader5 && in st_init_extensions()
1724 extensions->OES_primitive_bounding_box && in st_init_extensions()
1725 extensions->ARB_tessellation_shader && in st_init_extensions()
1726 extensions->OES_texture_buffer && in st_init_extensions()
1727 extensions->OES_texture_cube_map_array && in st_init_extensions()
1728 extensions->EXT_texture_sRGB_decode; in st_init_extensions()
1734 extensions->ARB_ES3_2_compatibility = in st_init_extensions()
1735 extensions->ARB_ES3_1_compatibility && in st_init_extensions()
1736 extensions->KHR_robustness && in st_init_extensions()
1737 extensions->ARB_copy_image && in st_init_extensions()
1738 extensions->ARB_draw_buffers_blend && in st_init_extensions()
1739 extensions->ARB_draw_elements_base_vertex && in st_init_extensions()
1740 extensions->OES_geometry_shader && in st_init_extensions()
1741 extensions->ARB_gpu_shader5 && in st_init_extensions()
1742 extensions->ARB_sample_shading && in st_init_extensions()
1743 extensions->ARB_tessellation_shader && in st_init_extensions()
1744 extensions->OES_texture_buffer && in st_init_extensions()
1745 extensions->ARB_texture_cube_map_array && in st_init_extensions()
1746 extensions->ARB_texture_stencil8 && in st_init_extensions()
1747 extensions->ARB_texture_multisample; in st_init_extensions()
1762 extensions->NV_conservative_raster = in st_init_extensions()
1765 if (extensions->NV_conservative_raster) { in st_init_extensions()
1766 extensions->NV_conservative_raster_dilate = max_dilate >= 0.75; in st_init_extensions()
1767 extensions->NV_conservative_raster_pre_snap_triangles = pre_snap_triangles; in st_init_extensions()
1768 extensions->NV_conservative_raster_pre_snap = in st_init_extensions()
1773 if (extensions->ARB_gl_spirv) { in st_init_extensions()
1776 spirv_caps->atomic_storage = extensions->ARB_shader_atomic_counters; in st_init_extensions()
1777 spirv_caps->demote_to_helper_invocation = extensions->EXT_demote_to_helper_invocation; in st_init_extensions()
1778 spirv_caps->draw_parameters = extensions->ARB_shader_draw_parameters; in st_init_extensions()
1779 spirv_caps->derivative_group = extensions->NV_compute_shader_derivatives; in st_init_extensions()
1780 spirv_caps->float64 = extensions->ARB_gpu_shader_fp64; in st_init_extensions()
1781 spirv_caps->geometry_streams = extensions->ARB_gpu_shader5; in st_init_extensions()
1782 spirv_caps->image_ms_array = extensions->ARB_shader_image_load_store && in st_init_extensions()
1784 spirv_caps->image_read_without_format = extensions->EXT_shader_image_load_formatted; in st_init_extensions()
1785 spirv_caps->image_write_without_format = extensions->ARB_shader_image_load_store; in st_init_extensions()
1786 spirv_caps->int64 = extensions->ARB_gpu_shader_int64; in st_init_extensions()
1787 spirv_caps->int64_atomics = extensions->NV_shader_atomic_int64; in st_init_extensions()
1788 spirv_caps->post_depth_coverage = extensions->ARB_post_depth_coverage; in st_init_extensions()
1789 spirv_caps->shader_clock = extensions->ARB_shader_clock; in st_init_extensions()
1790 spirv_caps->shader_viewport_index_layer = extensions->ARB_shader_viewport_layer_array; in st_init_extensions()
1791 spirv_caps->stencil_export = extensions->ARB_shader_stencil_export; in st_init_extensions()
1792 spirv_caps->storage_image_ms = extensions->ARB_shader_image_load_store && in st_init_extensions()
1794 spirv_caps->subgroup_ballot = extensions->ARB_shader_ballot; in st_init_extensions()
1795 spirv_caps->subgroup_vote = extensions->ARB_shader_group_vote; in st_init_extensions()
1796 spirv_caps->tessellation = extensions->ARB_tessellation_shader; in st_init_extensions()
1797 spirv_caps->transform_feedback = extensions->ARB_transform_feedback3; in st_init_extensions()
1800 spirv_caps->integer_functions2 = extensions->INTEL_shader_integer_functions2; in st_init_extensions()
1819 extensions->ARB_stencil_texturing && in st_init_extensions()
1822 extensions->NV_copy_depth_to_color = TRUE; in st_init_extensions()
1825 extensions->ARB_point_sprite = GL_TRUE; in st_init_extensions()