diff options
-rw-r--r-- | docs/relnotes/10.3.html | 2 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_extensions.c | 2 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_program.c | 4 |
3 files changed, 7 insertions, 1 deletions
diff --git a/docs/relnotes/10.3.html b/docs/relnotes/10.3.html index 6090a921912..2e718fc8a7e 100644 --- a/docs/relnotes/10.3.html +++ b/docs/relnotes/10.3.html @@ -55,7 +55,7 @@ Note: some of the new features are only available with certain drivers. <li>GL_ARB_viewport_array on nvc0</li> <li>GL_ARB_seamless_cubemap_per_texture on i965, llvmpipe, nvc0, r600, radeonsi, softpipe</li> <li>GL_ARB_fragment_layer_viewport on nv50, nvc0, llvmpipe, r600</li> -<li>GL_AMD_vertex_shader_viewport_index on i965/gen7+</li> +<li>GL_AMD_vertex_shader_viewport_index on i965/gen7+, r600</li> </ul> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 982413568a4..b8b3d504a76 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -816,6 +816,8 @@ void st_init_extensions(struct st_context *st) ctx->Const.ViewportBounds.Max = 16384.0; ctx->Extensions.ARB_viewport_array = GL_TRUE; ctx->Extensions.ARB_fragment_layer_viewport = GL_TRUE; + if (ctx->Extensions.AMD_vertex_shader_layer) + ctx->Extensions.AMD_vertex_shader_viewport_index = GL_TRUE; } } if (ctx->Const.MaxProgramTextureGatherComponents > 0) diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index 1df411c3b87..3570557fee6 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -262,6 +262,10 @@ st_prepare_vertex_program(struct gl_context *ctx, stvp->output_semantic_name[slot] = TGSI_SEMANTIC_LAYER; stvp->output_semantic_index[slot] = 0; break; + case VARYING_SLOT_VIEWPORT: + stvp->output_semantic_name[slot] = TGSI_SEMANTIC_VIEWPORT_INDEX; + stvp->output_semantic_index[slot] = 0; + break; case VARYING_SLOT_TEX0: case VARYING_SLOT_TEX1: |