radeonsi: use tgsi_shader_info in si_shader_ps

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
Marek Olšák 2014-10-04 18:33:36 +02:00
parent e23fec1445
commit fa933438a2
3 changed files with 5 additions and 5 deletions

View file

@ -246,7 +246,6 @@ static int si_store_shader_io_attribs(struct si_shader *shader,
shader->input[i].sid = d->Semantic.Index;
shader->input[i].index = d->Range.First;
shader->input[i].interpolate = d->Interp.Interpolate;
shader->input[i].centroid = d->Interp.Location == TGSI_INTERPOLATE_LOC_CENTROID;
return -1;
case TGSI_FILE_OUTPUT:

View file

@ -102,7 +102,6 @@ struct si_shader_input {
unsigned param_offset;
unsigned index;
unsigned interpolate;
bool centroid;
};
struct si_shader_output {

View file

@ -228,6 +228,7 @@ static void si_shader_vs(struct pipe_context *ctx, struct si_shader *shader)
static void si_shader_ps(struct pipe_context *ctx, struct si_shader *shader)
{
struct si_context *sctx = (struct si_context *)ctx;
struct tgsi_shader_info *info = &shader->selector->info;
struct si_pm4_state *pm4;
unsigned i, spi_ps_in_control;
unsigned num_sgprs, num_user_sgprs;
@ -240,10 +241,11 @@ static void si_shader_ps(struct pipe_context *ctx, struct si_shader *shader)
if (pm4 == NULL)
return;
for (i = 0; i < shader->ninput; i++) {
switch (shader->input[i].name) {
for (i = 0; i < info->num_inputs; i++) {
switch (info->input_semantic_name[i]) {
case TGSI_SEMANTIC_POSITION:
if (shader->input[i].centroid) {
if (info->input_interpolate_loc[i] ==
TGSI_INTERPOLATE_LOC_CENTROID) {
/* SPI_BARYC_CNTL.POS_FLOAT_LOCATION
* Possible vaules:
* 0 -> Position = pixel center (default)