shader scan has already happened so just the results, also nobody uses gs_input_prim so drop it.
Signed-off-by: Dave Airlie <airl...@redhat.com> --- src/gallium/drivers/r600/r600_shader.c | 38 +++++++++------------------------- src/gallium/drivers/r600/r600_shader.h | 1 - 2 files changed, 10 insertions(+), 29 deletions(-) diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 8d1f95a..74141bb 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -1809,7 +1809,6 @@ static int r600_shader_from_tgsi(struct r600_context *rctx, struct tgsi_token *tokens = pipeshader->selector->tokens; struct pipe_stream_output_info so = pipeshader->selector->so; struct tgsi_full_immediate *immediate; - struct tgsi_full_property *property; struct r600_shader_ctx ctx; struct r600_bytecode_output output[32]; unsigned output_done, noutput; @@ -1968,6 +1967,16 @@ static int r600_shader_from_tgsi(struct r600_context *rctx, ctx.nliterals = 0; ctx.literals = NULL; shader->fs_write_all = FALSE; + if (ctx.info.properties[TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS]) + shader->fs_write_all = TRUE; + + shader->vs_position_window_space = FALSE; + if (ctx.info.properties[TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION]) + shader->vs_position_window_space = TRUE; + + shader->gs_output_prim = ctx.info.properties[TGSI_PROPERTY_GS_OUTPUT_PRIM]; + shader->gs_max_out_vertices = ctx.info.properties[TGSI_PROPERTY_GS_MAX_OUTPUT_VERTICES]; + shader->gs_num_invocations = ctx.info.properties[TGSI_PROPERTY_GS_INVOCATIONS]; if (shader->vs_as_gs_a) vs_add_primid_output(&ctx, key.vs_prim_id_out); @@ -1994,34 +2003,7 @@ static int r600_shader_from_tgsi(struct r600_context *rctx, goto out_err; break; case TGSI_TOKEN_TYPE_INSTRUCTION: - break; case TGSI_TOKEN_TYPE_PROPERTY: - property = &ctx.parse.FullToken.FullProperty; - switch (property->Property.PropertyName) { - case TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS: - if (property->u[0].Data == 1) - shader->fs_write_all = TRUE; - break; - case TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION: - if (property->u[0].Data == 1) - shader->vs_position_window_space = TRUE; - break; - case TGSI_PROPERTY_VS_PROHIBIT_UCPS: - /* we don't need this one */ - break; - case TGSI_PROPERTY_GS_INPUT_PRIM: - shader->gs_input_prim = property->u[0].Data; - break; - case TGSI_PROPERTY_GS_OUTPUT_PRIM: - shader->gs_output_prim = property->u[0].Data; - break; - case TGSI_PROPERTY_GS_MAX_OUTPUT_VERTICES: - shader->gs_max_out_vertices = property->u[0].Data; - break; - case TGSI_PROPERTY_GS_INVOCATIONS: - shader->gs_num_invocations = property->u[0].Data; - break; - } break; default: R600_ERR("unsupported token type %d\n", ctx.parse.FullToken.Token.Type); diff --git a/src/gallium/drivers/r600/r600_shader.h b/src/gallium/drivers/r600/r600_shader.h index 5d05c81..e0cfafd 100644 --- a/src/gallium/drivers/r600/r600_shader.h +++ b/src/gallium/drivers/r600/r600_shader.h @@ -79,7 +79,6 @@ struct r600_shader { boolean uses_index_registers; /* geometry shader properties */ - unsigned gs_input_prim; unsigned gs_output_prim; unsigned gs_max_out_vertices; unsigned gs_num_invocations; -- 2.4.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev