Re: [Mesa-dev] r600g/mesa/gallium performance, whois to blame ?

2010-11-15 Thread Keith Whitwell
On Fri, 2010-11-12 at 20:32 -0800, Jerome Glisse wrote:

> 
> I think r600c is just a bit too naive and so it end up being very
> expensive to change any states with it. But i haven't took a closer
> look. I don't think we should look too much at relative cost of
> changing state. I think fglrx optimized the function call cost just
> enough so that it didn't impact performances, while nvidia did go nuts
> and over optimized function call overhead. Thus i think target should
> be more about making sure core mesa + gallium with noop pipe driver
> should be able to keep up at 500t draw call/sec when states change
> occur (of course this could vary depending on which states change) and
> not 173t call/sec.

I think the idea of installing a noop pipe driver & using that to
optimize everything else in the stack is a good one.

It's true that the per-statechange overhead hasn't really had a lot of
attention in the Mesa statetracker, and in particular there is a lot of
work done every draw call to re-assemble all of the vertex buffers and
vertex elements.

A lot of that could be short-circuited with a little effort.

Keith

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


Re: [Mesa-dev] gl_FragCoord / FBOs vs mesa/st

2010-11-15 Thread Keith Whitwell
On Sun, 2010-11-14 at 20:18 -0800, Dave Airlie wrote:
> Eric just checked in a test into piglit that tests that the
> gl_FragCoord works the right way up for FBOs,
> 
> Now all the gallium drivers fail this currently and fixing it creates
> an ugly linkage between the currently bound buffer and the fragment
> shader, since if you swap from an FBO to rendering to the front
> buffer, you need recompile the fragment shader to emit a proper wpos
> manipulation. Just wondering if anyone sees a nicer way to do this,
> than caching frag shaders with some sort of key in the state tracker,
> (which is pretty much what 965 has done.).

I guess the other possibility would be to have a couple of constants in
the constant buffer which get factored into the fragcood calculation in
such a way as to effect a flip based on their value, eg:

   fc' = fc * const[0].x + const[0].y

where const[0] is either
-> {1, 0} for non-flipped
-> {-1, fb_height} for flipped

Keith


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


Re: [Mesa-dev] gl_FragCoord / FBOs vs mesa/st

2010-11-15 Thread Keith Whitwell
On Mon, 2010-11-15 at 01:28 -0800, Keith Whitwell wrote:
> On Sun, 2010-11-14 at 20:18 -0800, Dave Airlie wrote:
> > Eric just checked in a test into piglit that tests that the
> > gl_FragCoord works the right way up for FBOs,
> > 
> > Now all the gallium drivers fail this currently and fixing it creates
> > an ugly linkage between the currently bound buffer and the fragment
> > shader, since if you swap from an FBO to rendering to the front
> > buffer, you need recompile the fragment shader to emit a proper wpos
> > manipulation. Just wondering if anyone sees a nicer way to do this,
> > than caching frag shaders with some sort of key in the state tracker,
> > (which is pretty much what 965 has done.).
> 
> I guess the other possibility would be to have a couple of constants in
> the constant buffer which get factored into the fragcood calculation in
> such a way as to effect a flip based on their value, eg:
> 
>fc' = fc * const[0].x + const[0].y
> 
> where const[0] is either
> -> {1, 0} for non-flipped
> -> {-1, fb_height} for flipped

Another question is how to tell the pipe driver which of these to use --
probably we want an explicit flag in one of the state atoms
(rasterizer?) to select between the two possibilities?

Keith

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


Re: [Mesa-dev] gl_FragCoord / FBOs vs mesa/st

