[Mesa-dev] [Bug 29044] GLSL compiler tracker

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29044

Eric Anholt  changed:

   What|Removed |Added

 Depends on||27143

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29044] GLSL compiler tracker

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29044

Eric Anholt  changed:

   What|Removed |Added

 Blocks||28138

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Merge criteria for glsl2 branch

2010-07-21 Thread Corbin Simpson
I personally do not care about Gallium breakage as long as the classic
drivers do not break. This is because any Gallium breakage in that case
would necessarily be from Gallium bugs, which I'd rather find sooner than
later.

Posting from a mobile, pardon my terseness. ~ C.

On Jul 21, 2010 6:58 PM, "Ian Romanick"  wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

As everyone knows, a group of us at Intel have been rewriting Mesa's
GLSL compiler.  The work started out-of-tree as a stand alone compiler.
 We moved all of our work to the glsl2 branch in the Mesa tree as soon
as we had some actual code being generated.  This was about month ago.
Since that time we have implemented quite a bit more code generation and
a complete linker.  The compiler is not done, but it gets closer every day.

I think now is the time to start discussing merge criteria.  It is well
known that the Intel graphics team favors quarterly releases.  In order
to align with other people's release schedules, we'd really like to have
the new compiler in a Mesa release at the end of Q3 (end of September /
beginning of October).  That's just over two months from now.  In order
to have a credible release, the compiler needs to be merged to master
before then.  A reasonable estimate puts the end of August as the latest
possible merge time.  Given how far the compiler has come in the last
month, I have a lot of faith in being able to hit that target.

We have developed our own set of merge requirements, and these are
listed below.  Since this is such a large subsystem, we want to solicit
input from the other stakeholders.

 * No piglit regressions, except draw_buffers-05.vert, compared to
   master in swrast, i965, or i915.

 * Any failing tests do not crash (segfault, assertion failure, etc.).

draw_buffers-05.vert is specifically excluded because I'm not sure the
test is correct.

One of the items on the TODO list is proper support for GLSL ES.  That
work won't happen until the last couple weeks of August, so I don't
think any sort of ES testing is suitable merge criteria.  Unless, of
course, the tests in question should also work on desktop GLSL.

We haven't and, for all practical purposes, can't test with Gallium or
other hardware drivers.  The new compiler generates the same assembly IR
that the current compiler generates.  We haven't added any instructions.
 It does, however, generate different combinations of instructions,
different uses of registers, and so on.  We don't expect there to be
significant impact on other hardware, but there may be some.  The
optimizer in r300 will certainly see different sequences of instructions
than it is accustomed to seeing.  I can't foresee what impact this will
have on that driver.

I have put up the results of master and the glsl2 branch at
http://people.freedesktop.org/~idr/results/.  This run off
compiler.tests from the glsl2 branch of Eric's piglit repository.  A few
of the failures (half a dozen or so) on master seem to be mutex related
in the GLX code.  Kristian is working on fixing that. :)

We're already very close to our proposed merge criteria.

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkxHpJUACgkQX1gOwKyEAw9xfACfZkCpOE0Qo3+OXVJztiPVKpss
FPwAn1NvXiSqXZk+XyWpRgPNfI5QtI18
=2Qs1
-END PGP SIGNATURE-
___
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


Re: [Mesa-dev] opencl (clover) patches question

2010-07-21 Thread Corbin Simpson
Normally I wouldn't mind opening a new branch for your patches, but I don't
have commit access to that repo and don't know the code. Zack?

Posting from a mobile, pardon my terseness. ~ C.

On Jul 21, 2010 6:10 PM, "Anthony Waters"  wrote:

mesa-dev,

I've done some work with mesa's implementation of opencl (clover) (bug
fixes and features), is it acceptable to email the patches to this
list?  I noticed a patch from 6+ months ago was never applied
http://www.mail-archive.com/mesa3d-...@lists.sourceforge.net/msg10561.html
from another author.  It would be best if this patch was applied first
(part of my patches address the same concerns so it would be ideal for
me to work off of them and merge my changes).
___
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] Merge criteria for glsl2 branch

2010-07-21 Thread Ian Romanick
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

As everyone knows, a group of us at Intel have been rewriting Mesa's
GLSL compiler.  The work started out-of-tree as a stand alone compiler.
 We moved all of our work to the glsl2 branch in the Mesa tree as soon
as we had some actual code being generated.  This was about month ago.
Since that time we have implemented quite a bit more code generation and
a complete linker.  The compiler is not done, but it gets closer every day.

I think now is the time to start discussing merge criteria.  It is well
known that the Intel graphics team favors quarterly releases.  In order
to align with other people's release schedules, we'd really like to have
the new compiler in a Mesa release at the end of Q3 (end of September /
beginning of October).  That's just over two months from now.  In order
to have a credible release, the compiler needs to be merged to master
before then.  A reasonable estimate puts the end of August as the latest
possible merge time.  Given how far the compiler has come in the last
month, I have a lot of faith in being able to hit that target.

We have developed our own set of merge requirements, and these are
listed below.  Since this is such a large subsystem, we want to solicit
input from the other stakeholders.

 * No piglit regressions, except draw_buffers-05.vert, compared to
master in swrast, i965, or i915.

 * Any failing tests do not crash (segfault, assertion failure, etc.).

draw_buffers-05.vert is specifically excluded because I'm not sure the
test is correct.

One of the items on the TODO list is proper support for GLSL ES.  That
work won't happen until the last couple weeks of August, so I don't
think any sort of ES testing is suitable merge criteria.  Unless, of
course, the tests in question should also work on desktop GLSL.

We haven't and, for all practical purposes, can't test with Gallium or
other hardware drivers.  The new compiler generates the same assembly IR
that the current compiler generates.  We haven't added any instructions.
 It does, however, generate different combinations of instructions,
different uses of registers, and so on.  We don't expect there to be
significant impact on other hardware, but there may be some.  The
optimizer in r300 will certainly see different sequences of instructions
than it is accustomed to seeing.  I can't foresee what impact this will
have on that driver.

I have put up the results of master and the glsl2 branch at
http://people.freedesktop.org/~idr/results/.  This run off
compiler.tests from the glsl2 branch of Eric's piglit repository.  A few
of the failures (half a dozen or so) on master seem to be mutex related
in the GLX code.  Kristian is working on fixing that. :)

We're already very close to our proposed merge criteria.

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkxHpJUACgkQX1gOwKyEAw9xfACfZkCpOE0Qo3+OXVJztiPVKpss
FPwAn1NvXiSqXZk+XyWpRgPNfI5QtI18
=2Qs1
-END PGP SIGNATURE-
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] opencl (clover) patches question

2010-07-21 Thread Anthony Waters
mesa-dev,

I've done some work with mesa's implementation of opencl (clover) (bug
fixes and features), is it acceptable to email the patches to this
list?  I noticed a patch from 6+ months ago was never applied
http://www.mail-archive.com/mesa3d-...@lists.sourceforge.net/msg10561.html
from another author.  It would be best if this patch was applied first
(part of my patches address the same concerns so it would be ideal for
me to work off of them and merge my changes).
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Gallium depth clamp support

2010-07-21 Thread Brian Paul

On 07/21/2010 05:19 PM, Marek Olšák wrote:

On Thu, Jul 22, 2010 at 12:17 AM, Roland Scheidegger mailto:srol...@vmware.com>> wrote:

Marek Olšák wrote:

Hi,

there is a new branch gallium-depth-clamp in the main repository
which implements ARB_depth_clamp in Gallium. Wine uses this
extension to disable clipping when it's requested from a D3D9
app, so it's an important one.

There is a new state "depth_clamp" in pipe_clip_state, and a new
cap PIPE_CAP_DEPTH_CLAMP. If you think this feature should be
mandatory in Gallium instead, it's ok with me. There are several
reasons I put the enable bit in pipe_clip_state, but the most
important one is that Z clipping must be disabled in hardware
first for it to work. It also implements depth_clamp handling in
cso_cache and wires up ARB_depth_clamp in st/mesa.

The support in Draw has also been implemented, and both softpipe
and llvmpipe pass piglit/depth_clamp and piglit/depth-clamp-range.

http://cgit.freedesktop.org/mesa/mesa/log/?h=gallium-depth-clamp


