yes, the assertions are still accurate. I haven't been able to get a stack trace yet. If I don't get to it perhaps Tapani can take a look this evening.
Ian Romanick <i...@freedesktop.org> writes: > On 10/06/2015 09:31 AM, Mark Janes wrote: >> Mark Janes <mark.a.ja...@intel.com> writes: >> >>> I tested this patch and found: >>> >>> regressions: >>> spec.arb_shader_storage_buffer_object.layout-std140-write-shader (BDW >>> only) >>> expected[1] = 1.00. Read value: 0.00 >> >> In subsequent testing I found this BDW failure to be a pre-existing and >> intermittent. It is not due to this patch set. >> >>> >>> spec.arb_copy_image.arb_copy_image-srgb-copy (assertion) >>> arb_copy_image-srgb-copy: src/mesa/main/texobj.c:1739: >>> _mesa_BindTexture: Assertion `newTexObj->TargetIndex == targetIndex' >>> failed. >>> >>> fixes: >>> spec.!opengl 1_0.gl-1.0-beginend-coverage >>> spec.!opengl 1_0.gl-1.0-no-op-paths >>> spec.arb_copy_image.arb_copy_image-formats > > But are the assertion and fixes still accurate? > >>> >>> -Mark >>> >>> Brian Paul <bri...@vmware.com> writes: >>> >>>> Callers of create_texture() will either pass target=0 or a validated >>>> GL texture target enum so no need to do another error check inside >>>> the loop. >>>> --- >>>> src/mesa/main/texobj.c | 11 ++--------- >>>> 1 file changed, 2 insertions(+), 9 deletions(-) >>>> >>>> diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c >>>> index 173e43c..aa4b38c 100644 >>>> --- a/src/mesa/main/texobj.c >>>> +++ b/src/mesa/main/texobj.c >>>> @@ -1211,6 +1211,7 @@ _mesa_create_nameless_texture(struct gl_context >>>> *ctx, GLenum target) >>>> * glCreateTextures should throw errors if target = 0. This is not >>>> exposed to >>>> * the rest of Mesa to encourage Mesa internals to use nameless textures, >>>> * which do not require expensive hash lookups. >>>> + * \param target either 0 or a a valid / error-checked texture target >>>> enum >>>> */ >>>> static void >>>> create_textures(struct gl_context *ctx, GLenum target, >>>> @@ -1219,6 +1220,7 @@ create_textures(struct gl_context *ctx, GLenum >>>> target, >>>> GLuint first; >>>> GLint i; >>>> const char *func = dsa ? "Create" : "Gen"; >>>> + const GLint targetIndex = _mesa_tex_target_to_index(ctx, target); >>>> >>>> if (MESA_VERBOSE & (VERBOSE_API|VERBOSE_TEXTURE)) >>>> _mesa_debug(ctx, "gl%sTextures %d\n", func, n); >>>> @@ -1241,7 +1243,6 @@ create_textures(struct gl_context *ctx, GLenum >>>> target, >>>> /* Allocate new, empty texture objects */ >>>> for (i = 0; i < n; i++) { >>>> struct gl_texture_object *texObj; >>>> - GLint targetIndex; >>>> GLuint name = first + i; >>>> texObj = ctx->Driver.NewTextureObject(ctx, name, target); >>>> if (!texObj) { >>>> @@ -1252,14 +1253,6 @@ create_textures(struct gl_context *ctx, GLenum >>>> target, >>>> >>>> /* Initialize the target index if target is non-zero. */ >>>> if (target != 0) { >>>> - targetIndex = _mesa_tex_target_to_index(ctx, texObj->Target); >>>> - if (targetIndex < 0) { /* Bad Target */ >>>> - mtx_unlock(&ctx->Shared->Mutex); >>>> - _mesa_error(ctx, GL_INVALID_ENUM, "gl%sTextures(target = %s)", >>>> - func, _mesa_enum_to_string(texObj->Target)); >>>> - return; >>>> - } >>>> - assert(targetIndex < NUM_TEXTURE_TARGETS); >>>> texObj->TargetIndex = targetIndex; >>>> } >>>> >>>> -- >>>> 1.9.1 >>>> >>>> _______________________________________________ >>>> mesa-dev mailing list >>>> mesa-dev@lists.freedesktop.org >>>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >>> _______________________________________________ >>> mesa-dev mailing list >>> mesa-dev@lists.freedesktop.org >>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev