X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Filo%2Filo_shader.h;h=d12b086ec8140588690819c952fcff555d7716a9;hb=2f2d1b3d9b090aeba316d6c425c23e92340b5502;hp=92ad7f6656f7ecf0da3ee6e1bc6e3115712d9b4e;hpb=d209da5e338ee1f437cbce21e9cba667d60ee557;p=mesa.git diff --git a/src/gallium/drivers/ilo/ilo_shader.h b/src/gallium/drivers/ilo/ilo_shader.h index 92ad7f6656f..d12b086ec81 100644 --- a/src/gallium/drivers/ilo/ilo_shader.h +++ b/src/gallium/drivers/ilo/ilo_shader.h @@ -34,6 +34,8 @@ enum ilo_kernel_param { 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, @@ -58,8 +60,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 +126,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); @@ -124,4 +141,10 @@ ilo_shader_get_kernel_param(const struct ilo_shader_state *shader, const struct ilo_shader_cso * 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 */