#include "main/glheader.h"
#include "program/prog_parameter.h"
-
+#include "util/bitset.h"
struct gl_shader_program;
struct gl_shader;
bool store(struct gl_context *ctx, struct gl_shader_program *prog,
struct gl_transform_feedback_info *info, unsigned buffer,
unsigned buffer_index, const unsigned max_outputs,
- bool *explicit_stride, bool has_xfb_qualifiers) const;
+ BITSET_WORD *used_components[MAX_FEEDBACK_BUFFERS],
+ bool *explicit_stride, bool has_xfb_qualifiers,
+ const void *mem_ctx) const;
const tfeedback_candidate *find_candidate(gl_shader_program *prog,
hash_table *tfeedback_candidates);
+ void set_lowered_candidate(const tfeedback_candidate *candidate);
bool is_next_buffer_separator() const
{
return !this->next_buffer_separator && !this->skip_components;
}
+ bool is_aligned(unsigned dmul, unsigned offset) const
+ {
+ return (dmul * (this->array_subscript + offset)) % 4 == 0;
+ }
+
const char *name() const
{
return this->orig_name;