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 > > -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