st/mesa: assume that user constant buffers are always supported
[mesa.git] / src / mesa / state_tracker / st_context.c
index da1cca471bac5597efa0bfb5d5ab95c963ecdf8b..3ba484792662079320f13265aae7bbe8e41d9db1 100644 (file)
@@ -74,6 +74,7 @@
 #include "st_pbo.h"
 #include "st_program.h"
 #include "st_sampler_view.h"
+#include "st_shader_cache.h"
 #include "st_vdpau.h"
 #include "st_texture.h"
 #include "pipe/p_context.h"
@@ -302,7 +303,7 @@ st_init_driver_flags(struct st_context *st)
    /* Shader resources */
    f->NewTextureBuffer = ST_NEW_SAMPLER_VIEWS;
    if (st->has_hw_atomics)
-      f->NewAtomicBuffer = ST_NEW_HW_ATOMICS;
+      f->NewAtomicBuffer = ST_NEW_HW_ATOMICS | ST_NEW_CS_ATOMICS;
    else
       f->NewAtomicBuffer = ST_NEW_ATOMIC_BUFFER;
    f->NewShaderStorageBuffer = ST_NEW_STORAGE_BUFFER;
@@ -371,8 +372,6 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe,
 
    st->dirty = ST_ALL_STATES_MASK;
 
-   st->has_user_constbuf =
-      screen->get_param(screen, PIPE_CAP_USER_CONSTANT_BUFFERS);
    st->can_bind_const_buffer_as_vertex =
       screen->get_param(screen, PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX);
 
@@ -760,4 +759,9 @@ st_init_driver_functions(struct pipe_screen *screen,
    functions->SetBackgroundContext = st_set_background_context;
    functions->GetDriverUuid = st_get_device_uuid;
    functions->GetDeviceUuid = st_get_driver_uuid;
+
+   /* GL_ARB_get_program_binary */
+   functions->GetProgramBinaryDriverSHA1 = st_get_program_binary_driver_sha1;
+   functions->ProgramBinarySerializeDriverBlob = st_serialise_tgsi_program;
+   functions->ProgramBinaryDeserializeDriverBlob = st_deserialise_tgsi_program;
 }