summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler/glsl/link_varyings.cpp4
-rw-r--r--src/compiler/glsl/linker.cpp8
-rw-r--r--src/mesa/main/mtypes.h5
3 files changed, 9 insertions, 8 deletions
diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp
index e622b3e46bc..e339823a5fe 100644
--- a/src/compiler/glsl/link_varyings.cpp
+++ b/src/compiler/glsl/link_varyings.cpp
@@ -1136,11 +1136,11 @@ store_tfeedback_info(struct gl_context *ctx, struct gl_shader_program *prog,
/* Apply any xfb_stride global qualifiers */
if (has_xfb_qualifiers) {
for (unsigned j = 0; j < MAX_FEEDBACK_BUFFERS; j++) {
- if (prog->TransformFeedback.BufferStride[j]) {
+ if (prog->LinkedTransformFeedback.BufferStride[j]) {
buffers |= 1 << j;
explicit_stride[j] = true;
prog->LinkedTransformFeedback.Buffers[j].Stride =
- prog->TransformFeedback.BufferStride[j] / 4;
+ prog->LinkedTransformFeedback.BufferStride[j] / 4;
}
}
}
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index f3eece233e6..ac4191f2cd5 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -1691,19 +1691,19 @@ link_xfb_stride_layout_qualifiers(struct gl_context *ctx,
for (unsigned j = 0; j < MAX_FEEDBACK_BUFFERS; j++) {
if (linked_shader->info.TransformFeedback.BufferStride[j]) {
- prog->TransformFeedback.BufferStride[j] =
+ prog->LinkedTransformFeedback.BufferStride[j] =
linked_shader->info.TransformFeedback.BufferStride[j];
/* We will validate doubles at a later stage */
- if (prog->TransformFeedback.BufferStride[j] % 4) {
+ if (prog->LinkedTransformFeedback.BufferStride[j] % 4) {
linker_error(prog, "invalid qualifier xfb_stride=%d must be a "
"multiple of 4 or if its applied to a type that is "
"or contains a double a multiple of 8.",
- prog->TransformFeedback.BufferStride[j]);
+ prog->LinkedTransformFeedback.BufferStride[j]);
return;
}
- if (prog->TransformFeedback.BufferStride[j] / 4 >
+ if (prog->LinkedTransformFeedback.BufferStride[j] / 4 >
ctx->Const.MaxTransformFeedbackInterleavedComponents) {
linker_error(prog,
"The MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS "
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 85aeb1e0df3..5bbfd13cba7 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1696,6 +1696,9 @@ struct gl_transform_feedback_info
struct gl_transform_feedback_varying_info *Varyings;
GLint NumVarying;
+ /** Global xfb_stride out qualifier if any */
+ GLuint BufferStride[MAX_FEEDBACK_BUFFERS];
+
struct gl_transform_feedback_buffer Buffers[MAX_FEEDBACK_BUFFERS];
};
@@ -2740,8 +2743,6 @@ struct gl_shader_program
*/
struct {
GLenum BufferMode;
- /** Global xfb_stride out qualifier if any */
- GLuint BufferStride[MAX_FEEDBACK_BUFFERS];
GLuint NumVarying;
GLchar **VaryingNames; /**< Array [NumVarying] of char * */
} TransformFeedback;