One thing I was wondering does it actually make sense to call it
depth clamp? I think d3d10 name for once (which calls this
functionality depth clip though of course this means enable/disable
is reversed) makes more sense - this disables near/far plane
clipping, hence the necessity to clamp to 0/1.
I guess having this in clip state is ok - d3d10 puts depth clip into
rasterizer state, but then again d3d10 doesn't have any clip state...


Depth clip does sound better to me, but honestly I don't care how we
call it. If you like the D3D naming, so be it.


There's two aspects to the GL extension:
 - near/far Z clipping
 - fragment Z clamping during interpolation

I think pipe_clip_state::depth_clamp should become 
pipe_clip_state::depth_clip.


Then, I'd probably add the second part of this as 
pipe_rasterizer_state::depth_clamp to enable/disable fragment Z clamping.


GL would set both pieces of state in tandem.  I think we should have 
two pieces of state to avoid interdependencies between clip state and 
rasterization state in the drivers.


I'm not sure how this is expressed in Direct3D.

-Brian
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Gallium depth clamp support

2010-07-21 Thread Marek Olšák
On Thu, Jul 22, 2010 at 12:17 AM, Roland Scheidegger wrote:

> Marek Olšák wrote:
>
>> Hi,
>>
>> there is a new branch gallium-depth-clamp in the main repository which
>> implements ARB_depth_clamp in Gallium. Wine uses this extension to disable
>> clipping when it's requested from a D3D9 app, so it's an important one.
>>
>> There is a new state "depth_clamp" in pipe_clip_state, and a new cap
>> PIPE_CAP_DEPTH_CLAMP. If you think this feature should be mandatory in
>> Gallium instead, it's ok with me. There are several reasons I put the enable
>> bit in pipe_clip_state, but the most important one is that Z clipping must
>> be disabled in hardware first for it to work. It also implements depth_clamp
>> handling in cso_cache and wires up ARB_depth_clamp in st/mesa.
>>
>> The support in Draw has also been implemented, and both softpipe and
>> llvmpipe pass piglit/depth_clamp and piglit/depth-clamp-range.
>>
>> http://cgit.freedesktop.org/mesa/mesa/log/?h=gallium-depth-clamp
>>
>
> One thing I was wondering does it actually make sense to call it depth
> clamp? I think d3d10 name for once (which calls this functionality depth
> clip though of course this means enable/disable is reversed) makes more
> sense - this disables near/far plane clipping, hence the necessity to clamp
> to 0/1.
> I guess having this in clip state is ok - d3d10 puts depth clip into
> rasterizer state, but then again d3d10 doesn't have any clip state...
>

Depth clip does sound better to me, but honestly I don't care how we call
it. If you like the D3D naming, so be it.

-Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Gallium depth clamp support

2010-07-21 Thread Roland Scheidegger

Marek Olšák wrote:

Hi,

there is a new branch gallium-depth-clamp in the main repository which 
implements ARB_depth_clamp in Gallium. Wine uses this extension to 
disable clipping when it's requested from a D3D9 app, so it's an 
important one.


There is a new state "depth_clamp" in pipe_clip_state, and a new cap 
PIPE_CAP_DEPTH_CLAMP. If you think this feature should be mandatory in 
Gallium instead, it's ok with me. There are several reasons I put the 
enable bit in pipe_clip_state, but the most important one is that Z 
clipping must be disabled in hardware first for it to work. It also 
implements depth_clamp handling in cso_cache and wires up 
ARB_depth_clamp in st/mesa.


The support in Draw has also been implemented, and both softpipe and 
llvmpipe pass piglit/depth_clamp and piglit/depth-clamp-range.


http://cgit.freedesktop.org/mesa/mesa/log/?h=gallium-depth-clamp


One thing I was wondering does it actually make sense to call it depth 
clamp? I think d3d10 name for once (which calls this functionality depth 
clip though of course this means enable/disable is reversed) makes more 
sense - this disables near/far plane clipping, hence the necessity to 
clamp to 0/1.
I guess having this in clip state is ok - d3d10 puts depth clip into 
rasterizer state, but then again d3d10 doesn't have any clip state...


