X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fetnaviv%2Fetnaviv_compiler.h;h=48b1b21875056b6ddd6a5ad64fb74debdfbca542;hb=e4ca1d64565b4d665bcaf5d08922bfbe1d920e7a;hp=8582e305a073cd170b20b5551ce267df7338a269;hpb=9da54fdcb5b591a7d6c96871e92f8b183c0a5130;p=mesa.git diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.h b/src/gallium/drivers/etnaviv/etnaviv_compiler.h index 8582e305a07..48b1b218750 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_compiler.h +++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.h @@ -29,6 +29,7 @@ #include "etnaviv_context.h" #include "etnaviv_internal.h" +#include "etnaviv_shader.h" #include "pipe/p_compiler.h" #include "pipe/p_shader_tokens.h" @@ -93,11 +94,17 @@ struct etna_shader_variant { /* unknown input property (XX_INPUT_COUNT, field UNK8) */ uint32_t input_count_unk8; + /* shader is larger than GPU instruction limit, thus needs icache */ + bool needs_icache; + /* shader variants form a linked list */ struct etna_shader_variant *next; /* replicated here to avoid passing extra ptrs everywhere */ struct etna_shader *shader; + struct etna_shader_key key; + + struct etna_bo *bo; /* cached code memory bo handle (for icache) */ }; struct etna_varying { @@ -111,6 +118,7 @@ struct etna_shader_link_info { /* each PS input is annotated with the VS output reg */ unsigned num_varyings; struct etna_varying varyings[ETNA_NUM_INPUTS]; + int pcoord_varying_comp_ofs; }; bool