aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/state_tracker
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/mesa/state_tracker')
-rw-r--r--mesalib/src/mesa/state_tracker/st_cb_texture.c2
-rw-r--r--mesalib/src/mesa/state_tracker/st_draw.c8
-rw-r--r--mesalib/src/mesa/state_tracker/st_extensions.c2
3 files changed, 8 insertions, 4 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_cb_texture.c b/mesalib/src/mesa/state_tracker/st_cb_texture.c
index 354e58de9..8df753f7c 100644
--- a/mesalib/src/mesa/state_tracker/st_cb_texture.c
+++ b/mesalib/src/mesa/state_tracker/st_cb_texture.c
@@ -1707,7 +1707,7 @@ st_finalize_texture(struct gl_context *ctx,
firstImage->base.Width2,
firstImage->base.Height2,
firstImage->base.Depth2,
- stObj->base.BaseLevel,
+ firstImage->base.Level,
&width, &height, &depth)) {
width = stObj->width0;
height = stObj->height0;
diff --git a/mesalib/src/mesa/state_tracker/st_draw.c b/mesalib/src/mesa/state_tracker/st_draw.c
index 39a947df7..574802084 100644
--- a/mesalib/src/mesa/state_tracker/st_draw.c
+++ b/mesalib/src/mesa/state_tracker/st_draw.c
@@ -267,8 +267,8 @@ st_pipe_vertex_format(GLenum type, GLuint size, GLenum format,
/**
- * This is very similar to vbo_all_varyings_in_vbos() but we test
- * the stride. See bug 38626.
+ * This is very similar to vbo_all_varyings_in_vbos() but we are
+ * only interested in per-vertex data. See bug 38626.
*/
static GLboolean
all_varyings_in_vbos(const struct gl_client_array *arrays[])
@@ -276,7 +276,9 @@ all_varyings_in_vbos(const struct gl_client_array *arrays[])
GLuint i;
for (i = 0; i < VERT_ATTRIB_MAX; i++)
- if (arrays[i]->StrideB && !_mesa_is_bufferobj(arrays[i]->BufferObj))
+ if (arrays[i]->StrideB &&
+ !arrays[i]->InstanceDivisor &&
+ !_mesa_is_bufferobj(arrays[i]->BufferObj))
return GL_FALSE;
return GL_TRUE;
diff --git a/mesalib/src/mesa/state_tracker/st_extensions.c b/mesalib/src/mesa/state_tracker/st_extensions.c
index ef284ad70..e6572c85a 100644
--- a/mesalib/src/mesa/state_tracker/st_extensions.c
+++ b/mesalib/src/mesa/state_tracker/st_extensions.c
@@ -30,6 +30,7 @@
#include "main/context.h"
#include "main/macros.h"
#include "main/mfeatures.h"
+#include "main/version.h"
#include "pipe/p_context.h"
#include "pipe/p_defines.h"
@@ -216,6 +217,7 @@ void st_init_limits(struct st_context *st)
c->MaxProgramTexelOffset = screen->get_param(screen, PIPE_CAP_MAX_TEXEL_OFFSET);
c->GLSLVersion = 120;
+ _mesa_override_glsl_version(st->ctx);
c->UniformBooleanTrue = ~0;
}
}