Roland
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29148] KWin segfaults when OpenGL desktop effects are enabled

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29148

--- Comment #6 from Chris Haumesser  2010-07-21 14:47:50 PDT ---
The problem persists for me, too. Exact same symptoms as in comment 2, using
7.9.0+git20100720.bab484a5 meas version (latest in xorg-edgers ppa).

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Mesa (master): dri2: Remove an unused variable.

2010-07-21 Thread Jerome Glisse

On 07/21/2010 04:29 PM, Carl Worth wrote:

Module: Mesa
Branch: master
Commit: c0ca2bfb2ad8cf7fb9d756b5ae52cb77236ff605
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0ca2bfb2ad8cf7fb9d756b5ae52cb77236ff605

Author: Carl Worth
Date:   Wed Jul 21 13:17:05 2010 -0700

dri2: Remove an unused variable.

To quiet a compiler warning.

---

  src/glx/dri2.c |1 -
  1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/src/glx/dri2.c b/src/glx/dri2.c
index ab530ba..6b8b2b9 100644
--- a/src/glx/dri2.c
+++ b/src/glx/dri2.c
@@ -88,7 +88,6 @@ static Bool
  DRI2WireToEvent(Display *dpy, XEvent *event, xEvent *wire)
  {
 XExtDisplayInfo *info = DRI2FindDisplay(dpy);
-   XExtDisplayInfo *glx_info = __glXFindDisplay(dpy);

 XextCheckExtension(dpy, info, dri2ExtensionName, False);


___
mesa-commit mailing list
mesa-com...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


It's used if X_DRI2SwapBuffers is defined, we can silence out
the warning another way if you want. I pushed a revert from
your patch.

Cheers,
Jerome
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29148] KWin segfaults when OpenGL desktop effects are enabled

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29148

--- Comment #5 from Alain Perrot  2010-07-21 14:34:03 
PDT ---
After a reboot, KDE failed again to start a session with OpenGL effects
enabled... No segfault, screen freezed on KDE start screen, mouse cursor
moving.

KDE starts without a problem with XRender effects.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Gallium depth clamp support

2010-07-21 Thread Marek Olšák
On Wed, Jul 21, 2010 at 3:54 PM, Keith Whitwell  wrote:

> On Wed, 2010-07-21 at 01:49 -0700, Marek Olšák wrote:
> > Hi,
> >
> > there is a new branch gallium-depth-clamp in the main repository which
> > implements ARB_depth_clamp in Gallium. Wine uses this extension to
> > disable clipping when it's requested from a D3D9 app, so it's an
> > important one.
> >
> > There is a new state "depth_clamp" in pipe_clip_state, and a new cap
> > PIPE_CAP_DEPTH_CLAMP. If you think this feature should be mandatory in
> > Gallium instead, it's ok with me. There are several reasons I put the
> > enable bit in pipe_clip_state, but the most important one is that Z
> > clipping must be disabled in hardware first for it to work. It also
> > implements depth_clamp handling in cso_cache and wires up
> > ARB_depth_clamp in st/mesa.
> >
> > The support in Draw has also been implemented, and both softpipe and
> > llvmpipe pass piglit/depth_clamp and piglit/depth-clamp-range.
> >
> > http://cgit.freedesktop.org/mesa/mesa/log/?h=gallium-depth-clamp
> >
> > Please review.
> >
> > -Marek
>
>
> Marek,
>
> This looks like a useful change.
>
> I'm not sure it's actually going go give the expected results for
> softpipe/llvmpipe or other users of the path you've put into the draw
> module.
>
> In particular it looks like the spec calls for clamping depth on a
> per-pixel basis, where as this is doing it per-vertex.
>
> The difference is that the spec would allow a triangle with one distant
> vertex to hit the far plane and then be clamped to it, whereas your
> change means that the triangle as a whole will be altered to be in front
> of the depth plane and touch it at one vertex.
>
> Basically, I think the draw change needs to reduced to just disabling
> depth clipping, and (if you like) a clamp(depth, 0, 1) introduced into
> softpipe/llvmpipe.  Or just don't advertise the cap for
> softpipe/llvmpipe.
>

