llvmpipe/nir: handle texcoord requirements

Switch to using texcoord intrinsic support.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
Dave Airlie
2019-12-06 14:16:52 +10:00
parent b6f8c42846
commit e35b2c37cd
5 changed files with 6 additions and 6 deletions

View File

@@ -51,7 +51,7 @@ draw_create_fragment_shader(struct draw_context *draw,
if (shader->type == PIPE_SHADER_IR_TGSI)
tgsi_scan_shader(shader->tokens, &dfs->info);
else
nir_tgsi_scan_shader(shader->ir.nir, &dfs->info, false);
nir_tgsi_scan_shader(shader->ir.nir, &dfs->info, true);
}
return dfs;

View File

@@ -803,7 +803,7 @@ draw_create_geometry_shader(struct draw_context *draw,
tgsi_scan_shader(state->tokens, &gs->info);
} else
nir_tgsi_scan_shader(state->ir.nir, &gs->info, false);
nir_tgsi_scan_shader(state->ir.nir, &gs->info, true);
/* setup the defaults */
gs->max_out_prims = 0;

View File

@@ -93,7 +93,7 @@ draw_create_vs_llvm(struct draw_context *draw,
/* due to some bugs in the feedback state tracker we have to check
for ir.nir & PIPE_SHADER_IR_NIR here. */
if (state->ir.nir && state->type == PIPE_SHADER_IR_NIR)
nir_tgsi_scan_shader(state->ir.nir, &vs->base.info, false);
nir_tgsi_scan_shader(state->ir.nir, &vs->base.info, true);
else {
/* we make a private copy of the tokens */
vs->base.state.tokens = tgsi_dup_tokens(state->tokens);

View File

@@ -237,7 +237,7 @@ nir_lower_aaline_fs(struct nir_shader *shader, int *varying)
line_width->data.driver_location = highest_drv_location + 1;
}
shader->num_inputs++;
*varying = tgsi_get_generic_gl_varying_index(line_width->data.location, false);
*varying = tgsi_get_generic_gl_varying_index(line_width->data.location, true);
state.line_width_input = line_width;
nir_foreach_function(function, shader) {
@@ -361,7 +361,7 @@ nir_lower_aapoint_fs(struct nir_shader *shader, int *varying)
aapoint_input->data.driver_location = highest_drv_location + 1;
shader->num_inputs++;
*varying = tgsi_get_generic_gl_varying_index(aapoint_input->data.location, false);
*varying = tgsi_get_generic_gl_varying_index(aapoint_input->data.location, true);
state.input = aapoint_input;
nir_foreach_function(function, shader) {

View File

@@ -2987,7 +2987,7 @@ llvmpipe_create_fs_state(struct pipe_context *pipe,
shader->base.tokens = tgsi_dup_tokens(templ->tokens);
} else {
shader->base.ir.nir = templ->ir.nir;
nir_tgsi_scan_shader(templ->ir.nir, &shader->info.base, false);
nir_tgsi_scan_shader(templ->ir.nir, &shader->info.base, true);
}
shader->draw_data = draw_create_fragment_shader(llvmpipe->draw, templ);