softpipe: use tgsi_shader_info fields for fragcoord origin, center, etc.
authorBrian Paul <brianp@vmware.com>
Thu, 21 Jul 2011 15:55:22 +0000 (09:55 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 21 Jul 2011 15:57:37 +0000 (09:57 -0600)
src/gallium/drivers/softpipe/sp_quad_blend.c
src/gallium/drivers/softpipe/sp_setup.c
src/gallium/drivers/softpipe/sp_state.h
src/gallium/drivers/softpipe/sp_state_shader.c

index 76cfc0bf51c904295e54369ce1f00fd303fcf570..4a4e002211090e998bc31b5dbada0fae72b5c8a4 100644 (file)
@@ -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++) 
    {
index 0ce28f4c6ee09d070b8f15f43b26e49165fd0b79..48f29f87661c7fb13c43527bda56677994ad3e13 100644 (file)
@@ -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];
index bb19f8cff209a2fbaa25fada4edbd88588f8b887..6c14dd132e910ecc0df8d59292092ce39ddf4723 100644 (file)
@@ -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);
index 3dec5de3cc44c41c0bb2c6ff86a1987088f9a262..80af25788398dc3785f7d2721d89f7c301eddafe 100644 (file)
@@ -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;
 }