You're absolutely right. Ok then, I've corrected the Draw changes and
committed the patches without advertising the cap for software pipes.

-Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29148] KWin segfaults when OpenGL desktop effects are enabled

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29148

--- Comment #4 from Alain Perrot  2010-07-21 13:28:34 
PDT ---
I still had problem with version 7.9.0+git20100719.3750ebd5-0ubuntu0sarvatt of
mesa packages from Xorg-edgers PPA (which, given the version string, I suppose
contain the commit you point to): kwin did not segfault, but the whole desktop
freezed, with the mouse cursor still moving. I could still switch to a terminal
(Ctrl Alt F1) and restart a new X (sudo service kdm restart).

But the newest version 7.9.0+git20100720.bab484a5-0ubuntu0sarvatt of mesa
packages seems to work so far.


[Well, some 3D effects that used to work with mesa/r600 and KDE 4.4.x are now
unsupported (ie. the cover flow window switching) or dead slow (ie. the session
start/end shading) with KDE 4.5, but that's a another issue.]

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29148] KWin segfaults when OpenGL desktop effects are enabled

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29148

--- Comment #3 from Kristian Høgsberg  2010-07-21 13:04:31 
PDT ---
This commit should fix it:

commit 3750ebd540510324ef5ada769537ae05309adadb
Author: Kristian Høgsberg 
Date:   Mon Jul 19 09:37:07 2010 -0400

glx: Fix drawable lookup in DRI2 event handler

DRI2 events are sent to the X drawable ID used to create the DRI2 drawable,
not the GLX drawable ID.  So when an event comes in, we need to look up
the __GLXDRIdrawable by its X drawable ID, which needs a new hash table.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29148] KWin segfaults when OpenGL desktop effects are enabled

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29148

Chris Haumesser  changed:

   What|Removed |Added

 CC||c...@wryfi.net

--- Comment #2 from Chris Haumesser  2010-07-21 12:10:45 PDT ---
I can confirm this bug as well. Since upgrading to mesa 7.9.0+git20100716 via
xorg-edgers, compositing in KDE has stopped working (I may have skipped a
couple of versions in between). The last known working version for me was also
the 20100714 build.

When I run kwin from a terminal, the following is printed when trying to enable
compositing from System Settings:

kwin(6143) KWin::Workspace::slotReconfigure: Workspace::slotReconfigure()
kwin(6143) KWin::Extensions::init: Extensions: shape: 0x "11"  composite: 0x
"4"  render: 0x "b"  fixes: 0x "40"
kwin(6143) KWin::CompositingPrefs::detect: glx version is  1 . 4
kwin(6143) KWin::CompositingPrefs::initGLXContext: Error: couldn't find RGB GLX
visual
kwin(6143) KDecorationPlugins::loadPlugin: kwin : path 
"/usr/lib/kde4/kwin3_oxygen.so"  for  "kwin3_oxygen"
kwin(6143) KWin::Extensions::init: Extensions: shape: 0x "11"  composite: 0x
"4"  render: 0x "b"  fixes: 0x "40"
kwin(6143) KWin::Workspace::setupCompositing: OpenGL compositing
kwin(6143): GLX_SGIX_fbconfig or required GLX functions missing 
kwin(6143): Failed to initialize compositing, compositing disabled

Software :
- Kubuntu Lucid, AMD64
- Linux 2.6.34.1
- KDE SC 4.4.5
- Mesa 7.9.0 (master) from Xorg-edgers PPA repository

Hardware :
- Mobility Radeon HD 3400 Series (RV620)
- ThinkPad T400

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29199] Using negation as an argument to a shader function sometimes negates twice

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29199

--- Comment #1 from Neil Roberts  2010-07-21 11:41:33 PDT 
---
Created an attachment (id=37276)
 View: https://bugs.freedesktop.org/attachment.cgi?id=37276
 Review: https://bugs.freedesktop.org/review?bug=29199&attachment=37276

Add a shader which does a negation as one of the arguments to dot

This is basically doing:

 vec3 a_vec;
 vec3 b_vec;
 /* some random calculations */
 float result = dot(-a_vec, b_vec);

But for some reason it currently gets compiled as if it was:

 vec3 a_vec;
 vec3 b_vec;
 /* some random calculations */
 float result = dot(--a_vec, b_vec);

