summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_context.h
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2014-09-20 00:46:35 +0800
committerChia-I Wu <[email protected]>2014-09-20 10:13:53 +0800
commit6c0de4b979520583c1033794380b1c2e6785064e (patch)
treeac8437e1ab0654ad92b39fd152248a2e7ce05db3 /src/gallium/drivers/ilo/ilo_context.h
parent284d767be0589143d5c20fdf1f3b52cadf2663f6 (diff)
ilo: add a new struct for context states
Move pipe states in ilo_context to the new ilo_state_vector. The motivation is that ilo_context consists of several loosely related things. When we need an ilo_context somewhere, we usually need only one or two of the things in it. This change makes ilo_state_vector one such thing. An immediate result is that we no longer need ilo_context in 3D pipelines, something we have planned for since early days.
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_context.h')
-rw-r--r--src/gallium/drivers/ilo/ilo_context.h44
1 files changed, 3 insertions, 41 deletions
diff --git a/src/gallium/drivers/ilo/ilo_context.h b/src/gallium/drivers/ilo/ilo_context.h
index d9607a51052..92c2c6ca718 100644
--- a/src/gallium/drivers/ilo/ilo_context.h
+++ b/src/gallium/drivers/ilo/ilo_context.h
@@ -34,15 +34,14 @@
#include "ilo_common.h"
#include "ilo_state.h"
-struct pipe_draw_info;
struct u_upload_mgr;
+
struct intel_winsys;
-struct intel_bo;
struct ilo_3d;
struct ilo_blitter;
struct ilo_cp;
struct ilo_screen;
-struct ilo_shader_state;
+struct ilo_shader_cache;
struct ilo_context {
struct pipe_context base;
@@ -60,44 +59,7 @@ struct ilo_context {
struct u_upload_mgr *uploader;
- const struct pipe_draw_info *draw;
- uint32_t dirty;
-
- struct ilo_vb_state vb;
- const struct ilo_ve_state *ve;
- struct ilo_ib_state ib;
-
- struct ilo_shader_state *vs;
- struct ilo_shader_state *gs;
-
- struct ilo_so_state so;
-
- struct pipe_clip_state clip;
- struct ilo_viewport_state viewport;
- struct ilo_scissor_state scissor;
-
- const struct ilo_rasterizer_state *rasterizer;
- struct pipe_poly_stipple poly_stipple;
- unsigned sample_mask;
-
- struct ilo_shader_state *fs;
-
- const struct ilo_dsa_state *dsa;
- struct pipe_stencil_ref stencil_ref;
- const struct ilo_blend_state *blend;
- struct pipe_blend_color blend_color;
- struct ilo_fb_state fb;
-
- /* shader resources */
- struct ilo_sampler_state sampler[PIPE_SHADER_TYPES];
- struct ilo_view_state view[PIPE_SHADER_TYPES];
- struct ilo_cbuf_state cbuf[PIPE_SHADER_TYPES];
- struct ilo_resource_state resource;
-
- /* GPGPU */
- struct ilo_shader_state *cs;
- struct ilo_resource_state cs_resource;
- struct ilo_global_binding global_binding;
+ struct ilo_state_vector state_vector;
};
static inline struct ilo_context *