shader->info.inputs_read = sh->Program->InputsRead;
shader->info.double_inputs_read = sh->Program->DoubleInputsRead;
shader->info.outputs_written = sh->Program->OutputsWritten;
+ shader->info.outputs_read = sh->Program->OutputsRead;
shader->info.patch_inputs_read = sh->Program->PatchInputsRead;
shader->info.patch_outputs_written = sh->Program->PatchOutputsWritten;
shader->info.system_values_read = sh->Program->SystemValuesRead;
var->data.image.restrict_flag = ir->data.image_restrict;
var->data.image.format = ir->data.image_format;
var->data.max_array_access = ir->data.max_array_access;
+ var->data.fb_fetch_output = ir->data.fb_fetch_output;
var->num_state_slots = ir->get_num_state_slots();
if (var->num_state_slots > 0) {
*/
unsigned location_frac:2;
+ /**
+ * Whether this is a fragment shader output implicitly initialized with
+ * the previous contents of the specified render target at the
+ * framebuffer location corresponding to this shader invocation.
+ */
+ unsigned fb_fetch_output:1;
+
/**
* \brief Layout qualifier for gl_FragDepth.
*
uint64_t double_inputs_read;
/* Which outputs are actually written */
uint64_t outputs_written;
+ /* Which outputs are actually read */
+ uint64_t outputs_read;
/* Which system values are actually read */
uint64_t system_values_read;