X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fr300%2Fr300_vs.h;h=b02d5d79731485306e3c8184ce6b0de8c2a3f9db;hb=bb5fc90135f682fedfce4cb7712fa418e6b4b95d;hp=67e9db5366fd9ad6a85eeea5c859d1091f606773;hpb=9eb7fc6661a1d46c06cec8584b898e3e690af6fa;p=mesa.git diff --git a/src/gallium/drivers/r300/r300_vs.h b/src/gallium/drivers/r300/r300_vs.h index 67e9db5366f..b02d5d79731 100644 --- a/src/gallium/drivers/r300/r300_vs.h +++ b/src/gallium/drivers/r300/r300_vs.h @@ -26,8 +26,9 @@ #include "pipe/p_state.h" #include "tgsi/tgsi_scan.h" -#include "radeon_code.h" +#include "compiler/radeon_code.h" +#include "r300_context.h" #include "r300_shader_semantics.h" struct r300_context; @@ -38,19 +39,30 @@ struct r300_vertex_shader { struct tgsi_shader_info info; struct r300_shader_semantics outputs; - uint hwfmt[4]; - /* Stream locations for SWTCL or if TCL is bypassed. */ - int stream_loc_notcl[16]; + /* Whether the shader was replaced by a dummy one due to a shader + * compilation failure. */ + boolean dummy; - /* Has this shader been translated yet? */ - boolean translated; + /* Numbers of constants for each type. */ + unsigned externals_count; + unsigned immediates_count; + /* HWTCL-specific. */ /* Machine code (if translated) */ struct r300_vertex_program_code code; + + /* SWTCL-specific. */ + void *draw_vs; }; -void r300_translate_vertex_shader(struct r300_context* r300, - struct r300_vertex_shader* vs); +void r300_init_vs_outputs(struct r300_context *r300, + struct r300_vertex_shader *vs); + +void r300_translate_vertex_shader(struct r300_context *r300, + struct r300_vertex_shader *vs); + +void r300_draw_init_vertex_shader(struct r300_context *r300, + struct r300_vertex_shader *vs); #endif /* R300_VS_H */