2010-11-15 Thread Keith Whitwell
On Mon, 2010-11-15 at 01:32 -0800, Keith Whitwell wrote:
> On Mon, 2010-11-15 at 01:28 -0800, Keith Whitwell wrote:
> > On Sun, 2010-11-14 at 20:18 -0800, Dave Airlie wrote:
> > > Eric just checked in a test into piglit that tests that the
> > > gl_FragCoord works the right way up for FBOs,
> > > 
> > > Now all the gallium drivers fail this currently and fixing it creates
> > > an ugly linkage between the currently bound buffer and the fragment
> > > shader, since if you swap from an FBO to rendering to the front
> > > buffer, you need recompile the fragment shader to emit a proper wpos
> > > manipulation. Just wondering if anyone sees a nicer way to do this,
> > > than caching frag shaders with some sort of key in the state tracker,
> > > (which is pretty much what 965 has done.).
> > 
> > I guess the other possibility would be to have a couple of constants in
> > the constant buffer which get factored into the fragcood calculation in
> > such a way as to effect a flip based on their value, eg:
> > 
> >fc' = fc * const[0].x + const[0].y
> > 
> > where const[0] is either
> > -> {1, 0} for non-flipped
> > -> {-1, fb_height} for flipped
> 
> Another question is how to tell the pipe driver which of these to use --
> probably we want an explicit flag in one of the state atoms
> (rasterizer?) to select between the two possibilities?

...hmm need more coffee.  Of course you'd do this at the state tracker
level (as you detailed) & the pipe drivers wouldn't need to think about
it...

Keith

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


[Mesa-dev] [Bug 31630] New: [PATCH] egl: Add texture from pixmap example for GLES2.

2010-11-15 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=31630

   Summary: [PATCH] egl: Add texture from pixmap example for
GLES2.
   Product: Mesa
   Version: git
  Platform: Other
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: medium
 Component: Demos
AssignedTo: mesa-dev@lists.freedesktop.org
ReportedBy: alexandros.frant...@linaro.org


Created an attachment (id=40279)
 View: https://bugs.freedesktop.org/attachment.cgi?id=40279
 Review: https://bugs.freedesktop.org/review?bug=31630&attachment=40279

Add texture from pixmap example for GLES2.

This patch adds a texture-from-pixmap example for GLES2 (based on the existing
example for GLES1.1).

It also adds a matrix.c file that contains common matrix operations needed by
GLES2 programs (and used by the texture_from_pixmap_glesv2 example).

(The functions in matrix.c can also be used by es2gears, coming in another
patch).

-- 
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 31630] [PATCH] egl: Add texture from pixmap example for GLES2.

2010-11-15 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=31630

Alexandros Frantzis  changed:

   What|Removed |Added

  Attachment #40279|0   |1
is obsolete||

--- Comment #1 from Alexandros Frantzis  
2010-11-15 03:52:25 PST ---
Created an attachment (id=40282)
 View: https://bugs.freedesktop.org/attachment.cgi?id=40282
 Review: https://bugs.freedesktop.org/review?bug=31630&attachment=40282

Add texture from pixmap example for GLES2 (version 2).

Use normal sin(), cos() instead of GNU-specific sincos().

-- 
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] [PATCH] Makefile: don't include the same files twice in the tarball

2010-11-15 Thread Brian Paul

On 11/13/2010 07:05 AM, Julien Cristau wrote:

