* from the GLSL IR.
*/
-#include "main/core.h" /* for struct gl_program */
#include "ir.h"
#include "ir_visitor.h"
#include "compiler/glsl_types.h"
+#include "main/mtypes.h"
namespace {
if (var->data.mode == ir_var_shader_in) {
if (is_patch_generic)
- prog->PatchInputsRead |= bitfield;
+ prog->info.patch_inputs_read |= bitfield;
else
prog->info.inputs_read |= bitfield;
/* double inputs read is only for vertex inputs */
if (stage == MESA_SHADER_VERTEX &&
var->type->without_array()->is_dual_slot())
- prog->info.double_inputs_read |= bitfield;
+ prog->DualSlotInputs |= bitfield;
if (stage == MESA_SHADER_FRAGMENT) {
prog->info.fs.uses_sample_qualifier |= var->data.sample;
}
} else if (var->data.mode == ir_var_system_value) {
- prog->SystemValuesRead |= bitfield;
+ prog->info.system_values_read |= bitfield;
} else {
assert(var->data.mode == ir_var_shader_out);
if (is_patch_generic) {
- prog->PatchOutputsWritten |= bitfield;
+ prog->info.patch_outputs_written |= bitfield;
} else if (!var->data.read_only) {
prog->info.outputs_written |= bitfield;
if (var->data.index > 0)
}
if (var->data.fb_fetch_output)
- prog->OutputsRead |= bitfield;
+ prog->info.outputs_read |= bitfield;
}
}
}
ir_set_program_inouts_visitor::visit_enter(ir_texture *ir)
{
if (ir->op == ir_tg4)
- prog->UsesGather = true;
+ prog->info.uses_texture_gather = true;
return visit_continue;
}
prog->info.inputs_read = 0;
prog->info.outputs_written = 0;
prog->SecondaryOutputsWritten = 0;
- prog->OutputsRead = 0;
- prog->PatchInputsRead = 0;
- prog->PatchOutputsWritten = 0;
- prog->SystemValuesRead = 0;
+ prog->info.outputs_read = 0;
+ prog->info.patch_inputs_read = 0;
+ prog->info.patch_outputs_written = 0;
+ prog->info.system_values_read = 0;
if (shader_stage == MESA_SHADER_FRAGMENT) {
prog->info.fs.uses_sample_qualifier = false;
prog->info.fs.uses_discard = false;