summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_context.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2014-09-30 16:24:26 -0700
committerEric Anholt <[email protected]>2014-10-08 17:45:16 +0200
commit581418585e5dee3cca1b42c472b72aa9c74140bb (patch)
treeb7f661760a668fc70fc575bf3ac956e874b18e65 /src/gallium/drivers/vc4/vc4_context.h
parent4dccdbf5cb46a9e36d92f675b0b6ef01756b8af0 (diff)
vc4: Add support for two-sided color.
It's fairly easy, thanks to Rob Clark's lowering code. Fixes two-sided-lighting and 4 vertex-program-two-side testcases, while regressing 8 testcases that involve enabling two-sided color while only initializing one of the two colors in the VS. If you're enabling two sided color, it's of course expected that you really do set up both colors, so this is still an improvement (and when we set up a linker for TGSI, we'll hopefully fix those 8 fails).
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_context.h')
-rw-r--r--src/gallium/drivers/vc4/vc4_context.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/vc4/vc4_context.h b/src/gallium/drivers/vc4/vc4_context.h
index 3c43b9441a0..e8f9e355a98 100644
--- a/src/gallium/drivers/vc4/vc4_context.h
+++ b/src/gallium/drivers/vc4/vc4_context.h
@@ -76,6 +76,11 @@ struct vc4_shader_uniform_info {
uint32_t num_texture_samples;
};
+struct vc4_uncompiled_shader {
+ struct pipe_shader_state base;
+ const struct tgsi_token *twoside_tokens;
+};
+
struct vc4_compiled_shader {
struct vc4_bo *bo;
@@ -90,7 +95,7 @@ struct vc4_compiled_shader {
};
struct vc4_program_stateobj {
- struct pipe_shader_state *bind_vs, *bind_fs;
+ struct vc4_uncompiled_shader *bind_vs, *bind_fs;
struct vc4_compiled_shader *vs, *fs;
uint32_t dirty;
uint8_t num_exports;