Ie, the negation gets done twice.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29199] New: Using negation as an argument to a shader function sometimes negates twice

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29199

   Summary: Using negation as an argument to a shader function
sometimes negates twice
   Product: Mesa
   Version: git
  Platform: Other
OS/Version: All
Status: NEW
  Severity: normal
  Priority: medium
 Component: Mesa core
AssignedTo: mesa-dev@lists.freedesktop.org
ReportedBy: n...@linux.intel.com


In some situations (I'm not exactly sure what) if you use the unary negate
operator in one of the arguments to a function then Mesa generates opcodes
which do the negation twice (once in a MOV and once as part of a swizzle).

For example, something like this:

vec3 vec_a;
vec3 vec_b;

/*  */

float result = dot(-vec_a, vec_b);

generates the following instructions:

MOV TEMP[1].xyz, TEMP[1].-x-y-z-w;   <-- negation once with MOV
MOV (-1 -0 -0 -0)
DP3 TEMP[0].w, TEMP[1].-x-y-z-w, UNIFORM[1]; <-- negation again with swizzle
DP3 -1 = (1 0 0) . (-1 0 0)

Attached is a test for piglit.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29192] Kwin crashed after checking an advanced setting in Desktop Effects

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29192

--- Comment #2 from Leonardo La Malfa  2010-07-21 08:30:46 
PDT ---
> This second report looks just like bug 29170, and your issue could very well
> be related to it.  Can you try the mesa patch there and see if it helps?

Sure, I'd like to. Unfortunately, I've never applied any patch, sorry to be a
nuysance. When I click on your attachment (is that the right file?) I get some
code. What's the correct way to go about it? Many thanks!

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Unified pipe_context::draw_vbo thoughts

2010-07-21 Thread Keith Whitwell
On Mon, 2010-07-19 at 00:46 -0700, Chia-I Wu wrote:
> [change the subject because of typo and it is not about the patch]
> 
> On Sun, Jul 18, 2010 at 7:31 PM, Keith Whitwell  wrote:
> > If we're reorganising these interfaces, there are a couple of things I'd
> > like to see done differently.  In particular, within your draw_info
> > struct there are a couple of entities which are often better handled as
> > persistent state - namely the primitive mode and index buffer binding.
> >
> > Right now we've got a single call which sets as much state as
> > glMultiDrawElementsIndexed, but which can only draw a single primitive.
> >
> > The ways out of this situation are to either move state out of
> > per-primitive transaction, or to modify the interface to accept >1
> > primitive at a time.
> >
> > My preference would be to move primitive mode & index buffer (and other
> > stuff too?) out of your info struct and turn them into new dynamic state
> > calls.
> > Having done that, it may still be worth considering passing >1 of your
> > info structs to the new unified entrypoints...
> I considered moving the index buffer state out, but I am not sure how to
> formulate int.  Consider having a method that supports glMultiDrawElements.  
> If
> the indices pointers point to different buffers in client memory, we need
> multiple index buffers.  

I think the meaning of those pointers when an element array object is
bound is just different offsets into that buffer, as below.

> Even if all indices pointers are offsets to the
> currently bound index buffer, which may not be aligned to the index size, it
> seems to me that multiple index buffers are still desired.

I don't really see why that's the case -- GL itself is happy having just
a single element array binding point - we're just discussing promoting
the same concept into gallium.

So basically I think you're worrying about something which isn't an
actual requirement.

> As i965 does not seem to support multiple index buffers, I am favoring single
> index buffer, and skiping direct support for glMultiDrawElements in
> pipe_context at the moment.  Then, the index buffer state would look like
> 
>   struct pipe_index_buffer
>   {
>  unsigned index_size;/**< size of an index, in bytes */
>  unsigned offset;/**< offset to start of data in buffer */
>  struct pipe_resource *buffer; /**< the actual buffer */
>   };

This looks good.

