diff options
author | Chia-I Wu <olvaffe@gmail.com> | 2013-05-29 15:43:38 +0800 |
---|---|---|
committer | Chia-I Wu <olvaffe@gmail.com> | 2013-06-07 11:13:15 +0800 |
commit | 4228cf37467688dc4f6a10c8d2c42c6243f789e9 (patch) | |
tree | 9daae59bbb3b813cbae041e3954ed7839596e0e8 /src/gallium/drivers/ilo/ilo_gpe.h | |
parent | 94212915ee8f7bf98c8adfe248a05a382d00c191 (diff) |
ilo: switch to ilo states for shaders and resources
Define and use
struct ilo_sampler_state;
struct ilo_view_state;
struct ilo_cbuf_state;
struct ilo_resource_state;
struct ilo_global_binding;
in ilo_context.
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_gpe.h')
-rw-r--r-- | src/gallium/drivers/ilo/ilo_gpe.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/ilo_gpe.h b/src/gallium/drivers/ilo/ilo_gpe.h index 8bb1ddf3a7b..903d654f051 100644 --- a/src/gallium/drivers/ilo/ilo_gpe.h +++ b/src/gallium/drivers/ilo/ilo_gpe.h @@ -96,10 +96,52 @@ struct ilo_blend_state { struct pipe_blend_state state; }; +struct ilo_sampler_state { + struct pipe_sampler_state *states[ILO_MAX_SAMPLERS]; + unsigned count; +}; + +struct ilo_view_state { + struct pipe_sampler_view *states[ILO_MAX_SAMPLER_VIEWS]; + unsigned count; +}; + +struct ilo_cbuf_state { + struct pipe_constant_buffer states[ILO_MAX_CONST_BUFFERS]; + unsigned count; +}; + +struct ilo_resource_state { + struct pipe_surface *states[PIPE_MAX_SHADER_RESOURCES]; + unsigned count; +}; + struct ilo_fb_state { struct pipe_framebuffer_state state; unsigned num_samples; }; +struct ilo_global_binding { + /* + * XXX These should not be treated as real resources (and there could be + * thousands of them). They should be treated as regions in GLOBAL + * resource, which is the only real resource. + * + * That is, a resource here should instead be + * + * struct ilo_global_region { + * struct pipe_resource base; + * int offset; + * int size; + * }; + * + * and it describes the region [offset, offset + size) in GLOBAL + * resource. + */ + struct pipe_resource *resources[PIPE_MAX_SHADER_RESOURCES]; + uint32_t *handles[PIPE_MAX_SHADER_RESOURCES]; + unsigned count; +}; + #endif /* ILO_GPE_H */ |