diff options
author | Chia-I Wu <[email protected]> | 2013-06-24 14:13:33 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2013-06-25 13:51:58 +0800 |
commit | 9b18df6e087a4db8ed5ed38bcc6b1db34fa95586 (patch) | |
tree | 677fc49af1f7b06ebce449dc39f2e56e42252ace /src/gallium/drivers/ilo/ilo_shader.h | |
parent | c4fa24ff0873b7b9a5c4dacbd2c130788e88ad35 (diff) |
ilo: move SBE setup code to ilo_shader.c
Add ilo_shader_select_kernel_routing() to construct 3DSTATE_SBE. It is called
in ilo_finalize_states(), rather than in create_fs_state(), as it depends on
VS/GS and rasterizer states.
With this change, ilo_shader_internal.h is no longer needed for
ilo_gpe_gen6.c.
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_shader.h')
-rw-r--r-- | src/gallium/drivers/ilo/ilo_shader.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/ilo_shader.h b/src/gallium/drivers/ilo/ilo_shader.h index d326b9c01f4..6a2b8a397b3 100644 --- a/src/gallium/drivers/ilo/ilo_shader.h +++ b/src/gallium/drivers/ilo/ilo_shader.h @@ -58,8 +58,18 @@ enum ilo_kernel_param { ILO_KERNEL_PARAM_COUNT, }; +struct ilo_kernel_routing { + uint32_t const_interp_enable; + uint32_t point_sprite_enable; + unsigned source_skip, source_len; + + bool swizzle_enable; + uint16_t swizzles[16]; +}; + struct intel_bo; struct ilo_context; +struct ilo_rasterizer_state; struct ilo_shader_cache; struct ilo_shader_state; struct ilo_shader_cso; @@ -114,6 +124,11 @@ ilo_shader_select_kernel(struct ilo_shader_state *shader, const struct ilo_context *ilo, uint32_t dirty); +bool +ilo_shader_select_kernel_routing(struct ilo_shader_state *shader, + const struct ilo_shader_state *source, + const struct ilo_rasterizer_state *rasterizer); + uint32_t ilo_shader_get_kernel_offset(const struct ilo_shader_state *shader); @@ -127,4 +142,7 @@ ilo_shader_get_kernel_cso(const struct ilo_shader_state *shader); const struct pipe_stream_output_info * ilo_shader_get_kernel_so_info(const struct ilo_shader_state *shader); +const struct ilo_kernel_routing * +ilo_shader_get_kernel_routing(const struct ilo_shader_state *shader); + #endif /* ILO_SHADER_H */ |