Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
b->type = block_type;
b->has_instance_name = var->is_interface_instance();
+ b->is_shader_storage = var->data.mode == ir_var_shader_storage;
if (var->data.explicit_binding) {
b->has_binding = true;
bool has_instance_name;
bool has_binding;
+ bool is_shader_storage;
};
class link_uniform_block_active_visitor : public ir_hierarchical_visitor {
blocks[i].NumUniforms =
(unsigned)(ptrdiff_t)(&variables[parcel.index] - blocks[i].Uniforms);
+ blocks[i].IsShaderStorage = b->is_shader_storage;
+
i++;
}
} else {
blocks[i].NumUniforms =
(unsigned)(ptrdiff_t)(&variables[parcel.index] - blocks[i].Uniforms);
+ blocks[i].IsShaderStorage = b->is_shader_storage;
+
i++;
}
}
*/
GLuint UniformBufferSize;
+ /**
+ * Is this actually an interface block for a shader storage buffer?
+ */
+ bool IsShaderStorage;
+
/**
* Layout specified in the shader
*