aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2017-03-05 18:24:44 -0500
committerIlia Mirkin <[email protected]>2017-03-15 21:03:11 -0400
commite893b3a3672287f266a355e5b78ad7115e880292 (patch)
tree69be8d51ab3c8745e6889701ace6ef49380a127e
parentad4dee521d7968a88393dc3685e7c593d27efba5 (diff)
swr: support layer output in geometry shaders
This makes bin/gl-3.2-layered-rendering-gl-layer-render fail only with 2DMS_ARRAY, which is expected given the lackluster MSAA support. However all the regular types pass. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Bruce Cherniak <[email protected]>
-rw-r--r--src/gallium/drivers/swr/swr_shader.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/swr/swr_shader.cpp b/src/gallium/drivers/swr/swr_shader.cpp
index a449c58ed95..a61ed9c3519 100644
--- a/src/gallium/drivers/swr/swr_shader.cpp
+++ b/src/gallium/drivers/swr/swr_shader.cpp
@@ -391,6 +391,8 @@ BuilderSWR::swr_gs_llvm_emit_vertex(const struct lp_build_tgsi_gs_iface *gs_base
attribSlot = VERTEX_POINT_SIZE_SLOT;
else if (iface->info->output_semantic_name[attrib] == TGSI_SEMANTIC_PRIMID)
attribSlot = VERTEX_PRIMID_SLOT;
+ else if (iface->info->output_semantic_name[attrib] == TGSI_SEMANTIC_LAYER)
+ attribSlot = VERTEX_RTAI_SLOT;
Value *vOffsetsAttrib =
ADD(vOffsets, MUL(vVertexSlot, VIMMED1((uint32_t)sizeof(simdvertex))));