diff options
Diffstat (limited to 'src/mesa/state_tracker/st_extensions.c')
-rw-r--r-- | src/mesa/state_tracker/st_extensions.c | 10 |
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 && |