Fixed with https://cgit.freedesktop.org/mesa/mesa/commit/?id=4317cd96d3022ad0ef7e1d5ffa82f5c2693bb44e.

Sorry.

On 03/06/2017 09:26 PM, Mark Janes wrote:
Does this work on AMD hardware?  It regresses every Intel GPU.

https://bugs.freedesktop.org/show_bug.cgi?id=100088

Samuel Pitoiset <samuel.pitoi...@gmail.com> writes:

This fixes the following assertion when the key is 0.

main/hash.c:181: _mesa_HashLookup_unlocked: Assertion `key' failed.

Fixes: 633c959fae ("getteximage: Return correct error value when texure object is 
not found")
Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
---
 src/mesa/main/texgetimage.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c
index c0c50b0518..37fda3dc9c 100644
--- a/src/mesa/main/texgetimage.c
+++ b/src/mesa/main/texgetimage.c
@@ -1458,7 +1458,9 @@ _mesa_GetTextureSubImage(GLuint texture, GLint level,
 {
    GET_CURRENT_CONTEXT(ctx);
    static const char *caller = "glGetTextureSubImage";
-   struct gl_texture_object *texObj =
+   struct gl_texture_object *texObj = NULL;
+
+   if (texture > 0)
       _mesa_lookup_texture(ctx, texture);

    if (!texObj) {
@@ -1774,9 +1776,11 @@ _mesa_GetCompressedTextureSubImage(GLuint texture, GLint 
level,
 {
    GET_CURRENT_CONTEXT(ctx);
    static const char *caller = "glGetCompressedTextureImage";
-   struct gl_texture_object *texObj;
+   struct gl_texture_object *texObj = NULL;
+
+   if (texture > 0)
+      texObj = _mesa_lookup_texture(ctx, texture);

-   texObj = _mesa_lookup_texture(ctx, texture);
    if (!texObj) {
       _mesa_error(ctx, GL_INVALID_VALUE, "%s(texture)", caller);
       return;
--
2.12.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to