nir: Add members for the explicit XFB properties to nir_variable

These are copied from the from the corresponding values in
ir_variable. The intention is to eventually use them in a pure-NIR
linker.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Neil Roberts
2017-12-12 17:09:19 +01:00
committed by Alejandro Piñeiro
parent e1d4882d05
commit 3fd5b4c7aa
2 changed files with 30 additions and 1 deletions

View File

@@ -440,6 +440,10 @@ nir_visitor::visit(ir_variable *ir)
var->data.image.restrict_flag = ir->data.memory_restrict; var->data.image.restrict_flag = ir->data.memory_restrict;
var->data.image.format = ir->data.image_format; var->data.image.format = ir->data.image_format;
var->data.fb_fetch_output = ir->data.fb_fetch_output; var->data.fb_fetch_output = ir->data.fb_fetch_output;
var->data.explicit_xfb_buffer = ir->data.explicit_xfb_buffer;
var->data.explicit_xfb_stride = ir->data.explicit_xfb_stride;
var->data.xfb_buffer = ir->data.xfb_buffer;
var->data.xfb_stride = ir->data.xfb_stride;
var->num_state_slots = ir->get_num_state_slots(); var->num_state_slots = ir->get_num_state_slots();
if (var->num_state_slots > 0) { if (var->num_state_slots > 0) {

View File

@@ -259,6 +259,21 @@ typedef struct nir_variable {
*/ */
unsigned explicit_binding:1; unsigned explicit_binding:1;
/**
* Was a transfer feedback buffer set in the shader?
*/
unsigned explicit_xfb_buffer:1;
/**
* Was a transfer feedback stride set in the shader?
*/
unsigned explicit_xfb_stride:1;
/**
* Was an explicit offset set in the shader?
*/
unsigned explicit_offset:1;
/** /**
* \brief Layout qualifier for gl_FragDepth. * \brief Layout qualifier for gl_FragDepth.
* *
@@ -320,10 +335,20 @@ typedef struct nir_variable {
int binding; int binding;
/** /**
* Location an atomic counter is stored at. * Location an atomic counter or transform feedback is stored at.
*/ */
unsigned offset; unsigned offset;
/**
* Transform feedback buffer.
*/
unsigned xfb_buffer;
/**
* Transform feedback stride.
*/
unsigned xfb_stride;
/** /**
* ARB_shader_image_load_store qualifiers. * ARB_shader_image_load_store qualifiers.
*/ */