> pipe_context::draw_vbo is unchanged, but pipe_draw_info is changed to
> 
>   struct pipe_draw_info
>   {
>  unsigned mode;
>  unsigned start;
>  unsigned count;
> 
>  unsigned first_instance;
>  unsigned instance_count;
> 
>  int index_bias;
>  unsigned min_index;
>  unsigned max_index;
>   };
> 
> The last 3 fields are redundant for non-indexed drawing, but they still make
> sense (min_index == start, max_index == start + count - 1).  Having the fields
> in the struct and having a single draw_vbo allow us to support indexed and
> non-indexed drawing in a single loop in st_draw_vbo.
> 
> The struct can be extended to include "index buffer index" if multiple index
> buffers are desired.  The purpose of using a struct here as the argument is
> that it is easier to be passed around inside a pipe driver and is easier to
> extend.
> 
> I keep mode in the struct so that if in the future, the imaginary
> glMultiModeMultiDrawElementsInstancedBaseVertex is introduced, we can support
> it by changing draw_vbo to take an array of pipe_draw_info.  Hardware (i965)
> also seems to send the primitive type along with the draw command.

It does, but the driver also sets up a bunch of hardware state in a
primitive dependent fashion.

I don't really feel strongly about primitive in/out of the struct, but
it does seem to be something which ends up being treated as state inside
most drivers - ie changes to primitive or reduced_primitive end up
triggering an update_state(), while usually the rest of the data there
does not.

> This is my current thoughts.  Suggestions appreciated.

I like this a lot.  I don't mind either way on mode, so this looks like
a good change to me.

I guess if we move enough stuff into state, the number of arguments to
this call get small enough that it no longer seems necessary to use a
struct...  

Keith


___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29192] Kwin crashed after checking an advanced setting in Desktop Effects

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29192

Nick Bowler  changed:

   What|Removed |Added

 CC||nbow...@draconx.ca

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Gallium depth clamp support

2010-07-21 Thread Keith Whitwell
On Wed, 2010-07-21 at 06:54 -0700, Keith Whitwell wrote:
> On Wed, 2010-07-21 at 01:49 -0700, Marek Olšák wrote:
> > Hi,
> > 
> > there is a new branch gallium-depth-clamp in the main repository which
> > implements ARB_depth_clamp in Gallium. Wine uses this extension to
> > disable clipping when it's requested from a D3D9 app, so it's an
> > important one.
> > 
> > There is a new state "depth_clamp" in pipe_clip_state, and a new cap
> > PIPE_CAP_DEPTH_CLAMP. If you think this feature should be mandatory in
> > Gallium instead, it's ok with me. There are several reasons I put the
> > enable bit in pipe_clip_state, but the most important one is that Z
> > clipping must be disabled in hardware first for it to work. It also
> > implements depth_clamp handling in cso_cache and wires up
> > ARB_depth_clamp in st/mesa.
> > 
> > The support in Draw has also been implemented, and both softpipe and
> > llvmpipe pass piglit/depth_clamp and piglit/depth-clamp-range.
> > 
> > http://cgit.freedesktop.org/mesa/mesa/log/?h=gallium-depth-clamp
> > 
> > Please review.
> > 
> > -Marek
> 
> 
> Marek,
> 
> This looks like a useful change. 
> 
> I'm not sure it's actually going go give the expected results for
> softpipe/llvmpipe or other users of the path you've put into the draw
> module.
> 
> In particular it looks like the spec calls for clamping depth on a
> per-pixel basis, where as this is doing it per-vertex.   
> 
> The difference is that the spec would allow a triangle with one distant
> vertex to hit the far plane and then be clamped to it, whereas your
> change means that the triangle as a whole will be altered to be in front
> of the depth plane and touch it at one vertex.
> 
> Basically, I think the draw change needs to reduced to just disabling
> depth clipping, and (if you like) a clamp(depth, 0, 1) introduced into
> softpipe/llvmpipe.  Or just don't advertise the cap for
> softpipe/llvmpipe.
> 
> Keith
> 
> 
> 
> 
> 
>  I would 
> 
>  It adds an extra branch to the clipmask computation, but it's not like
> that code is tuned at this point anyway...  I'

Hmm, random thoughts...  Just ignore, please.

Keith







:)

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Gallium depth clamp support

