[Mesa-dev] [PATCH 5/5] mesa/st: enable AMD_vertex_shader_viewport_index
Marek Olšák
maraeo at gmail.com
Thu Jul 3 03:35:01 PDT 2014
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Renaming the cap to include "VIEWPORT" would not be a bad idea.
Marek
On Wed, Jul 2, 2014 at 10:30 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> The assumption is that any driver capable of emitting layer from the
> vertex shader and supporting viewports should be able to also handle
> emitting viewport index from the vertex shader.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Tested-by: Tobias Droste <tdroste at gmx.de>
> ---
> docs/relnotes/10.3.html | 2 +-
> src/mesa/state_tracker/st_extensions.c | 2 ++
> src/mesa/state_tracker/st_program.c | 4 ++++
> 3 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/docs/relnotes/10.3.html b/docs/relnotes/10.3.html
> index 6090a92..2e718fc 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 9824135..b8b3d50 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 1df411c..3570557 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:
> --
> 1.8.5.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list