aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/main/context.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-11-29 12:44:10 +0100
committermarha <marha@users.sourceforge.net>2014-11-29 12:44:10 +0100
commit0dbe845b2f4ba08924d6fcb9634d09dc3dde13d6 (patch)
tree4fc0c706447f18bc522bb503273ec9e10f6c2ba5 /mesalib/src/mesa/main/context.c
parentd17578910169acabae7e67a3da8f26b5ed608ce6 (diff)
parentd6d5581d5fba846c8476ad4d593da662306765d7 (diff)
downloadvcxsrv-0dbe845b2f4ba08924d6fcb9634d09dc3dde13d6.tar.gz
vcxsrv-0dbe845b2f4ba08924d6fcb9634d09dc3dde13d6.tar.bz2
vcxsrv-0dbe845b2f4ba08924d6fcb9634d09dc3dde13d6.zip
Merge remote-tracking branch 'origin/released'
Conflicts: xorg-server/hw/xwin/winclip.c xorg-server/hw/xwin/winengine.c xorg-server/hw/xwin/winfont.c xorg-server/hw/xwin/wingc.c xorg-server/hw/xwin/wingetsp.c xorg-server/hw/xwin/winmisc.c xorg-server/hw/xwin/winnativegdi.c xorg-server/hw/xwin/winpfbdd.c xorg-server/hw/xwin/winpixmap.c xorg-server/hw/xwin/winpolyline.c xorg-server/hw/xwin/winscrinit.c xorg-server/hw/xwin/winsetsp.c xorg-server/hw/xwin/winwindow.c
Diffstat (limited to 'mesalib/src/mesa/main/context.c')
-rw-r--r--mesalib/src/mesa/main/context.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/mesalib/src/mesa/main/context.c b/mesalib/src/mesa/main/context.c
index 5a8f7184a..25b9bfc4c 100644
--- a/mesalib/src/mesa/main/context.c
+++ b/mesalib/src/mesa/main/context.c
@@ -133,6 +133,7 @@
#include "program/prog_print.h"
#include "math/m_matrix.h"
#include "main/dispatch.h" /* for _gloffset_COUNT */
+#include "uniforms.h"
#ifdef USE_SPARC_ASM
#include "sparc/sparc.h"
@@ -1949,6 +1950,17 @@ _mesa_valid_to_render(struct gl_context *ctx, const char *where)
}
}
+ /* If a program is active and SSO not in use, check if validation of
+ * samplers succeeded for the active program. */
+ if (ctx->_Shader->ActiveProgram && ctx->_Shader != ctx->Pipeline.Current) {
+ char errMsg[100];
+ if (!_mesa_sampler_uniforms_are_valid(ctx->_Shader->ActiveProgram,
+ errMsg, 100)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "%s", errMsg);
+ return GL_FALSE;
+ }
+ }
+
if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
_mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
"%s(incomplete framebuffer)", where);