st/mesa: add ATC support
[mesa.git] / src / mesa / state_tracker / st_atifs_to_tgsi.c
index 76236cf96563861971cd51ff78a1bbf2a121ffa4..1180ede35e6752461eee0e3907333b13e84c3de9 100644 (file)
@@ -476,6 +476,8 @@ st_translate_atifs_program(
       }
 
       for (i = 0; i < program->Parameters->NumParameters; i++) {
+         unsigned pvo = program->Parameters->ParameterValueOffset[i];
+
          switch (program->Parameters->Parameters[i].Type) {
          case PROGRAM_STATE_VAR:
          case PROGRAM_UNIFORM:
@@ -484,7 +486,7 @@ st_translate_atifs_program(
          case PROGRAM_CONSTANT:
             t->constants[i] =
                ureg_DECL_immediate(ureg,
-                                   (const float*)program->Parameters->ParameterValues[i],
+                                   (const float*)program->Parameters->ParameterValues + pvo,
                                    4);
             break;
          default:
@@ -601,7 +603,7 @@ st_init_atifs_prog(struct gl_context *ctx, struct gl_program *prog)
    /* we always have the ATI_fs constants, and the fog params */
    for (i = 0; i < MAX_NUM_FRAGMENT_CONSTANTS_ATI; i++) {
       _mesa_add_parameter(prog->Parameters, PROGRAM_UNIFORM,
-                          NULL, 4, GL_FLOAT, NULL, NULL);
+                          NULL, 4, GL_FLOAT, NULL, NULL, true);
    }
    _mesa_add_state_reference(prog->Parameters, fog_params_state);
    _mesa_add_state_reference(prog->Parameters, fog_color);