diff options
Diffstat (limited to 'mesalib/src')
-rw-r--r-- | mesalib/src/glsl/TODO | 14 | ||||
-rw-r--r-- | mesalib/src/glsl/opt_copy_propagation_elements.cpp | 1 | ||||
-rw-r--r-- | mesalib/src/mesa/main/teximage.c | 7 |
3 files changed, 9 insertions, 13 deletions
diff --git a/mesalib/src/glsl/TODO b/mesalib/src/glsl/TODO index c99d7e152..eb73fc2e8 100644 --- a/mesalib/src/glsl/TODO +++ b/mesalib/src/glsl/TODO @@ -6,22 +6,10 @@ constant index values. For others it is more complicated. Perhaps these cases should be silently converted to uniforms? -- Implement support for ir_binop_dot in ir_algebraic.cpp. Perform +- Implement support for ir_binop_dot in opt_algebraic.cpp. Perform transformations such as "dot(v, vec3(0.0, 1.0, 0.0))" -> v.y. - Track source locations throughout the IR. There are currently several places where we cannot emit line numbers for errors (and currently emit 0:0) because we've "lost" the line number information. This is particularly noticeable at link time. - -1.30 features: - -- Implement AST-to-HIR conversion of switch-statements - - switch - - case - - Update break to correcly handle mixed nexting of switch-statements - and loops. - -- Implement support for gl_ClipDistance. This is non-trivial because - gl_ClipDistance is exposed as a float[8], but all hardware actually - implements it as vec4[2].
\ No newline at end of file diff --git a/mesalib/src/glsl/opt_copy_propagation_elements.cpp b/mesalib/src/glsl/opt_copy_propagation_elements.cpp index 314db4e18..11d9d7baf 100644 --- a/mesalib/src/glsl/opt_copy_propagation_elements.cpp +++ b/mesalib/src/glsl/opt_copy_propagation_elements.cpp @@ -93,6 +93,7 @@ public: ir_copy_propagation_elements_visitor() { this->progress = false; + this->killed_all = false; this->mem_ctx = ralloc_context(NULL); this->shader_mem_ctx = NULL; this->acp = new(mem_ctx) exec_list; diff --git a/mesalib/src/mesa/main/teximage.c b/mesalib/src/mesa/main/teximage.c index 23486467d..50095d2c6 100644 --- a/mesalib/src/mesa/main/teximage.c +++ b/mesalib/src/mesa/main/teximage.c @@ -2692,6 +2692,13 @@ _mesa_EGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image) texObj = _mesa_get_current_tex_object(ctx, target); _mesa_lock_texture(ctx, texObj); + if (texObj->Immutable) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glEGLImageTargetTexture2D(texture is immutable)"); + _mesa_unlock_texture(ctx, texObj); + return; + } + texImage = _mesa_get_tex_image(ctx, texObj, target, 0); if (!texImage) { _mesa_error(ctx, GL_OUT_OF_MEMORY, "glEGLImageTargetTexture2D"); |