<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Crash in src_register() during glClear() call"
href="https://bugs.freedesktop.org/show_bug.cgi?id=58718#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Crash in src_register() during glClear() call"
href="https://bugs.freedesktop.org/show_bug.cgi?id=58718">bug 58718</a>
from <span class="vcard"><a class="email" href="mailto:keith.kriewall@attachmate.com" title="Keith Kriewall <keith.kriewall@attachmate.com>"> <span class="fn">Keith Kriewall</span></a>
</span></b>
<pre>I've run into this with Mesa 9.0.2 and LLVM 3.2. It appears that the bitfields
in the prog_src_register struct (/src/mesa/program/prog_instruction.h) do not
translate correctly to the src_register() parameter types. A workaround is to
remove the bitfield (:<size>) specifications in the prog_src_register struct.
In translate_src(), the following call ..
struct ureg_src src = src_register( t, SrcReg->File, SrcReg->Index );
.. with the following data ..
t 0x0458d958 {ureg=0x03c51258 temps=0x0458d95c constants=0x03c5c3a8
...} st_translate *
SrcReg 0x03c597bc {File=0x00000001 Index=0x00000400 Swizzle=0x00000249 ...}
const prog_src_register *
File 0x00000001 unsigned int
Index 0x00000400 int
.. results in the following parameters to src_register():
<span class="quote">> opengl32.dll!src_register(st_translate * t=0x0458d958, gl_register_file file=0x03c7dd54, int index=0xf78cdac8) Line 227 + 0x11 bytes C</span >
You can see that 't' is passed correctly, but the bitfields for SrcReg->File
and SrcReg->Index have not.
I tried compiling LLVM and Mesa with all optimizations turned off, with no
change. (The debug build does not fail in this way, only the release build.)</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>