[Mesa-dev] [PATCH 4/4] st/mesa: add GL_ARB_shader_draw_parameters support
Roland Scheidegger
sroland at vmware.com
Tue Dec 29 14:35:19 PST 2015
Am 29.12.2015 um 23:04 schrieb Ilia Mirkin:
> Hooks up the new system values, passes the drawid in.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
> src/mesa/state_tracker/st_draw.c | 1 +
> src/mesa/state_tracker/st_extensions.c | 1 +
> src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 4 ++--
> 3 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
> index f4b273b..635a012 100644
> --- a/src/mesa/state_tracker/st_draw.c
> +++ b/src/mesa/state_tracker/st_draw.c
> @@ -266,6 +266,7 @@ st_draw_vbo(struct gl_context *ctx,
> info.instance_count = prims[i].num_instances;
> info.vertices_per_patch = ctx->TessCtrlProgram.patch_vertices;
> info.index_bias = prims[i].basevertex;
> + info.drawid = prims[i].draw_id;
> if (!ib) {
> info.min_index = info.start;
> info.max_index = info.start + info.count - 1;
> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
> index c71b2c3..a729332 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -454,6 +454,7 @@ void st_init_extensions(struct pipe_screen *screen,
> { o(ARB_pipeline_statistics_query), PIPE_CAP_QUERY_PIPELINE_STATISTICS },
> { o(ARB_point_sprite), PIPE_CAP_POINT_SPRITE },
> { o(ARB_seamless_cube_map), PIPE_CAP_SEAMLESS_CUBE_MAP },
> + { o(ARB_shader_draw_parameters), PIPE_CAP_DRAW_PARAMETERS },
> { o(ARB_shader_stencil_export), PIPE_CAP_SHADER_STENCIL_EXPORT },
> { o(ARB_shader_texture_image_samples), PIPE_CAP_TGSI_TXQS },
> { o(ARB_shader_texture_lod), PIPE_CAP_SM3 },
> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> index 9b33647..7062412 100644
> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
> @@ -4333,8 +4333,8 @@ const unsigned _mesa_sysval_to_semantic[SYSTEM_VALUE_MAX] = {
> TGSI_SEMANTIC_INSTANCEID,
> TGSI_SEMANTIC_VERTEXID_NOBASE,
> TGSI_SEMANTIC_BASEVERTEX,
> - 0, /* SYSTEM_VALUE_BASE_INSTANCE */
> - 0, /* SYSTEM_VALUE_DRAW_ID */
> + TGSI_SEMANTIC_BASEINSTANCE,
> + TGSI_SEMANTIC_DRAWID,
>
> /* Geometry shader
> */
>
For the series (if you address my other 2 remarks):
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
More information about the mesa-dev
mailing list