summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_render.h
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2014-09-25 16:41:31 +0800
committerChia-I Wu <[email protected]>2014-09-26 21:15:55 +0800
commit4be7b7ee8597cd6bd38c0678deb23928a3acb59f (patch)
tree0c12d09bc28b02e86965117b0b6bd0b9f68aac6c /src/gallium/drivers/ilo/ilo_render.h
parent8f284343e08bffa798c99763e4a3c234da6ab4d3 (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.h91
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);