src/mesa/drivers/dri/*/*/*.[chS] is a superset of
src/mesa/drivers/dri/*/server/*.[ch] and
src/mesa/drivers/dri/common/xmlpool/*.[ch].
include/GL/internal/glcore.h is already in MAIN_FILES, no need for it in
DRI_FILES too.  src/glx/Makefile was listed twice.

Signed-off-by: Julien Cristau
---
This patch is against 7.9, I haven't checked if master needs it too.
See http://lists.debian.org/debian-x/2010/11/msg00556.html and
http://lists.debian.org/debian-x/2010/11/msg00562.html for the
rationale.


Committed.  Thanks.

-Brian

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


Re: [Mesa-dev] gl_FragCoord / FBOs vs mesa/st

2010-11-15 Thread Alex Deucher
On Mon, Nov 15, 2010 at 4:57 AM, Keith Whitwell  wrote:
> On Mon, 2010-11-15 at 01:32 -0800, Keith Whitwell wrote:
>> On Mon, 2010-11-15 at 01:28 -0800, Keith Whitwell wrote:
>> > On Sun, 2010-11-14 at 20:18 -0800, Dave Airlie wrote:
>> > > Eric just checked in a test into piglit that tests that the
>> > > gl_FragCoord works the right way up for FBOs,
>> > >
>> > > Now all the gallium drivers fail this currently and fixing it creates
>> > > an ugly linkage between the currently bound buffer and the fragment
>> > > shader, since if you swap from an FBO to rendering to the front
>> > > buffer, you need recompile the fragment shader to emit a proper wpos
>> > > manipulation. Just wondering if anyone sees a nicer way to do this,
>> > > than caching frag shaders with some sort of key in the state tracker,
>> > > (which is pretty much what 965 has done.).
>> >
>> > I guess the other possibility would be to have a couple of constants in
>> > the constant buffer which get factored into the fragcood calculation in
>> > such a way as to effect a flip based on their value, eg:
>> >
>> >    fc' = fc * const[0].x + const[0].y
>> >
>> > where const[0] is either
>> > -> {1, 0} for non-flipped
>> > -> {-1, fb_height} for flipped
>>
>> Another question is how to tell the pipe driver which of these to use --
>> probably we want an explicit flag in one of the state atoms
>> (rasterizer?) to select between the two possibilities?
>
> ...hmm need more coffee.  Of course you'd do this at the state tracker
> level (as you detailed) & the pipe drivers wouldn't need to think about
> it...

FWIW, r6xx+ hw has a set of shader booleans (32 per shader type)
defined in registers for toggling chunks of code in your shaders, so
you could build a shader and constant buffer to handle multiple
situations, then just update the boolean values when you need to
change what chunk of code is required.  I currently use this in the
EXA/Xv code in the ddx for handling several senarios in the same
shader.

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


[Mesa-dev] [Bug 31568] [r300g] SIGSEGV src/mesa/vbo/vbo_exec_array.c:1154

2010-11-15 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=31568

--- Comment #2 from Brian Paul  2010-11-15 08:06:26 PST ---
I can't reproduce this with any other driver. 

The piglit test in question doesn't call glMultiDrawElements() at all so I
don't see how we'd wind up in that function unless something in API dispatch
was broken.  Nobody else has reported anything like that.

Can you try a clean rebuild of Mesa, Vinson?

-- 
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 31569] [r300g] SIGSEGV src/mesa/main/api_loopback.c:1470

2010-11-15 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=31569

--- Comment #2 from Brian Paul  2010-11-15 08:11:46 PST ---
This looks bogus too.  Line 90 of provoking-vertex.c is a call to the
glProvokingVertexEXT() function, not glVertexAttribI1uiv.

Vinson, how are you building Mesa in this case?  Maybe try a clean build, or a
debug build and see what happens.

-- 
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 31544] bad format in _mesa_format_to_type_and_comps

2010-11-15 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=31544

--- Comment #21 from Brian Paul  2010-11-15 08:14:32 PST ---
At this point I think my patch which set's the texImage->TexFormat field in
r600SetTexBuffer2() is the right fix but now you're hitting another r600 bug. 
One of the r600 developers will probably have to help you with that.

I'll commit the above patches for radeon/r600.

-- 
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 31544] bad format in _mesa_format_to_type_and_comps

2010-11-15 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=31544

--- Comment #22 from Alex Deucher  2010-11-15 08:21:11 PST ---
(In reply to comment #21)
> I'll commit the above patches for radeon/r600.

Please patch r200 and r300 similarly.

-- 
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 31544] bad format in _mesa_format_to_type_and_comps

2010-11-15 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=31544

--- Comment #23 from Brian Paul  2010-11-15 08:27:45 PST ---
(In reply to comment #22)
> (In reply to comment #21)
> > I'll commit the above patches for radeon/r600.
> 
> Please patch r200 and r300 similarly.

Yup, just did.

-- 
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] [PATCH] r600g: Added a missing call to r600_bc_add_literal().

2010-11-15 Thread Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck 
---

This patch fixes a "literal not added correctly" error for
Heroes of Newerth in the main menu.

I don't fully understand the code; please review.


 src/gallium/drivers/r600/r600_shader.c |5 +
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_shader.c 
b/src/gallium/drivers/r600/r600_shader.c
index f6153c0..501e4af 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -926,6 +926,11 @@ static int tgsi_split_constant(struct r600_shader_ctx 
*ctx, struct r600_bc_alu_s
if (r)
return r;
}
+
+   r = r600_bc_add_literal(ctx->bc, ctx->value);
+   if (r)
+   return r;
+
r600_src[i].sel = treg;
r600_src[i].rel =0;
j--;
-- 
1.7.3.1

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


[Mesa-dev] [PATCH] r600g: Lower the minimum stride from 512 to 256 bytes to fix bug #31578.

2010-11-15 Thread Tilman Sauerbeck
piglit/fbo-readpixels still passes for me.

Signed-off-by: Tilman Sauerbeck 
---

Please review. And someone please tell me where those 512 and 256 bytes
are coming from :)

 src/gallium/drivers/r600/r600_texture.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_texture.c 
b/src/gallium/drivers/r600/r600_texture.c
index e719f7f..d79f45c 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -171,7 +171,7 @@ static unsigned r600_texture_get_stride(struct pipe_screen 
*screen,
stride = align(stride, 512);
 
 if (ptex->bind & PIPE_BIND_RENDER_TARGET)
-   stride = align(stride, 512);
+   stride = align(stride, 256);
 
return stride;
 }
-- 
1.7.3.1

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


Re: [Mesa-dev] [PATCH] r600g: Lower the minimum stride from 512 to 256 bytes to fix bug #31578.

2010-11-15 Thread Alex Deucher
On Mon, Nov 15, 2010 at 4:41 PM, Tilman Sauerbeck  wrote:
> piglit/fbo-readpixels still passes for me.
>
> Signed-off-by: Tilman Sauerbeck 
> ---
>
> Please review. And someone please tell me where those 512 and 256 bytes
> are coming from :)

The alignment depends on the type of tiling in use (linear, 1d, 2d).
See this drm patch for more info:
http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commitdiff;h=fba4312e223f1187efc8c083daed70e57fa9c9d3
The info needed can be queried via the tiling info ioctl.

Alex

>
>  src/gallium/drivers/r600/r600_texture.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/src/gallium/drivers/r600/r600_texture.c 
> b/src/gallium/drivers/r600/r600_texture.c
> index e719f7f..d79f45c 100644
> --- a/src/gallium/drivers/r600/r600_texture.c
> +++ b/src/gallium/drivers/r600/r600_texture.c
> @@ -171,7 +171,7 @@ static unsigned r600_texture_get_stride(struct 
> pipe_screen *screen,
>                stride = align(stride, 512);
>
>         if (ptex->bind & PIPE_BIND_RENDER_TARGET)
> -               stride = align(stride, 512);
> +               stride = align(stride, 256);
>
>        return stride;
>  }
> --
> 1.7.3.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] [Bug 31643] New: Heroes of Newerth - Units and buildings (all animations) became invisible

2010-11-15 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=31643

   Summary: Heroes of Newerth - Units and buildings (all
animations) became invisible
   Product: Mesa
   Version: 7.9
  Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
  Severity: critical
  Priority: medium
 Component: Mesa core
AssignedTo: mesa-dev@lists.freedesktop.org
ReportedBy: ilconte...@libero.it


Hello there I have the following issue.

I passed from debian sid (mesa 7.7) to ubuntu 10.10 64bit (mesa 7.9dev)
I own a Vaio TT with an integrated intel card.

direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset GEM
20100330 DEVELOPMENT 
OpenGL version string: 2.1 Mesa 7.9-devel
OpenGL shading language version string: 1.20
OpenGL extensions:
GL_3DFX_texture_compression_FXT1, GL_APPLE_client_storage, 
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset
Integrated Graphics Controller (rev 07)
Linux teo-vaio 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010
x86_64 GNU/Linux

Here a photo of the bug to clearly show that all the animations became
invisible:
http://i55.tinypic.com/ofu5qe.png

I never had any issues since the game went out, so I guess there has been a
regression or a bug in the latest versions of mesa (also the 7.10 git has the
same issue).

I already tried to reinstall ubuntu, reinstall the game, update the kernel, the
intel driver and mesa to the latest version available, all without success.
I hope you can understand what this bug is.
Regards

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