diff options
author | Rob Clark <[email protected]> | 2015-09-10 17:25:18 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2015-09-17 19:55:43 -0400 |
commit | e523f69b1d2f0cb3ff7659e3c55b9a2e40240c9c (patch) | |
tree | 297df077ee72e725c652d071e288b319a24e77c6 /src/gallium/drivers/freedreno/ir3/ir3_shader.h | |
parent | e844e1007d3baac09ff2cc78879d6974be18ecaf (diff) |
freedreno/ir3: switch to shader_enums.h interp constants
A small step towards un-TGSI'ifying ir3.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3/ir3_shader.h')
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3_shader.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_shader.h b/src/gallium/drivers/freedreno/ir3/ir3_shader.h index 1bbbdbd224d..13b3f6a2a85 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_shader.h +++ b/src/gallium/drivers/freedreno/ir3/ir3_shader.h @@ -30,6 +30,7 @@ #define IR3_SHADER_H_ #include "pipe/p_state.h" +#include "glsl/shader_enums.h" #include "ir3.h" #include "disasm.h" @@ -82,8 +83,8 @@ struct ir3_shader_key { */ unsigned color_two_side : 1; unsigned half_precision : 1; - /* used when shader needs to handle flat varyings (a4xx), - * for TGSI_INTERPOLATE_COLOR: + /* used when shader needs to handle flat varyings (a4xx) + * for front/back color inputs to frag shader: */ unsigned rasterflat : 1; }; @@ -174,8 +175,10 @@ struct ir3_shader_variant { * spots where inloc is used. */ uint8_t inloc; - uint8_t bary; - uint8_t interpolate; + /* fragment shader specfic: */ + bool bary : 1; /* fetched varying (vs one loaded into reg) */ + bool rasterflat : 1; /* special handling for emit->rasterflat */ + enum glsl_interp_qualifier interpolate; } inputs[16 + 2]; /* +POSITION +FACE */ unsigned total_in; /* sum of inputs (scalar) */ |