summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/swr/swr_shader.cpp
diff options
context:
space:
mode:
authorJan Zielinski <jan.zielinski@intel.com>2019-07-02 16:44:34 +0200
committerJan Zielinski <jan.zielinski@intel.com>2019-07-03 14:43:28 +0200
commit243db4980c77e9d55b016ea79c4ddf075101bde0 (patch)
treea327fec19cdc5dee41058791f992b197e1509844 /src/gallium/drivers/swr/swr_shader.cpp
parentc6cb9b197d4e82432cacae7cec04e7d6ee73ceba (diff)
swr/swr: Enable ARB_viewport_array
The rasterizer core supported ARB_viewport_array, but the swr layer connecting core to Gallium state tracker only allowed one viewport. We add support for multiple viewports to swr layer. Reviewed-by: Alok Hota <alok.hota@intel.com>
Diffstat (limited to 'src/gallium/drivers/swr/swr_shader.cpp')
-rw-r--r--src/gallium/drivers/swr/swr_shader.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/swr/swr_shader.cpp b/src/gallium/drivers/swr/swr_shader.cpp
index afa184fc466..6ec492c4102 100644
--- a/src/gallium/drivers/swr/swr_shader.cpp
+++ b/src/gallium/drivers/swr/swr_shader.cpp
@@ -424,6 +424,9 @@ BuilderSWR::swr_gs_llvm_emit_vertex(const struct lp_build_tgsi_gs_iface *gs_base
} else if (iface->info->output_semantic_name[attrib] == TGSI_SEMANTIC_LAYER) {
attribSlot = VERTEX_SGV_SLOT;
sgvChannel = VERTEX_SGV_RTAI_COMP;
+ } else if (iface->info->output_semantic_name[attrib] == TGSI_SEMANTIC_VIEWPORT_INDEX) {
+ attribSlot = VERTEX_SGV_SLOT;
+ sgvChannel = VERTEX_SGV_VAI_COMP;
} else if (iface->info->output_semantic_name[attrib] == TGSI_SEMANTIC_POSITION) {
attribSlot = VERTEX_POSITION_SLOT;
} else {