diff options
author | Roland Scheidegger <[email protected]> | 2014-11-18 22:46:00 +0100 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2014-11-19 18:35:30 +0100 |
commit | 4b6d6642d2c64ce67d65ead480fb99104a7e2d3a (patch) | |
tree | acea1eac94a65c073a4545c0a15960d524a14b21 /src/gallium/auxiliary/draw/draw_context.c | |
parent | 9460cd39e8c74a6a8aba7e5c57bb4929ab135c29 (diff) |
draw: fixes for vertex shaders outputting layer or viewport index
Mostly add a couple cases so we don't just check gs for this.
There's only one gotcha, the built-in vp transform in the llvm vs can't
handle it (this would be fixable though non-trivial due to vp index being
non-constant for the SoA outputs, but we don't use it if there's a gs
neither - the whole clip/vp transform integration there is suboptimal).
Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_context.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_context.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index bb8c03c36f9..f46f8b42038 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -806,7 +806,7 @@ draw_current_shader_viewport_index_output(const struct draw_context *draw) { if (draw->gs.geometry_shader) return draw->gs.geometry_shader->viewport_index_output; - return 0; + return draw->vs.vertex_shader->viewport_index_output; } /** @@ -818,7 +818,7 @@ draw_current_shader_uses_viewport_index(const struct draw_context *draw) { if (draw->gs.geometry_shader) return draw->gs.geometry_shader->info.writes_viewport_index; - return FALSE; + return draw->vs.vertex_shader->info.writes_viewport_index; } |