diff options
author | Chia-I Wu <[email protected]> | 2014-09-25 16:41:31 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2014-09-26 21:15:55 +0800 |
commit | 4be7b7ee8597cd6bd38c0678deb23928a3acb59f (patch) | |
tree | 0c12d09bc28b02e86965117b0b6bd0b9f68aac6c /src/gallium/drivers/ilo/ilo_render.h | |
parent | 8f284343e08bffa798c99763e4a3c234da6ab4d3 (diff) |
ilo: make ilo_render opaque
It is not used outside the render code. There are also too many details in it
that we do not want other components to access directly.
Signed-off-by: Chia-I Wu <[email protected]>
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_render.h')
-rw-r--r-- | src/gallium/drivers/ilo/ilo_render.h | 91 |
1 files changed, 2 insertions, 89 deletions
diff --git a/src/gallium/drivers/ilo/ilo_render.h b/src/gallium/drivers/ilo/ilo_render.h index 60e3769e0dc..0cf1d0311b0 100644 --- a/src/gallium/drivers/ilo/ilo_render.h +++ b/src/gallium/drivers/ilo/ilo_render.h @@ -29,100 +29,13 @@ #define ILO_RENDER_H #include "ilo_common.h" -#include "ilo_state.h" -struct intel_bo; struct ilo_blitter; -struct ilo_cp; +struct ilo_builder; struct ilo_query; +struct ilo_render; struct ilo_state_vector; -/** - * Render Engine. - */ -struct ilo_render { - const struct ilo_dev_info *dev; - struct ilo_builder *builder; - - struct intel_bo *workaround_bo; - - uint32_t packed_sample_position_1x; - uint32_t packed_sample_position_4x; - uint32_t packed_sample_position_8x[2]; - - bool hw_ctx_changed; - - /* - * Any state that involves resources needs to be re-emitted when the - * batch bo changed. This is because we do not pin the resources and - * their offsets (or existence) may change between batch buffers. - */ - bool batch_bo_changed; - bool state_bo_changed; - bool instruction_bo_changed; - - /** - * HW states. - */ - struct ilo_render_state { - /* - * When a WA is needed before some command, we always emit the WA right - * before the command. Knowing what have already been done since last - * 3DPRIMITIVE allows us to skip some WAs. - */ - uint32_t current_pipe_control_dw1; - - /* - * When a WA is needed after some command, we may have the WA follow the - * command immediately or defer it. If this is non-zero, a PIPE_CONTROL - * will be emitted before 3DPRIMITIVE. - */ - uint32_t deferred_pipe_control_dw1; - - bool primitive_restart; - int reduced_prim; - int so_max_vertices; - - uint32_t SF_VIEWPORT; - uint32_t CLIP_VIEWPORT; - uint32_t SF_CLIP_VIEWPORT; /* GEN7+ */ - uint32_t CC_VIEWPORT; - - uint32_t COLOR_CALC_STATE; - uint32_t BLEND_STATE; - uint32_t DEPTH_STENCIL_STATE; - - uint32_t SCISSOR_RECT; - - struct { - uint32_t BINDING_TABLE_STATE; - int BINDING_TABLE_STATE_size; - uint32_t SURFACE_STATE[ILO_MAX_VS_SURFACES]; - uint32_t SAMPLER_STATE; - uint32_t SAMPLER_BORDER_COLOR_STATE[ILO_MAX_SAMPLERS]; - uint32_t PUSH_CONSTANT_BUFFER; - int PUSH_CONSTANT_BUFFER_size; - } vs; - - struct { - uint32_t BINDING_TABLE_STATE; - int BINDING_TABLE_STATE_size; - uint32_t SURFACE_STATE[ILO_MAX_GS_SURFACES]; - bool active; - } gs; - - struct { - uint32_t BINDING_TABLE_STATE; - int BINDING_TABLE_STATE_size; - uint32_t SURFACE_STATE[ILO_MAX_WM_SURFACES]; - uint32_t SAMPLER_STATE; - uint32_t SAMPLER_BORDER_COLOR_STATE[ILO_MAX_SAMPLERS]; - uint32_t PUSH_CONSTANT_BUFFER; - int PUSH_CONSTANT_BUFFER_size; - } wm; - } state; -}; - struct ilo_render * ilo_render_create(struct ilo_builder *builder); |