http://bugs.freedesktop.org/show_bug.cgi?id=16520
--- Comment #19 from Tobias Jakobi <[EMAIL PROTECTED]> 2008-09-20 11:06:47 PST
---
(In reply to comment #18)
> Anyway, independently and just to be sure your issue is still related to
> non-zero padding bytes, you can try applying the following patch and running
> with the environment variable MESA_NO_CODEGEN (so that the generic code is
> executed instead of the SSE one).
>
> diff --git a/src/mesa/tnl/t_vertex_generic.c b/src/mesa/tnl/t_vertex_generic.c
> index c52da25..22324ab 100644
> --- a/src/mesa/tnl/t_vertex_generic.c
> +++ b/src/mesa/tnl/t_vertex_generic.c
> @@ -961,6 +961,7 @@ void _tnl_generic_emit( GLcontext *ctx,
> const GLuint stride = vtx->vertex_size;
> GLuint i, j;
>
> + _mesa_memset(v, 0, stride * count);
> for (i = 0 ; i < count ; i++, v += stride) {
> for (j = 0; j < attr_count; j++) {
> GLfloat *in = (GLfloat *)a[j].inputptr;
>
OK, I did this first. Reverted your previous patched and only added the memset
to t_vertex_generic.c
Compiled with:
./configure --with-driver=dri --disable-ttm-api --enable-glx-tls
--with-dri-drivers=i915 --enable-asm --disable-glut --without-demos
--disable-xcb --disable-debug --disable-glw --disable-motif
Started wine with MESA_NO_CODEGEN set.
This results in the same visuals your first patch does produce (corruptions
only affecting the trousers of the player model in certain viewing angles).
(In reply to comment #18)
> A part of my patch fixed a typo that prevented code for EMIT_3UB from being
> generated. I guess this code has never been exercised, and as it happens, it
> is
> probably wrong. In particular, the "make room for incoming value" comment
> could
> be probably state "who cares about the previous values, let's override them"
> instead (by definition of movss). I doubt it will fix your flashing trousers
> issue though. But just in case, can you comment out the block from line 515 to
> 540 in tnl/t_vertex_sse.c? So that the case "3UB + 1UB" fails and goes through
> the error code.
>
OK, so I removed the memset again and reapplied your patch. Then I commented
out the block at the lines you specified.
It looks now like this:
else /*if (j < vtx->attr_count - 1 &&
a[1].format == EMIT_1UB_1F &&
a[1].vertoffset == a->vertoffset + 3) {
get_src_ptr(p, srcECX, vtxESI, a);
emit_load(p, temp, 3, x86_deref(srcECX), a->inputsize);
update_src_ptr(p, srcECX, vtxESI, a);
// Make room for incoming value:
sse_shufps(&p->func, temp, temp, SHUF(W,X,Y,Z));
get_src_ptr(p, srcECX, vtxESI, &a[1]);
emit_load(p, temp, 1, x86_deref(srcECX), a[1].inputsize);
update_src_ptr(p, srcECX, vtxESI, &a[1]);
// Rearrange and possibly do BGR conversion:
if (a->format == EMIT_3UB_3F_BGR)
sse_shufps(&p->func, temp, temp, SHUF(W,Z,Y,X));
else
sse_shufps(&p->func, temp, temp, SHUF(Y,Z,W,X));
emit_pack_store_4ub(p, dest, temp);
j++; // NOTE: two attrs consumed
}
else*/ {
I hope this how you meant it.
Recompiled and started wine (this time without MESA_NO_CODEGEN). However
commenting out the block doesn't change the visuals. They look like the one
with only your first patch applied.
The only difference is the "Can't emit 3ub" message from mesa appearing on the
console while playing.
(In reply to comment #18)
>
> PS: Your webserver gives a 403 error.
>
Strange, it should work. I tested it just now and I can access and download the
patches. Also checked the permissions of the dir and files and they're also
correct. Can you try again fetching them?
If that doesn't work I can try uploading it somewhere else (nopaste, pastebin,
etc.)
Greets,
Tobias
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel