Re: Thread Local Storage libGL

2004-05-24 Thread Keith Whitwell
Ian Romanick wrote:
Keith Whitwell wrote:
Ian Romanick wrote:
One thing about Jakub's patch is that, on x86, it eliminates the need 
for the specialized _ts_* versions of the dispatch functions.  It 
basically converts the DISPATCH macro (as used in 
src/mesa/main/dispatch.c) from:

#define DISPATCH(FUNC, ARGS, MESSAGE) \
(_glapi_Dispatch-FUNC) ARGS
to:
#define DISPATCH(FUNC, ARGS, MESSAGE) \
const struct _glapi_table * d = _glapi_Dispatch;\
if ( __builtin_expect( d == NULL, 0 ) )\
d = get_dispatch();\
(d-FUNC) ARGS
There is some extra cost in the non-threaded case, but it seems very 
minimal.  In the x86 assembly case, it's only a test and a 
conditional branch that is usually not taken.  Does this seem like a 
reasonable change to make across the board?

Hmm.  The _ts_* macros were introduced to eliminate exactly that sort 
of test - though we probably coded it up in a less optimal way than 
that.  Are you saying that the dispatch tables would really become 
compiled 'C'?  At the moment they are typically generated as assembly 
and use a jmp rather than calling a new function as in either of the 
examples above.

Assembly dispatch stubs are only generated for x86 and SPARC.  It looks 
like the #if test in dispatch.c is wrong, so that stubs don't even get 
used on SPARC.  In any case, Jakub's patch did modify the x86 assembly, 
not the C version.  I wasn't really clear about that before.  My 
proposal is to modify the C version, the x86 assembly version, and the 
SPARC assembly version.  I've worked up a patch to gl_x86_asm.py that I 
can post on Monday.

Some time in the next couple weeks I'm going to create PowerPC dispatch 
stubs.  The PPC ABI is a little odd, though, so it may not be trivial.

My feeling is that the non-threaded case should run as fast as 
possible, being the normal usage.  Maybe some timings would make 
things clearer.

Since the branch is going to be correctly predicted every time it's 
executed (in the non-threaded case), the performance hit should be on 
the order of a couple clock-cycles.  I should be able to get some 
timings on Monday or Tuesday.  I'll just do a loop of calling some GL 
function a million times or something.  Any idea which function would be 
likely to take the least time to execute?  I want to find the case where 
the dispatch functions have the most impact.
Just stick a return at the top of some random function  use that...
Keith

---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Thread Local Storage libGL

2004-05-24 Thread Keith Whitwell
Mike Mestnik wrote:
--- Ian Romanick [EMAIL PROTECTED] wrote:
Assembly dispatch stubs are only generated for x86 and SPARC.  It looks 
like the #if test in dispatch.c is wrong, so that stubs don't even get 
used on SPARC.  In any case, Jakub's patch did modify the x86 assembly, 
not the C version.  I wasn't really clear about that before.  My 
proposal is to modify the C version, the x86 assembly version, and the 
SPARC assembly version.  I've worked up a patch to gl_x86_asm.py that I 
can post on Monday.

Just to get every one on the same page.  The SPARC assembly version is
only for solaris.  It dose not, and can not, even build on linux!  Last
time I checked DRI would not build on SPARC/Linux, crashing on the Solaris
ASM code.
Hmm, there are definite references to __linux__ in the code - looks like the 
intention is there.  Why not look at the generator scripts  post a patch to 
fix it?

Keith

---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: drm 830 problem

2004-05-24 Thread Kristian Hgsberg
No problem, here it is.
Kristian
Andr Ventura Lemos wrote:
I'm getting:
tar: Read 2380 bytes from gradients.tar.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Error exit delayed from previous errors
Could you please send me over the tarball? Thanks
On Sun, 2004-05-23 at 18:57, Kristian Hgsberg wrote:
I'm getting the same lockups, and I can consistently reproduce it with 
the simple GL program in this mail:

http://cairographics.org/pipermail/cairo/2004-April/001175.html
The example with the 1D texture runs fine, but the 2D example locks up 
my machine.

HTH,
Kristian


gradients.tar.gz
Description: GNU Zip compressed data


Re: drm 830 problem

2004-05-24 Thread Dave Airlie
  
   This only happens with 2.6 kernels. Prior do the lockup, everything
   works (I can see it through ssh), but the display gets blank, and never
   comes back.

doesn't happen for me,
00:02.0 VGA compatible controller: Intel Corp. 82865G Integrated Graphics
Device (rev 02)

[drm] Initialized i830 1.3.2 20021108 on minor 0: Intel Corp. 82865G
Integrated Graphics Device

OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 865G 20040506 x86/MMX/SSE2
OpenGL version string: 1.2 Mesa 6.1

This is the latest DRM on a 2.6.6 kernel, you migt want to try 2.6.7-rc1
to check if it is a DRM issue, what XFree reelase are you running ..

Dave.

  
   On Fri, 2004-05-21 at 18:07, Keith Whitwell wrote:
  
Do you mind if I take this to dri-devel?
   
What happens prior to the lockup?  Does it only happen with 2.6 kernels?
   
Keith
 
 
  Andre - Can you give any more information on what might be triggering the
  lockups?

 I'm getting the same lockups, and I can consistently reproduce it with the
 simple GL program in this mail:

http://cairographics.org/pipermail/cairo/2004-April/001175.html

 The example with the 1D texture runs fine, but the 2D example locks up my
 machine.

 HTH,
 Kristian


 ---
 This SF.Net email is sponsored by: Oracle 10g
 Get certified on the hottest thing ever to hit the market... Oracle 10g.
 Take an Oracle 10g class now, and we'll give you the exam FREE.
 http://ads.osdn.com/?ad_id149alloc_id[81]66op=click
 --
 ___
 Dri-devel mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/dri-devel


-- 
David Airlie, Software Engineer
http://www.skynet.ie/~airlied / airlied at skynet.ie
pam_smb / Linux DECstation / Linux VAX / ILUG person



---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Development setup

2004-05-24 Thread Ian Romanick
Maurice van der Pot wrote:
I have just started looking into DRI development and I have been experiencing
some difficulties using gdb. For example, I cannot currently step into 
functions of libGL (it was compiled with debug info and LD_LIBRARY_PATH is 
set correctly). Another thing is that the symbols from r200_dri.so are only
loaded after I have typed sharedlibrary r200_dri, they're not loaded 
automatically when the shared object is loaded even though gdb's option 
(I forget its name) to autoload symbols is on.
How are you building?  Are you building everything in the DRI tree? 
libGL in the DRI tree and the drivers in the Mesa tree?  The libGL built 
in the Mesa tree is *NOT* the one used with the DRI drivers.  The libGL 
built in the DRI tree (or from the DRI binary snapshots) should have all 
the debug symbols included.

As for r200_dri.so, are you sure it's getting the right one?  If you run 
with 'LIBGL_DEBUG=verbose' it will print out which driver binary is 
being used.

Realistically, you *need* two systems for driver debugging.  I've found 
that using a skunky old laptop to ssh in and run gdb is the best setup. 
 In a pinch, an old 286 with a terminal program as a serial terminal 
will also work.

As I was struggling to put together a convenient setup for debugging it got
me wondering how those of you who use gdb for debugging have things set up.
I'm interested to know things like locations of compiled libs/executables
wrt the system libs, environment variables, makefile/config modifications, 
etc.
For a developer, the best bet is to get the DRI tree and the Mesa tree. 
 Build the DRI tree and do a 'make install' as root *once*.  Then do 
your development in the Mesa tree, build your drivers in the Mesa tree, 
and run with 'LIBGL_DRIVERS_DIR' set to the lib directory in the Mesa 
tree (i.e., from the top of the Mesa tree do 'export 
LIBGL_DRIVERS_DIR=$(pwd)/lib'.

Maybe I can gather this information into a document on the Wiki later on.
Not a bad idea.

---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Thread Local Storage libGL

2004-05-24 Thread Ian Romanick
Mike Mestnik wrote:
--- Ian Romanick [EMAIL PROTECTED] wrote:
Assembly dispatch stubs are only generated for x86 and SPARC.  It looks 
like the #if test in dispatch.c is wrong, so that stubs don't even get 
used on SPARC.  In any case, Jakub's patch did modify the x86 assembly, 
not the C version.  I wasn't really clear about that before.  My 
proposal is to modify the C version, the x86 assembly version, and the 
SPARC assembly version.  I've worked up a patch to gl_x86_asm.py that I 
can post on Monday.
Just to get every one on the same page.  The SPARC assembly version is
only for solaris.  It dose not, and can not, even build on linux!  Last
time I checked DRI would not build on SPARC/Linux, crashing on the Solaris
ASM code.
Does the code in src/mesa/glapi/glapi.c (generate_entrypoint 
specifically) cause the crash or just the code in 
src/mesa/sparc/glapi_sparc.S?  My guess is that Linux uses 32-bit 
user-mode, but the asm code in glapi_sparc.S defaults to 64-bit on v9. 
Perhaps we could come up with a better define, such as 
USE_SPARC_32BIT_USER to determine which stubs to build.


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Weekly IRC meeting reminder

2004-05-24 Thread Ian Romanick

This is just a friendly reminder that the weekly dri-devel IRC meeting will
be starting in the #dri-devel channel on irc.freenode.net at 2100 UTC (or
5:00PM EDT or 2:00PM PDT, if you prefer).

Time zone conversion available at:

http://www.timezoneconverter.com/cgi-bin/tzc.tzc

Logs of previous IRC meetings are available at:

http://dri.sourceforge.net/IRC-logs/


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Thread Local Storage libGL

2004-05-24 Thread Ian Romanick
Ian Romanick wrote:
Mike Mestnik wrote:
--- Ian Romanick [EMAIL PROTECTED] wrote:
Assembly dispatch stubs are only generated for x86 and SPARC.  It 
looks like the #if test in dispatch.c is wrong, so that stubs don't 
even get used on SPARC.  In any case, Jakub's patch did modify the 
x86 assembly, not the C version.  I wasn't really clear about that 
before.  My proposal is to modify the C version, the x86 assembly 
version, and the SPARC assembly version.  I've worked up a patch to 
gl_x86_asm.py that I can post on Monday.
Just to get every one on the same page.  The SPARC assembly version is
only for solaris.  It dose not, and can not, even build on linux!  Last
time I checked DRI would not build on SPARC/Linux, crashing on the 
Solaris
ASM code.
Does the code in src/mesa/glapi/glapi.c (generate_entrypoint 
specifically) cause the crash or just the code in 
src/mesa/sparc/glapi_sparc.S?  My guess is that Linux uses 32-bit 
user-mode, but the asm code in glapi_sparc.S defaults to 64-bit on v9. 
Perhaps we could come up with a better define, such as 
USE_SPARC_32BIT_USER to determine which stubs to build.
I just committed a version of the entrypoint generator script based on 
the new XML Python code.  I played around with the output of that on a 
SPARC based SunOS 5.9 (from uname) box.  It looks like when 64-bit 
binaries are generated (i.e., -m64 is used), __arch64__ is defined.  If 
32-bit binaries are generated it is not defined.  This was true with GCC 
2.95.2, 3.0, and 3.3.  It turned out that __sparc_v9__ was *never* 
defined, even if -mcpu=v9 was supplied.

None of the SPARC systems that I have access to have Sun's compiler 
installed, so I don't know if that also defined __arch64__ when building 
64-bit binaries.

If SPARC Linux also gets the __arch64__ treatment, I'd suggest that we 
use that determine which version of the stub to use instead of a 
combination of __sparc_v9__ and __linux__.


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Xorg] Re: Damage/Composite + direct rendering clients

2004-05-24 Thread Ian Romanick
Andy Ritger wrote:
The other concern (how to make sure direct rendering has completed
by the time the drawable is used as a source in a composite
operation) conceptually would be solved as you describe, but I
expect the implementation would be buried deeper
I guess I don't see what the problem is.  The graphics device processes 
commands as a FIFO.  Groups of direct rendering commands are surrounded 
by a lock.  If the compositor uses the same lock, synchronization and 
proper ordering are guaranteed.

Determining if direct rendering has damaged a region is another kettle 
of fish, though...


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Getting a DRM right from the start

2004-05-24 Thread Ian Romanick
Sorry for taking so long to reply.  In some cultures, taking 9 days to 
reply to an e-mail means that much thought was put into the reply. ;)

Felix Kühling wrote:
=== Header files in the DRM ===
drm.h: driver-independent types and definitions for the 3D driver to
communicate with the DRM.
Driver-indepenent / OS-independent.
drmP.h: driver-independent internal types and definitions.
Driver-indepenent / OS-dependent.
savage_drm.h: any definitions needed by the 3D driver to communicate
with the DRM (sarea, sarea defines, ioctl parameter structures). Someone
recently proposed to use a sanitized copy of this file (and probably
drm.h) in the 3D driver instead of the kernel header file. That would
mean that these definitions have to be kept in sync in 3 places: kernel,
sanitized user-space copy and Xserver (see below). Does that make sense?
Basically, this defines the user / kernel interface for the driver.
savage_drv.h: driver-internal data types like the dev_private structure
and function prototypes, some macros for BCI access.
savage.h: DRM template customization
=== Header files in the Xserver ===
savage_sarea.h: Basically a copy of the sarea defines and sarea
structure in the kernel but with different naming conventions. I vaguely
remember that this was because of XFree86's policy not to use external
header files or something such.
savage_common.h: Ioctl parameter structures with XFree86 naming
conventions. Same rationale as for savage_sarea.h, I guess.
Close.  There used to be separate *_drm.h files for each 
operating-system.  For some drivers, such as i830, there still is.  The 
XFree86 policy is to not include platform-dependent files, so a new file 
that mirroed the stuff in the OS dependent files was needed.  In 
modern drivers, anything that lives in drm/shared can be considered 
platform-independent, IMHO.

=== 64bit issues ===
Basically any fields in data structures shared between kernel and
user-space must have a fixed size in order to allow 32-bit user space to
work with a 64-bit kernel. Is that correct? Then what are the right
types (u32, __u32, uint32, ...?) that are available in both the kernel
(possibly linux and BSD) and user-space? Or if we're not going to share
header files between kernel tree and 3D drivers, then what types would
be used in the kernel and which types in user-space?
IMO, the C99 types should be used.  That is the portable, future-proof 
way.  I seem to recall some Linux kernel developers having issue with 
anything other than __u32 / __u64 (or was it u32 / u64?) being used, but 
I don't know what they were.  On any given platform, __u32 had better be 
the exact same type as the C99 uint32_t, or that platform is broken!

For keeping the DRM portable among OS's, should fixed-size number types
be defined in drm.h/drmP.h?
Yuck. :(  Nobody wants more types that mean the same thing as existing 
types.  Having drm_u32_t or some such sounds really, really unpleasant.


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id149alloc_id66op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: drm 830 problem

2004-05-24 Thread Kristian Hgsberg
Dave Airlie wrote:
This only happens with 2.6 kernels. Prior do the lockup, everything
works (I can see it through ssh), but the display gets blank, and never
comes back.

 doesn't happen for me,
 00:02.0 VGA compatible controller: Intel Corp. 82865G Integrated Graphics
 Device (rev 02)
I have
00:02.0 VGA compatible controller: Intel Corp. 82830 CGC [Chipset
Graphics Controller] (rev 04)
 [drm] Initialized i830 1.3.2 20021108 on minor 0: Intel Corp. 82865G
 Integrated Graphics Device
[drm] Initialized i830 1.3.2 20021108 on minor 0:
[drm] Initialized i830 1.3.2 20021108 on minor 1:
 OpenGL vendor string: Tungsten Graphics, Inc
 OpenGL renderer string: Mesa DRI Intel(R) 865G 20040506 x86/MMX/SSE2
 OpenGL version string: 1.2 Mesa 6.1
I have
OpenGL vendor string: VA Linux, Inc
OpenGL renderer string: Mesa DRI Intel(R) 830M 20021115 x86/MMX/SSE
OpenGL version string: 1.2 Mesa 5.0.2
 This is the latest DRM on a 2.6.6 kernel, you migt want to try 2.6.7-rc1
 to check if it is a DRM issue, what XFree reelase are you running ..
I'm running 2.6.6 too with the X.org 6.7.0 release.  Basically, the
latest from Fedora devel.  I tried to update Mesa to the latest (6.0.1) 
and now it seems to work - it doesn't crash, but the gradient example I 
mentioned earlier comes out flat-shaded...

Thanks,
Kristian
---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: i830 texture compression support..

2004-05-24 Thread Roland Scheidegger
Dave Airlie wrote:
The attached patch provides s3tc (and broken fxt) texture compression
 support on the i8xx (x30) chipsets,
You need to apply the radeon/r200 patch from Roland first, Roland do 
you want to merge this patch into yours?
Yes, I've merged it. New version can be found here (so I don't have to
spam the list with code):
http://homepage.hispeed.ch/rscheidegger/dri_experimental/libtxc_dxtn040524.tar.gz
http://homepage.hispeed.ch/rscheidegger/dri_experimental/mesa_r200_radeon_i830_txc_cvs040524.diff.gz
(nothing new except the i830 merge).
(sorry no directory listing, seems to be not allowed for homepages, and
the stupid server doesn't honor .htaccess neither)
I have one question though, how is RGB_DXT1 and RGBA_DXT1 going to work?
As far as I can see, there's no difference at all between these two
formats as far as the driver is concerned, which can't be correct
(pixels which need to get decompressed as black, fully opaque for
RGB_DXT1 need to be black, fully transparent for RGBA_DXT1). I'm not
sure how this is supposed to work, maybe with changing texture
environments? I guess RGBA_DXT1 isn't used a lot though (the compression
library also does not a good job for that weird format).
So far I've tested this with texcmp - thats how I know FXT doesn't 
work, do we have support for FXT in Mesa?
No, and since texcmp only uses on-line compressed textures, it sure will 
fail. I did not add FXT support in the s3tc patch since I lack the
hardware, and also since there are 0 applications (afaik) which use 
precompressed fxt1 textures (remember the patch started to make it 
possible to use precompressed textures, the software 
compression/decompression stuff was just added to make the extension 
support OGL-compliant). It _might_ be interesting to add fxt1 
compression for on-line compression, since it might be better from a 
legal point of view, though it's hard to imagine that one extension 
(s3tc) would infringe on a patent while the other (fxt) wouldn't, given 
how terribly similar they are (at least the fxt1 cc_mixed mode)...
I believe though Daniel Borca is working on it (by using code from the 
Glide3/Texus2 library).

do I have any chance of getting ut2004 demo going on an i865 chipset?
 at the moment I'm missing some floors and things..
Can't help you there ;-).
Roland
---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: drm 830 problem

2004-05-24 Thread André Ventura Lemos
I'm getting:

tar: Read 2380 bytes from gradients.tar.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Error exit delayed from previous errors

Could you please send me over the tarball? Thanks

On Sun, 2004-05-23 at 18:57, Kristian Høgsberg wrote:
 I'm getting the same lockups, and I can consistently reproduce it with 
 the simple GL program in this mail:
 
   http://cairographics.org/pipermail/cairo/2004-April/001175.html
 
 The example with the 1D texture runs fine, but the 2D example locks up 
 my machine.
 
 HTH,
 Kristian
-- 
I/O, I/O,
It's off to disk I go,
A bit or byte to read or write,
I/O, I/O, I/O...



signature.asc
Description: This is a digitally signed message part


Re: [Xorg] Re: Damage/Composite + direct rendering clients

2004-05-24 Thread Andy Ritger

On Mon, 24 May 2004, Ian Romanick wrote:

 Andy Ritger wrote:
 
  The other concern (how to make sure direct rendering has completed
  by the time the drawable is used as a source in a composite
  operation) conceptually would be solved as you describe, but I
  expect the implementation would be buried deeper
 
 I guess I don't see what the problem is.  The graphics device processes 
 commands as a FIFO.  Groups of direct rendering commands are surrounded 
 by a lock.  If the compositor uses the same lock, synchronization and 
 proper ordering are guaranteed.

How does the composite manager use the same lock?  If it's simply
using Render requests to perform the compositing, does the X server
need to lock whenever it processes a Render request.  Does it do
so today?  What happens if the X server performs the Render request
in software?

You're also assuming you have one global fifo, whereas some hardware
has a separate fifo per hw graphics client and the hw context
switches between fifos.

 Determining if direct rendering has damaged a region is another kettle 
 of fish, though...

Yes, but I actually think that is going to be the easy part :)

Thanks,
- Andy




---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Mesa3d-dev] Re: [Dri-devel] Memory management of AGP and VRAM

2004-05-24 Thread Holger Waechtler
Mike Mestnik wrote:
--- Jon Smirl [EMAIL PROTECTED] wrote:
There are two types of VTs - text and graphical. It is only practical to
have a
single graphical VT because of the complexity of state swapping a
graphical VT
at VT swap.
Right now we can all-ready run X on multiple VTs and with DRI-reinit can
run GL apps on all of them.  It may noy be the most elegant thing but it
workes.  We need the OS to keep state, even graphical, GART and all.  I
don't see how a 128M GART is diffrent then 2Gb system memory.  Should we
have GART swap space on the HD, a GART partition?
I'm for making the OS VT swap multiheaded DR?I? setups at whatever cost.
An elegant implementation would not swap the entire GART at VT switches 
but only present the new VT framebuffer as new display on the screen 
while maintaining the AGP states.

Check out e.g. MacOS-X's animated multiple login screen: At every new 
session start the current session just rotates smoothly animated into 
the background and a new one is brought up.

In this model you can retain the entire graphics state at VT switch, 
only another (currently invisible) frambuffer/screen/display/VT is made 
visible. This allows straightforward multihead implementations, any 
frambuffer/screen/display/VT can get attached to any head, they are just 
a piece of framebuffer memory which is either located in graphics memory 
or system memory and can get relocated on request, even to other 
graphics cards.


How about this for a new way to look at the problem?
System based xterm, that's a new one.  I don't see how it's better then
what we have now.
probably not -- the MacOS-X alike approach looks more promising. At SAK 
a new display framebuffer would get launched and brought to front, the 
currently running application is only need get killed if it locks the 
graphics engine in an locked state.

Unfortunally that means that parts of the window stack implementation 
need to run in kernel space (or a tightly connected trusted agent in 
userspace). Don't know whether this is a problem, the DirectFB core 
showed that it's possible to implement this cleanly in a few thousand 
lines of code.

Holger
---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: drm 830 problem

2004-05-24 Thread André Ventura Lemos
On Mon, 2004-05-24 at 11:15, Dave Airlie wrote: 
 doesn't happen for me,
 00:02.0 VGA compatible controller: Intel Corp. 82865G Integrated Graphics
 Device (rev 02)
:00:02.1 Display controller: Intel Corp. 82852/855GM Integrated
Graphics Device (rev 02)


 [drm] Initialized i830 1.3.2 20021108 on minor 0: Intel Corp. 82865G
 Integrated Graphics Device
[drm] Initialized i830 1.3.2 20021108 on minor 0


 OpenGL vendor string: Tungsten Graphics, Inc
 OpenGL renderer string: Mesa DRI Intel(R) 865G 20040506 x86/MMX/SSE2
 OpenGL version string: 1.2 Mesa 6.1
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 852GM/855GM 20021115
x86/MMX+/SSE2
OpenGL version string: 1.2 Mesa 5.0.2


 This is the latest DRM on a 2.6.6 kernel, you migt want to try 2.6.7-rc1
 to check if it is a DRM issue, what XFree reelase are you running ..

I'm running (xorg):
X Protocol Version 11, Revision 0, Release 6.7


-- 
I/O, I/O,
It's off to disk I go,
A bit or byte to read or write,
I/O, I/O, I/O...



signature.asc
Description: This is a digitally signed message part


test savage mx

2004-05-24 Thread matia . pizzoli
Hi all.
I've tested the code on my SAVAGE MX an discovered that:
- Opengl acceleration works fine, with a colour depth of only 16 bit due
to lack of video ram (only 8192 k)
- Xvidinfo says NO ADAPTORS FOUND, and it is almost impossible to run a
dvd and so on.
I used to see dvd and Xvid with Tim Robert's driver (even playing and running
heavy applications) on my slackware 9.1 and I wonder if I will be able in
the future with my new gentoo. Maybe there is something wrong with my XFree
configuration. If so, help is welcome!
Greetings
Matia




---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id149alloc_id66op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Mesa3d-dev] Re: [r200] sigfault in update_light (current DRI and Mesa CVS)

2004-05-24 Thread Michel Dänzer
On Sun, 2004-05-23 at 22:52, Dieter Ntzel wrote:
 
 Program received signal SIGSEGV, Segmentation fault.
 0x40670b99 in update_light (ctx=0x805e208) at r200_state.c:1143
 1143  for (p = 0 ; p  MAX_LIGHTS; p++) {

That doesn't make much sense, I don't see a pointer being dereferenced
here. Please double check your build.


-- 
Earthling Michel Dnzer  | Debian (powerpc), X and DRI developer
Libre software enthusiast|   http://svcs.affero.net/rm.php?r=daenzer



---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: test savage mx

2004-05-24 Thread Alex Deucher

--- [EMAIL PROTECTED] wrote:
 Hi all.
 I've tested the code on my SAVAGE MX an discovered that:
 - Opengl acceleration works fine, with a colour depth of only 16 bit
 due
 to lack of video ram (only 8192 k)
 - Xvidinfo says NO ADAPTORS FOUND, and it is almost impossible to run
 a
 dvd and so on.

H... Xv works fine for me on all my savage chips. It should work on
your MX as well.  is there anything weird in the log?  what does
xvinfo show?

Alex

 I used to see dvd and Xvid with Tim Robert's driver (even playing and
 running
 heavy applications) on my slackware 9.1 and I wonder if I will be
 able in
 the future with my new gentoo. Maybe there is something wrong with my
 XFree
 configuration. If so, help is welcome!
 Greetings
 Matia
 
 





__
Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/ 


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: drm 830 problem

2004-05-24 Thread Keith Whitwell
André Ventura Lemos wrote:
On Mon, 2004-05-24 at 11:15, Dave Airlie wrote: 

doesn't happen for me,
00:02.0 VGA compatible controller: Intel Corp. 82865G Integrated Graphics
Device (rev 02)
:00:02.1 Display controller: Intel Corp. 82852/855GM Integrated
Graphics Device (rev 02)

[drm] Initialized i830 1.3.2 20021108 on minor 0: Intel Corp. 82865G
Integrated Graphics Device
[drm] Initialized i830 1.3.2 20021108 on minor 0

OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 865G 20040506 x86/MMX/SSE2
OpenGL version string: 1.2 Mesa 6.1
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 852GM/855GM 20021115
The '2002' part of the date should be a hint -- please download a recent 
snapshot from dri.sf.net  try with that.

Keith

---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id149alloc_id66op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: MergedFrameBuffer: New meta-mode syntax needed.

2004-05-24 Thread Michel Dänzer
On Mon, 2004-05-24 at 03:25, Mike Mestnik wrote:
 --- Michel Dnzer [EMAIL PROTECTED] wrote:
  On Mon, 2004-05-24 at 01:04, Mike Mestnik wrote:
   --- Michel Dnzer [EMAIL PROTECTED] wrote:
  
 I mean what about in places where this should have allready been done,
 deep inside the driver.  Do we just exept incorrect rendoring?

I wouldn't, but most people seem to.


* The 3D engine imposes alignment requirements on the target
  buffer (1024 bytes or even a multiple thereof IIRC), you can't
  move it on a pixel basis.
  
 That's great,  '{ xi[1] = x1 + 2048 - (round down to nerest alignment
 requirement); }'

Yes, the alignment is only 128 bits BTW.


 The question is do we put these xi's in temporary space or not.  If not do
 we just express them as fullfleged cliprects?  It seams to be the easy
 way, but memory hungry.

I don't think those couple of bytes matter? :)


 I don't see the relation from these cliprects to the viewport, exept that
 there objects on the same 2d grid.  I think that currently we have
 cliprects crossing the line, all of them is just not getting rendered too
 cause of where the viewport is.
 
 So what I realy need to know is how do I move the viewport?  I don't see
 how splitting up the cliprects will do that for me.

I don't see what the viewport has to do with this either, do you mean
the 3D engine target offset? That's the RB3D_COLOROFFSET register.


-- 
Earthling Michel Dnzer  | Debian (powerpc), X and DRI developer
Libre software enthusiast|   http://svcs.affero.net/rm.php?r=daenzer



---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Thread Local Storage libGL

2004-05-24 Thread Ian Romanick
Ian Romanick wrote:
Alan Hourihane wrote:
Is there someone looking to integrate the TLS patches for libGL ??
We should certainly take a look soon and comment upon the patches used.
Here is a patch that covers part of what's in the Redhat patch.  This 
convert the static_functions table to a list of offsets instead of a 
list of pointers.  According to 'objdump -R' on the Mesa libGL, it cuts 
out about 1800 R_386_RELATIVE relocs.  However, the size of the library 
*increases* by about 24k.  That doesn't make sense to me.
Here's an updated version of that patch.  There are some significant 
differences.

1. *All* architectures use the string offset table.  To do this, 
gl_procs.py was modified to generate a big character array called 
gl_string_table in glprocs.h.  The static_functions array now contains 
offsets into that array instead of pointers to strings.  If gl_procs.py 
is invoked with '-m short' it will generate a (hard to read) character 
array.  If it is invoked with no option or '-m long' it will generate a 
big (~16k) string.  The string version of the .h file generates a 
warning from GCC.

2. The same glprocs.h is used even for the optimized x86 case.  This is 
done by defining NEED_FUNC_POINTERS only on non-x86.  Actually, it 
should only be defined on architectures that don't have generated 
assembly dispatch stubs.

3. All of the _ts_ dispatch code is *gone*.  The x86 assembly dispatch 
code and the C dispatch code reflect this.  The SPARC assembly dispatch 
has not yet been updated, but it should follow the x86 model.  This 
means that this cod will catch fire, fallover, and sink into the swamp 
on SPARC.  This will obviously need to be fixed before that portion of 
the patch is committed.

Unless there are objections, I would like to commit the new glprocs.h 
and the non-x86 specific code in glapi.c to support it.


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Thread Local Storage libGL

2004-05-24 Thread Ian Romanick
Ian Romanick wrote:
Here's an updated version of that patch.  There are some significant 
differences.
I hate it when I do that
Index: src/mesa/glapi/gl_procs.py
===
RCS file: /cvs/mesa/Mesa/src/mesa/glapi/gl_procs.py,v
retrieving revision 1.1
diff -u -d -r1.1 gl_procs.py
--- a/src/mesa/glapi/gl_procs.py18 May 2004 18:33:40 -  1.1
+++ b/src/mesa/glapi/gl_procs.py24 May 2004 23:04:12 -
@@ -36,48 +36,137 @@
 class PrintGlProcs(gl_XML.FilterGLAPISpecBase):
name = gl_procs.py (from Mesa)
 
-   def __init__(self):
+   def __init__(self, long_strings):
+   self.long_strings = long_strings
gl_XML.FilterGLAPISpecBase.__init__(self)
self.license = license.bsd_license_template % ( \
 Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 (C) Copyright IBM Corporation 2004, BRIAN PAUL, IBM)
 
+
def printRealHeader(self):
-   print ''
print '/* This file is only included by glapi.c and is used for'
print ' * the GetProcAddress() function'
print ' */'
print ''
-   print 'static const struct name_address_offset static_functions[] = {'
+   print 'typedef struct {'
+   print 'int Name_offset;'
+   print '#ifdef NEED_FUNCTION_POINTER'
+   print 'void * Address;'
+   print '#endif'
+   print 'unsigned int Offset;'
+   print '} glprocs_table_t;'
+   print ''
+   print '#ifdef NEED_FUNCTION_POINTER'
+   print '#  define NAME_FUNC_OFFSET(n,f,o) { n , gl ## f , o }'
+   print '#else'
+   print '#  define NAME_FUNC_OFFSET(n,f,o) { n , o }'
+   print '#endif'
+   print ''
return
 
def printRealFooter(self):
-   print '   { NULL, NULL, 0 }  /* end of list marker */'
-   print '};'
+   print ''
+   print '#undef NAME_FUNC_OFFSET'
return
 
-   def printFunction(self, f):
-   print '   { gl%s, (GLvoid *) gl%s, _gloffset_%s },' \
-   % (f.name, f.name, f.real_name)
+   def printFunctionString(self, f):
+   if self.long_strings:
+   print 'gl%s\\0' % (f.name)
+   else:
+   print 'g','l',,
+   for c in f.name:
+   print '%s', % (c),
+   
+   print '\\0',
+
+   def printFunctionOffset(self, f, offset_of_name):
+   print 'NAME_FUNC_OFFSET( % 5u, %s, _gloffset_%s ),' % 
(offset_of_name, f.name, f.real_name)
+
+
+   def printFunctions(self):
+   print ''
+   if self.long_strings:
+   print 'static const char gl_string_table[] ='
+   else:
+   print 'static const char gl_string_table[] = {'
+
+   keys = self.functions.keys()
+   keys.sort()
+   for k in keys:
+   if k  0: continue
+   self.printFunctionString(self.functions[k])
+
+   keys.reverse()
+   for k in keys:
+   if k = -1: continue
+   self.printFunctionString(self.functions[k])
+
+   if self.long_strings:
+   print ';'
+   else:
+   print '};'
+
+   print ''
+   print 'static const glprocs_table_t static_functions[] = {'
+
+   keys = self.functions.keys()
+   keys.sort()
+   base_offset = 0
+   for k in keys:
+   if k  0: continue
+   self.printFunctionOffset(self.functions[k], base_offset)
+
+   # The length of the function's name, plus 2 for gl,
+   # plus 1 for the NUL.
+
+   base_offset += len(self.functions[k].name) + 3
+
+   keys.reverse()
+   for k in keys:
+   if k = -1: continue
+   self.printFunctionOffset(self.functions[k], base_offset)
+
+   # The length of the function's name, plus 2 for gl,
+   # plus 1 for the NUL.
+
+   base_offset += len(self.functions[k].name) + 3
+
+   print 'NAME_FUNC_OFFSET( -1, NULL, -1 )'
+   print '};'
+   return
 
 
 def show_usage():
-   print Usage: %s [-f input_file_name] % sys.argv[0]
+   print Usage: %s [-f input_file_name] [-m mode] % sys.argv[0]
+   print mode can be one of:
+   print long  - Create code for compilers that can handle very 
+   print long 

Re: drm 830 problem

2004-05-24 Thread Kristian Hgsberg
Keith Whitwell wrote:
Andr Ventura Lemos wrote:
On Mon, 2004-05-24 at 11:15, Dave Airlie wrote:
doesn't happen for me,
00:02.0 VGA compatible controller: Intel Corp. 82865G Integrated 
Graphics
Device (rev 02)

:00:02.1 Display controller: Intel Corp. 82852/855GM Integrated
Graphics Device (rev 02)

[drm] Initialized i830 1.3.2 20021108 on minor 0: Intel Corp. 82865G
Integrated Graphics Device

[drm] Initialized i830 1.3.2 20021108 on minor 0

OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 865G 20040506 x86/MMX/SSE2
OpenGL version string: 1.2 Mesa 6.1

OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 852GM/855GM 20021115

The '2002' part of the date should be a hint -- please download a recent 
snapshot from dri.sf.net  try with that.
Hmm... CVS HEAD advertises 20021108:
http://freedesktop.org/cgi-bin/viewcvs.cgi/dri/drm/linux/i830.h?rev=1.13view=auto
Look for #define DRIVER_DATE.
Kristian
---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id149alloc_id66op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: drm 830 problem

2004-05-24 Thread Ian Romanick
Kristian Hgsberg wrote:
Keith Whitwell wrote:
The '2002' part of the date should be a hint -- please download a 
recent snapshot from dri.sf.net  try with that.

Hmm... CVS HEAD advertises 20021108:
http://freedesktop.org/cgi-bin/viewcvs.cgi/dri/drm/linux/i830.h?rev=1.13view=auto 

Look for #define DRIVER_DATE.
Yes, the driver in the freedesktop.org tree is *ancient*.  That's why he 
said to try an updated driver from dri.sf.net. :)


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id149alloc_id66op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


i830 t_vertex.c nitpick

2004-05-24 Thread Eric Anholt
I think I've noticed a problem in i830_tris.c, in i830RenderStart. 
Let's say you've got fog turned on but not specular.  Then v0 has
VRTX_HAS_SPEC set, and you're emitting the fog factor and a 3-byte pad. 
If you then turn on specular, v0 still has VRTX_HAS_SPEC set, so the
test at the end won't do the _tnl_install_attrs because v0 is the same
as it was before, even though the tnl code would have changed to emit
the specular instead of the pad.

-- 
Eric Anholt[EMAIL PROTECTED]  
http://people.freebsd.org/~anholt/ [EMAIL PROTECTED]




---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: drm 830 problem

2004-05-24 Thread Dave Airlie
  Hmm... CVS HEAD advertises 20021108:
 
  http://freedesktop.org/cgi-bin/viewcvs.cgi/dri/drm/linux/i830.h?rev=1.13view=
  auto Look for #define DRIVER_DATE.

 Yes, the driver in the freedesktop.org tree is *ancient*.  That's why he said
 to try an updated driver from dri.sf.net. :)

not sure if Ian got confused or his trees backways :-),

anyhoo, that is the DRM DRIVER_DATE, most of the 3d work is done in the
mesa driver,
http://dri.freedesktop.org/cgi-bin/cvsweb/mesa/Mesa/src/mesa/drivers/dri/i830/i830_context.c

and that is 2004, grab a snapshot it can't harm,

I'm going to install FC2 on my i865 at home rsn.. (I've burned the CDs...)

Dave.

David Airlie, Software Engineer
http://www.skynet.ie/~airlied / airlied at skynet.ie
pam_smb / Linux DECstation / Linux VAX / ILUG person



---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: i830 texture compression support..

2004-05-24 Thread Dave Airlie

 I have one question though, how is RGB_DXT1 and RGBA_DXT1 going to work?
 As far as I can see, there's no difference at all between these two
 formats as far as the driver is concerned, which can't be correct
 (pixels which need to get decompressed as black, fully opaque for
 RGB_DXT1 need to be black, fully transparent for RGBA_DXT1). I'm not
 sure how this is supposed to work, maybe with changing texture
 environments? I guess RGBA_DXT1 isn't used a lot though (the compression
 library also does not a good job for that weird format).

yup I've noticed this myself, I'm going to track it down, but it's not
used much so I thought the patch might be more use with it broken than
waiting for me to fix it :-)

 given how terribly similar they are (at least the fxt1 cc_mixed mode)...
 I believe though Daniel Borca is working on it (by using code from the
 Glide3/Texus2 library).

cool that explains that ... I might dig up a pre-compressed fxt1 texture
from somewhere...

Dave.


  do I have any chance of getting ut2004 demo going on an i865 chipset?
   at the moment I'm missing some floors and things..
 Can't help you there ;-).

 Roland


-- 
David Airlie, Software Engineer
http://www.skynet.ie/~airlied / airlied at skynet.ie
pam_smb / Linux DECstation / Linux VAX / ILUG person



---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: drm 830 problem

2004-05-24 Thread Alex Romosan
Ian Romanick [EMAIL PROTECTED] writes:

 Yes, the driver in the freedesktop.org tree is *ancient*.  That's why
 he said to try an updated driver from dri.sf.net. :)

i am confused. if i go to dri.sf.net, under cvs downloads it says:

  The DRI project has moved its CVS services to
  http://dri.freedesktop.org/ , to reduce the pains related to
  SourceForge's overloaded CVS services.

  To check out DRI CVS from freedesktop.org anonymously, first you
  must login:

  cvs -z3 -d:pserver:[EMAIL PROTECTED]:/cvs/dri login 

  etc.

i assumed the driver at freedesktop.org is the current one.

--alex--

-- 
| I believe the moment is at hand when, by a paranoiac and active |
|  advance of the mind, it will be possible (simultaneously with  |
|  automatism and other passive states) to systematize confusion  |
|  and thus to help to discredit completely the world of reality. |


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: drm 830 problem

2004-05-24 Thread Dave Airlie

 I haven't followed DRI closely, so this may be a FAQ or just a stupid
 question, but why is the DRI module in the 2.6.6 kernel almost two years old?

there are 3 components to a 3d driver, DRM, DRI and DDX :-),

DRM - lives in kernel - the i830 DRM hasn't needed any major changes in
the two years.
DRI driver - lives in Mesa tree and
/usr/X11R6/lib/modules/dri/i830_dri.so, this is now at 2004, the version
in X.org tree is older, probably same as in XFree86,
DDX driver - lives in DRI and X.org trees, this is the 2d driver mainly
but calls the 3d driver initialisation,

So you have a new DRM, but an older DRI. to update your DRI use a snapshot
..

Dave.


 
 Kristian


-- 
David Airlie, Software Engineer
http://www.skynet.ie/~airlied / airlied at skynet.ie
pam_smb / Linux DECstation / Linux VAX / ILUG person



---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Mesa3d-dev] Re: [Dri-devel] Memory management of AGP and VRAM

2004-05-24 Thread Mike Mestnik
These seem to be good requierments of any conclusion that is reached.

1. On the fly context switching.
 1a. Even if the GART is %100 full for the new/old context.
 1b. Even if the VideoRam is %100 full for the new/old context.
 1c. Even if the Card(s) are locked for exlusive use.
 1d. Even if add you fav gripe here.
 1e. Even if hell has frozen over and a nutron boom has damaged your video
card.

--- Holger Waechtler [EMAIL PROTECTED] wrote:
 Mike Mestnik wrote:
  --- Jon Smirl [EMAIL PROTECTED] wrote:
  
 There are two types of VTs - text and graphical. It is only practical
 to
 have a
 single graphical VT because of the complexity of state swapping a
 graphical VT
 at VT swap.
 
  
  Right now we can all-ready run X on multiple VTs and with DRI-reinit
 can
  run GL apps on all of them.  It may noy be the most elegant thing but
 it
  workes.  We need the OS to keep state, even graphical, GART and all. 
 I
  don't see how a 128M GART is diffrent then 2Gb system memory.  Should
 we
  have GART swap space on the HD, a GART partition?
  
  I'm for making the OS VT swap multiheaded DR?I? setups at whatever
 cost.
 
 An elegant implementation would not swap the entire GART at VT switches 
 but only present the new VT framebuffer as new display on the screen 
 while maintaining the AGP states.
 
 Check out e.g. MacOS-X's animated multiple login screen: At every new 
 session start the current session just rotates smoothly animated into 
 the background and a new one is brought up.
 
 In this model you can retain the entire graphics state at VT switch, 
 only another (currently invisible) frambuffer/screen/display/VT is made 
 visible. This allows straightforward multihead implementations, any 
 frambuffer/screen/display/VT can get attached to any head, they are just
 
 a piece of framebuffer memory which is either located in graphics memory
 
 or system memory and can get relocated on request, even to other 
 graphics cards.
 
 
 How about this for a new way to look at the problem?
 
  
  System based xterm, that's a new one.  I don't see how it's better
 then
  what we have now.
 
 probably not -- the MacOS-X alike approach looks more promising. At SAK 
 a new display framebuffer would get launched and brought to front, the 
 currently running application is only need get killed if it locks the 
 graphics engine in an locked state.
 
 Unfortunally that means that parts of the window stack implementation 
 need to run in kernel space (or a tightly connected trusted agent in 
 userspace). Don't know whether this is a problem, the DirectFB core 
 showed that it's possible to implement this cleanly in a few thousand 
 lines of code.
 
 Holger
 
 
 ---
 This SF.Net email is sponsored by: Oracle 10g
 Get certified on the hottest thing ever to hit the market... Oracle 10g.
 
 Take an Oracle 10g class now, and we'll give you the exam FREE.
 http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
 --
 ___
 Dri-devel mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/dri-devel





__
Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/ 


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Thread Local Storage libGL

2004-05-24 Thread Mike Mestnik
Currently every inst that referances a register(this is most of them)
needs a global .register setting??  As far as making the build system use
the C vs the asm I could also not find where this is soposed to happen.  I
got as far as stoping the asm from being built, but then I coulden't find
what C code I needed to replace it with.

--- Keith Whitwell [EMAIL PROTECTED] wrote:
 Mike Mestnik wrote:
  --- Ian Romanick [EMAIL PROTECTED] wrote:
  
 Assembly dispatch stubs are only generated for x86 and SPARC.  It
 looks 
 like the #if test in dispatch.c is wrong, so that stubs don't even get
 
 used on SPARC.  In any case, Jakub's patch did modify the x86
 assembly, 
 not the C version.  I wasn't really clear about that before.  My 
 proposal is to modify the C version, the x86 assembly version, and the
 
 SPARC assembly version.  I've worked up a patch to gl_x86_asm.py that
 I 
 can post on Monday.
 
  
  Just to get every one on the same page.  The SPARC assembly version is
  only for solaris.  It dose not, and can not, even build on linux! 
 Last
  time I checked DRI would not build on SPARC/Linux, crashing on the
 Solaris
  ASM code.
 
 Hmm, there are definite references to __linux__ in the code - looks like
 the 
 intention is there.  Why not look at the generator scripts  post a
 patch to 
 fix it?
 
 Keith
 





__
Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/ 


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Thread Local Storage libGL

2004-05-24 Thread Mike Mestnik
I know I posted the exact errmsg but esecaly it's missing a global
.register deffinition and it's just the sam code (.S).

I build it in 64bit (not using sparc32 to fake a 32bit system).  I needed
this cause DRI is knowen to not work with mixed user/kernel bitdepths and
I have a 64bit kernel.  glibc is built for both 64bit and 32bit binarys.

Normally the differance is...
sparc32 make all; # vs just running make all and this is needed for many
programs that don't take into account 64bit systems.

--- Ian Romanick [EMAIL PROTECTED] wrote:
 Mike Mestnik wrote:
  --- Ian Romanick [EMAIL PROTECTED] wrote:
  
 Assembly dispatch stubs are only generated for x86 and SPARC.  It
 looks 
 like the #if test in dispatch.c is wrong, so that stubs don't even get
 
 used on SPARC.  In any case, Jakub's patch did modify the x86
 assembly, 
 not the C version.  I wasn't really clear about that before.  My 
 proposal is to modify the C version, the x86 assembly version, and the
 
 SPARC assembly version.  I've worked up a patch to gl_x86_asm.py that
 I 
 can post on Monday.
  
  Just to get every one on the same page.  The SPARC assembly version is
  only for solaris.  It dose not, and can not, even build on linux! 
 Last
  time I checked DRI would not build on SPARC/Linux, crashing on the
 Solaris
  ASM code.
 
 Does the code in src/mesa/glapi/glapi.c (generate_entrypoint 
 specifically) cause the crash or just the code in 
 src/mesa/sparc/glapi_sparc.S?  My guess is that Linux uses 32-bit 
 user-mode, but the asm code in glapi_sparc.S defaults to 64-bit on v9. 
 Perhaps we could come up with a better define, such as 
 USE_SPARC_32BIT_USER to determine which stubs to build.
 
 





__
Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/ 


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: Thread Local Storage libGL

2004-05-24 Thread Ian Romanick
Mike Mestnik wrote:
Currently every inst that referances a register(this is most of them)
needs a global .register setting??  As far as making the build system use
the C vs the asm I could also not find where this is soposed to happen.  I
got as far as stoping the asm from being built, but then I coulden't find
what C code I needed to replace it with.
The C dispatch stubs are in the header file src/mesa/glapi/glapitemps.h. 
 They are built in src/mesa/main/dispatch.c.


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: drm 830 problem

2004-05-24 Thread Ian Romanick
Dave Airlie wrote:
Hmm... CVS HEAD advertises 20021108:
http://freedesktop.org/cgi-bin/viewcvs.cgi/dri/drm/linux/i830.h?rev=1.13view=
auto Look for #define DRIVER_DATE.
Yes, the driver in the freedesktop.org tree is *ancient*.  That's why he said
to try an updated driver from dri.sf.net. :)
not sure if Ian got confused or his trees backways :-),
Oops.  My bad.  I saw http://freedesktop.org/; and jumped to 
conclusions.  Sorry.

anyhoo, that is the DRM DRIVER_DATE, most of the 3d work is done in the
mesa driver,
http://dri.freedesktop.org/cgi-bin/cvsweb/mesa/Mesa/src/mesa/drivers/dri/i830/i830_context.c


---
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click
--
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel