{
unsigned nr_samplers:8;
unsigned nr_sampler_views:8;
+ unsigned nr_images:8;
+ struct lp_image_static_state image_state[PIPE_MAX_SHADER_IMAGES];
struct lp_sampler_static_state state[PIPE_MAX_SHADER_SAMPLER_VIEWS];
};
struct lp_cs_variant_list_item variants;
struct lp_tgsi_info info;
+
+ uint32_t req_local_mem;
+
/* For debugging/profiling purposes */
unsigned variant_key_size;
unsigned no;
unsigned variants_created;
unsigned variants_cached;
+
+ int max_global_buffers;
+ struct pipe_resource **global_buffers;
};
struct lp_cs_exec {
unsigned stored_size;
const void *stored_data;
} constants[LP_MAX_TGSI_CONST_BUFFERS];
+
+ /** compute shader buffers */
+ struct {
+ struct pipe_shader_buffer current;
+ } ssbos[LP_MAX_TGSI_SHADER_BUFFERS];
+
+ struct {
+ struct pipe_image_view current;
+ } images[LP_MAX_TGSI_SHADER_IMAGES];
+
+ void *input;
};
struct lp_cs_context *lp_csctx_create(struct pipe_context *pipe);