summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_extensions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/state_tracker/st_extensions.c')
-rw-r--r--src/mesa/state_tracker/st_extensions.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index c77378f4b15..a3ade7a8e07 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -583,7 +583,8 @@ void st_init_limits(struct pipe_screen *screen,
c->Program[MESA_SHADER_COMPUTE].MaxImageUniforms;
c->MaxCombinedShaderOutputResources += c->MaxCombinedImageUniforms;
c->MaxImageUnits = MAX_IMAGE_UNITS;
- if (c->Program[MESA_SHADER_FRAGMENT].MaxImageUniforms) {
+ if (c->Program[MESA_SHADER_FRAGMENT].MaxImageUniforms &&
+ screen->get_param(screen, PIPE_CAP_IMAGE_STORE_FORMATTED)) {
extensions->ARB_shader_image_load_store = GL_TRUE;
extensions->ARB_shader_image_size = GL_TRUE;
}
@@ -1484,10 +1485,10 @@ void st_init_extensions(struct pipe_screen *screen,
}
extensions->OES_texture_buffer =
+ consts->Program[MESA_SHADER_COMPUTE].MaxImageUniforms &&
extensions->ARB_texture_buffer_object &&
extensions->ARB_texture_buffer_range &&
- extensions->ARB_texture_buffer_object_rgb32 &&
- extensions->ARB_shader_image_load_store;
+ extensions->ARB_texture_buffer_object_rgb32;
extensions->EXT_framebuffer_sRGB =
screen->get_param(screen, PIPE_CAP_DEST_SURFACE_SRGB_CONTROL) &&
@@ -1683,6 +1684,7 @@ void st_init_extensions(struct pipe_screen *screen,
* these are redunant, but simpler to just have a (near-)exact copy here.
*/
extensions->ARB_ES3_1_compatibility =
+ consts->Program[MESA_SHADER_FRAGMENT].MaxImageUniforms &&
extensions->ARB_ES3_compatibility &&
extensions->ARB_arrays_of_arrays &&
extensions->ARB_compute_shader &&
@@ -1715,10 +1717,10 @@ void st_init_extensions(struct pipe_screen *screen,
consts->NoPrimitiveBoundingBoxOutput = true;
extensions->ANDROID_extension_pack_es31a =
+ consts->Program[MESA_SHADER_FRAGMENT].MaxImageUniforms &&
extensions->KHR_texture_compression_astc_ldr &&
extensions->KHR_blend_equation_advanced &&
extensions->OES_sample_variables &&
- extensions->ARB_shader_image_load_store &&
extensions->ARB_texture_stencil8 &&
extensions->ARB_texture_multisample &&
extensions->OES_copy_image &&