2010-07-21 Thread Keith Whitwell
On Wed, 2010-07-21 at 01:49 -0700, Marek Olšák wrote:
> Hi,
> 
> there is a new branch gallium-depth-clamp in the main repository which
> implements ARB_depth_clamp in Gallium. Wine uses this extension to
> disable clipping when it's requested from a D3D9 app, so it's an
> important one.
> 
> There is a new state "depth_clamp" in pipe_clip_state, and a new cap
> PIPE_CAP_DEPTH_CLAMP. If you think this feature should be mandatory in
> Gallium instead, it's ok with me. There are several reasons I put the
> enable bit in pipe_clip_state, but the most important one is that Z
> clipping must be disabled in hardware first for it to work. It also
> implements depth_clamp handling in cso_cache and wires up
> ARB_depth_clamp in st/mesa.
> 
> The support in Draw has also been implemented, and both softpipe and
> llvmpipe pass piglit/depth_clamp and piglit/depth-clamp-range.
> 
> http://cgit.freedesktop.org/mesa/mesa/log/?h=gallium-depth-clamp
> 
> Please review.
> 
> -Marek


Marek,

This looks like a useful change. 

I'm not sure it's actually going go give the expected results for
softpipe/llvmpipe or other users of the path you've put into the draw
module.

In particular it looks like the spec calls for clamping depth on a
per-pixel basis, where as this is doing it per-vertex.   

The difference is that the spec would allow a triangle with one distant
vertex to hit the far plane and then be clamped to it, whereas your
change means that the triangle as a whole will be altered to be in front
of the depth plane and touch it at one vertex.

Basically, I think the draw change needs to reduced to just disabling
depth clipping, and (if you like) a clamp(depth, 0, 1) introduced into
softpipe/llvmpipe.  Or just don't advertise the cap for
softpipe/llvmpipe.

Keith





 I would 

 It adds an extra branch to the clipmask computation, but it's not like
that code is tuned at this point anyway...  I'

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29192] Kwin crashed after checking an advanced setting in Desktop Effects

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29192

--- Comment #1 from Nick Bowler  2010-07-21 06:44:54 PDT ---
(In reply to comment #0)
> I'm a Kubuntu user, and when I checked "Use VSync" setting in System
> Settings>Desktop Effects>Advanced, Kwin crashed. I filed a bug against Kwin
> (https://bugs.kde.org/show_bug.cgi?id=245238), but developers pointed out it
> was a driver bug, and encouraged me to file a bug here against the driver.
> 
> As pointed out during the exchange, there seems to be a general problem when
> re/creating a gl context on the driver, as also bug 244820
> (https://bugs.kde.org/show_bug.cgi?id=244820) seems to confirm, which appears
> to have a different backtrace but similar context. As for the backtrace of my
> bug report, I'll paste it over here for ease of reference:

This second report looks just like bug 29170, and your issue could very well
be related to it.  Can you try the mesa patch there and see if it helps?

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 29192] Kwin crashed after checking an advanced setting in Desktop Effects

2010-07-21 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29192

Julien Cristau  changed:

   What|Removed |Added

Product|xorg|Mesa
  Component|App/other   |GLX
 AssignedTo|xorg-t...@lists.x.org   |mesa-...@lists.freedesktop.
   ||org
  QAContact|xorg-t...@lists.x.org   |

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] Gallium depth clamp support

2010-07-21 Thread Marek Olšák
Hi,

there is a new branch gallium-depth-clamp in the main repository which
implements ARB_depth_clamp in Gallium. Wine uses this extension to disable
clipping when it's requested from a D3D9 app, so it's an important one.

There is a new state "depth_clamp" in pipe_clip_state, and a new cap
PIPE_CAP_DEPTH_CLAMP. If you think this feature should be mandatory in
Gallium instead, it's ok with me. There are several reasons I put the enable
bit in pipe_clip_state, but the most important one is that Z clipping must
be disabled in hardware first for it to work. It also implements depth_clamp
handling in cso_cache and wires up ARB_depth_clamp in st/mesa.

The support in Draw has also been implemented, and both softpipe and
llvmpipe pass piglit/depth_clamp and piglit/depth-clamp-range.

http://cgit.freedesktop.org/mesa/mesa/log/?h=gallium-depth-clamp

Please review.

-Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev