ILO_KERNEL_INPUT_COUNT,
ILO_KERNEL_OUTPUT_COUNT,
ILO_KERNEL_URB_DATA_START_REG,
+ ILO_KERNEL_SKIP_CBUF0_UPLOAD,
+ ILO_KERNEL_PCB_CBUF0_SIZE,
ILO_KERNEL_VS_INPUT_INSTANCEID,
ILO_KERNEL_VS_INPUT_VERTEXID,
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;
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);
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 */