mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 00:00:11 +01:00
softpipe: use tgsi_shader_info fields for fragcoord origin, center, etc.
This commit is contained in:
parent
2253906da3
commit
4736c0ba86
4 changed files with 5 additions and 17 deletions
|
|
@ -797,7 +797,7 @@ blend_fallback(struct quad_stage *qs,
|
|||
unsigned cbuf;
|
||||
boolean write_all;
|
||||
|
||||
write_all = softpipe->fs->color0_writes_all_cbufs;
|
||||
write_all = softpipe->fs->info.color0_writes_all_cbufs;
|
||||
|
||||
for (cbuf = 0; cbuf < softpipe->framebuffer.nr_cbufs; cbuf++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -570,15 +570,15 @@ setup_fragcoord_coeff(struct setup_context *setup, uint slot)
|
|||
{
|
||||
struct sp_fragment_shader* spfs = setup->softpipe->fs;
|
||||
/*X*/
|
||||
setup->coef[slot].a0[0] = spfs->pixel_center_integer ? 0.0 : 0.5;
|
||||
setup->coef[slot].a0[0] = spfs->info.pixel_center_integer ? 0.0 : 0.5;
|
||||
setup->coef[slot].dadx[0] = 1.0;
|
||||
setup->coef[slot].dady[0] = 0.0;
|
||||
/*Y*/
|
||||
setup->coef[slot].a0[1] =
|
||||
(spfs->origin_lower_left ? setup->softpipe->framebuffer.height-1 : 0)
|
||||
+ (spfs->pixel_center_integer ? 0.0 : 0.5);
|
||||
(spfs->info.origin_lower_left ? setup->softpipe->framebuffer.height-1 : 0)
|
||||
+ (spfs->info.pixel_center_integer ? 0.0 : 0.5);
|
||||
setup->coef[slot].dadx[1] = 0.0;
|
||||
setup->coef[slot].dady[1] = spfs->origin_lower_left ? -1.0 : 1.0;
|
||||
setup->coef[slot].dady[1] = spfs->info.origin_lower_left ? -1.0 : 1.0;
|
||||
/*Z*/
|
||||
setup->coef[slot].a0[2] = setup->posCoef.a0[2];
|
||||
setup->coef[slot].dadx[2] = setup->posCoef.dadx[2];
|
||||
|
|
|
|||
|
|
@ -72,9 +72,6 @@ struct sp_fragment_shader {
|
|||
|
||||
struct draw_fragment_shader *draw_shader;
|
||||
|
||||
boolean origin_lower_left; /**< fragment shader uses lower left position origin? */
|
||||
boolean pixel_center_integer; /**< fragment shader uses integer pixel center? */
|
||||
boolean color0_writes_all_cbufs; /**< fragment shader writes color0 to all bound cbufs */
|
||||
void (*prepare)( const struct sp_fragment_shader *shader,
|
||||
struct tgsi_exec_machine *machine,
|
||||
struct tgsi_sampler **samplers);
|
||||
|
|
|
|||
|
|
@ -73,15 +73,6 @@ softpipe_create_fs_state(struct pipe_context *pipe,
|
|||
/* get/save the summary info for this shader */
|
||||
tgsi_scan_shader(templ->tokens, &state->info);
|
||||
|
||||
for (i = 0; i < state->info.num_properties; ++i) {
|
||||
if (state->info.properties[i].name == TGSI_PROPERTY_FS_COORD_ORIGIN)
|
||||
state->origin_lower_left = state->info.properties[i].data[0];
|
||||
else if (state->info.properties[i].name == TGSI_PROPERTY_FS_COORD_PIXEL_CENTER)
|
||||
state->pixel_center_integer = state->info.properties[i].data[0];
|
||||
else if (state->info.properties[i].name == TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS)
|
||||
state->color0_writes_all_cbufs = state->info.properties[i].data[0];
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue