mesa.git
15 years agor300: swtcl rewrite and cleanup
Maciej Cencora [Tue, 7 Apr 2009 11:08:40 +0000 (21:08 +1000)]
r300: swtcl rewrite and cleanup

- remove unused variables
- silence compiler warnings
- fix twosided lighting
- fix point attenuation
- unify indentation

15 years agoradeon/r200/r300: fix missing dma buffer validation
Dave Airlie [Tue, 7 Apr 2009 05:05:53 +0000 (15:05 +1000)]
radeon/r200/r300: fix missing dma buffer validation

this make gnome shell run

15 years agoradeon: fix bocs wrapper
Dave Airlie [Mon, 6 Apr 2009 10:37:11 +0000 (20:37 +1000)]
radeon: fix bocs wrapper

15 years agoradeon: add support for new ttm
Jerome Glisse [Fri, 3 Apr 2009 13:15:22 +0000 (15:15 +0200)]
radeon: add support for new ttm

15 years agoradeon/r200/r300: fix up the whole buffer space checking.
Dave Airlie [Thu, 2 Apr 2009 08:58:49 +0000 (18:58 +1000)]
radeon/r200/r300: fix up the whole buffer space checking.

This fixes up the buffer validation scheme, so that we keep a list
of buffers to validate so cmdbuf flushes during a pipeline get
all the buffers revalidated on the next emit.

This also fixes radeonFlush to not flush unless we have something
useful to send to the GPU, like a DMA buffer or something not state

15 years agoradeon/common: use glCtx not ctx
Dave Airlie [Thu, 2 Apr 2009 04:47:51 +0000 (14:47 +1000)]
radeon/common: use glCtx not ctx

15 years agoradeon/r200/r300: collapse context destruction down to a common path.
Dave Airlie [Thu, 2 Apr 2009 04:25:07 +0000 (14:25 +1000)]
radeon/r200/r300: collapse context destruction down to a common path.

Context destruction was nearly the same over all the drivers,
so collapse it down.

15 years agoradeon: tiling support
Dave Airlie [Thu, 2 Apr 2009 03:35:09 +0000 (13:35 +1000)]
radeon: tiling support

15 years agor300: fix qtdemo qt4 startup
Dave Airlie [Thu, 2 Apr 2009 00:30:03 +0000 (11:30 +1100)]
r300: fix qtdemo qt4 startup

15 years agoradeon: go back and repick texture formats.
Dave Airlie [Wed, 1 Apr 2009 06:13:30 +0000 (16:13 +1000)]
radeon: go back and repick texture formats.

This might trip up some serious FBO users, will have to see, but
it avoids the slow paths for all the demos I have.

15 years agoradeon: fixup render buffer cleanups
Dave Airlie [Wed, 1 Apr 2009 05:41:58 +0000 (15:41 +1000)]
radeon: fixup render buffer cleanups

this fixes qtdemo-qt4 starting and a leak in glxgears exit

15 years agoradeon/dri2: if the depth buffer is 16-bit force cpp == 2
Dave Airlie [Tue, 31 Mar 2009 05:50:19 +0000 (15:50 +1000)]
radeon/dri2: if the depth buffer is 16-bit force cpp == 2

This is because the DDX always allocates using the drawable sizes.
which gives me twice the depth buffer I asked for, dumb.

15 years agoradeon: fix pixel readback for RGB8 tests
Dave Airlie [Tue, 31 Mar 2009 04:43:14 +0000 (14:43 +1000)]
radeon: fix pixel readback for RGB8 tests

15 years agor200: fix glean pixelFormats regression
Dave Airlie [Tue, 31 Mar 2009 03:38:39 +0000 (13:38 +1000)]
r200: fix glean pixelFormats regression

15 years agor300: fix stencil clears
Dave Airlie [Tue, 31 Mar 2009 10:10:48 +0000 (20:10 +1000)]
r300: fix stencil clears

15 years agor200: only set all dirty on kernel clears
Dave Airlie [Tue, 31 Mar 2009 00:46:27 +0000 (10:46 +1000)]
r200: only set all dirty on kernel clears

15 years agoradeon/r200: fix glean failures on readPixSanity since EXT_DEPTH_STENCIL support
Dave Airlie [Tue, 31 Mar 2009 00:36:06 +0000 (10:36 +1000)]
radeon/r200: fix glean failures on readPixSanity since EXT_DEPTH_STENCIL support

15 years agor200: fix veclinear emission
Dave Airlie [Tue, 31 Mar 2009 00:35:16 +0000 (10:35 +1000)]
r200: fix veclinear emission

15 years agoradeon: fix readback problem for piglit tests
Dave Airlie [Mon, 30 Mar 2009 02:02:08 +0000 (12:02 +1000)]
radeon: fix readback problem for piglit tests

15 years agoradeon/r200/r300: set correct row stride for rbs
Dave Airlie [Wed, 25 Mar 2009 07:59:33 +0000 (17:59 +1000)]
radeon/r200/r300: set correct row stride for rbs

15 years agor300: check buffer sizes in non-tcl case + set correct VRAM limits
Dave Airlie [Wed, 25 Mar 2009 07:02:32 +0000 (17:02 +1000)]
r300: check buffer sizes in non-tcl case + set correct VRAM limits

15 years agoradeon: fixup map/unmap texture to work with override BOs
Dave Airlie [Wed, 25 Mar 2009 07:01:37 +0000 (17:01 +1000)]
radeon: fixup map/unmap texture to work with override BOs

if you hit this you've already failed but we shouldn't crash

15 years agor200: add fbo files to the compile
Dave Airlie [Thu, 26 Mar 2009 01:15:07 +0000 (11:15 +1000)]
r200: add fbo files to the compile

15 years agoradeon/r200/r300: fix warnings
Dave Airlie [Tue, 24 Mar 2009 08:32:46 +0000 (18:32 +1000)]
radeon/r200/r300: fix warnings

15 years agor300: remove lock.h link
Dave Airlie [Tue, 24 Mar 2009 05:21:49 +0000 (15:21 +1000)]
r300: remove lock.h link

15 years agoradeon: fixup some issue with fbos and sw fallbacks
Dave Airlie [Tue, 24 Mar 2009 05:06:19 +0000 (15:06 +1000)]
radeon: fixup some issue with fbos and sw fallbacks

15 years agoradeon/r200/r300: set the texture depth correctly for DRI2
Dave Airlie [Tue, 24 Mar 2009 01:19:09 +0000 (11:19 +1000)]
radeon/r200/r300: set the texture depth correctly for DRI2

15 years agoradeon: actual format is rgba8
Dave Airlie [Mon, 23 Mar 2009 23:45:26 +0000 (09:45 +1000)]
radeon: actual format is rgba8

15 years agoradeon: fix typo
Dave Airlie [Mon, 23 Mar 2009 23:45:18 +0000 (09:45 +1000)]
radeon: fix typo

15 years agoradeon: setup pipes for r300
Dave Airlie [Mon, 23 Mar 2009 23:28:52 +0000 (09:28 +1000)]
radeon: setup pipes for r300

15 years agoradeon: stupid mesa extension fail
Dave Airlie [Mon, 23 Mar 2009 23:26:31 +0000 (09:26 +1000)]
radeon: stupid mesa extension fail

15 years agoradeon: fixup wrapper bo name
Dave Airlie [Mon, 23 Mar 2009 09:32:10 +0000 (19:32 +1000)]
radeon: fixup wrapper bo name

15 years agoMerge branch 'radeon-fbo-hacking' into radeon-rewrite
Dave Airlie [Mon, 23 Mar 2009 08:56:34 +0000 (18:56 +1000)]
Merge branch 'radeon-fbo-hacking' into radeon-rewrite

15 years agoraedon/r200/r300: mega-FBO commits.
Dave Airlie [Mon, 23 Mar 2009 08:27:49 +0000 (18:27 +1000)]
raedon/r200/r300: mega-FBO commits.

Re work depth issues.
Do a lot more FBO abstactions
fixup depth/stencil buffer interactions

15 years agoradeon fbo: add draw offset calcs
Dave Airlie [Sun, 22 Mar 2009 09:11:46 +0000 (19:11 +1000)]
radeon fbo: add draw offset calcs

15 years agoradeon/r200/r300: add support for new tfp interface
Dave Airlie [Sun, 22 Mar 2009 02:03:24 +0000 (12:03 +1000)]
radeon/r200/r300: add support for new tfp interface

also fixup old interface, gets rid of white boxes in compiz

15 years agoMerge remote branch 'origin/master' into HEAD
Dave Airlie [Sun, 22 Mar 2009 02:01:21 +0000 (12:01 +1000)]
Merge remote branch 'origin/master' into HEAD

15 years agoradeon: use mipmap fns in FBO code
Dave Airlie [Sun, 22 Mar 2009 01:57:03 +0000 (11:57 +1000)]
radeon: use mipmap fns in FBO code

15 years agoradeon: add miptree offset functions
Dave Airlie [Sun, 22 Mar 2009 01:56:41 +0000 (11:56 +1000)]
radeon: add miptree offset functions

15 years agor200: fix for sure
Dave Airlie [Sat, 21 Mar 2009 12:41:42 +0000 (22:41 +1000)]
r200: fix for sure

15 years agoradeon/r200: oops make correct fbo init calls
Dave Airlie [Sat, 21 Mar 2009 12:35:01 +0000 (22:35 +1000)]
radeon/r200: oops make correct fbo init calls

15 years agoradeon: add xRGB span functions
Dave Airlie [Sat, 21 Mar 2009 11:41:25 +0000 (21:41 +1000)]
radeon: add xRGB span functions

same as ARGB need to add a parameter to get ptr32

15 years agoradeon: dri2 is hooked up elsewhere now
Dave Airlie [Sat, 21 Mar 2009 11:38:28 +0000 (22:38 +1100)]
radeon: dri2 is hooked up elsewhere now

15 years agoradeon/r200: add fbo init
Dave Airlie [Sat, 21 Mar 2009 11:38:11 +0000 (22:38 +1100)]
radeon/r200: add fbo init

15 years agoradeon/r200: add fbo state changes
Dave Airlie [Sat, 21 Mar 2009 11:36:18 +0000 (22:36 +1100)]
radeon/r200: add fbo state changes

15 years agor300: fix viewport inversion for FBOs
Dave Airlie [Sat, 21 Mar 2009 11:27:01 +0000 (22:27 +1100)]
r300: fix viewport inversion for FBOs

15 years agotgsi: Document KIL, KILP instructions.
Michal Krol [Sat, 21 Mar 2009 11:18:09 +0000 (12:18 +0100)]
tgsi: Document KIL, KILP instructions.

15 years agogallium: remove remaining references to origin_lower_left
Keith Whitwell [Sat, 21 Mar 2009 10:37:33 +0000 (10:37 +0000)]
gallium: remove remaining references to origin_lower_left

15 years agost: Silence compiler warnings.
Michal Krol [Sat, 21 Mar 2009 10:46:54 +0000 (11:46 +0100)]
st: Silence compiler warnings.

15 years agoradeon: align FBO pitch
Dave Airlie [Sat, 21 Mar 2009 08:16:21 +0000 (18:16 +1000)]
radeon: align FBO pitch

15 years agoradeon: fixup last missing x_off/y_off
Dave Airlie [Sat, 21 Mar 2009 08:16:02 +0000 (18:16 +1000)]
radeon: fixup last missing x_off/y_off

15 years agoradeon: add cpp/pitch to rrb
Dave Airlie [Sat, 21 Mar 2009 08:07:33 +0000 (18:07 +1000)]
radeon: add cpp/pitch to rrb

15 years agoradeon/fbo: add x_off and y_off in correct places
Dave Airlie [Sat, 21 Mar 2009 08:05:54 +0000 (18:05 +1000)]
radeon/fbo: add x_off and y_off in correct places

15 years agoradeon: dPriv handling is now in cliprects code
Dave Airlie [Sat, 21 Mar 2009 06:51:46 +0000 (16:51 +1000)]
radeon: dPriv handling is now in cliprects code

15 years agoradeon: fixup span code for FBOs
Dave Airlie [Sat, 21 Mar 2009 06:08:20 +0000 (16:08 +1000)]
radeon: fixup span code for FBOs

15 years agor300: hw clear buffer 0 hopefully
Dave Airlie [Sat, 21 Mar 2009 05:05:34 +0000 (15:05 +1000)]
r300: hw clear buffer 0 hopefully

15 years agoradeon: fix up span function setting
Dave Airlie [Sat, 21 Mar 2009 04:31:14 +0000 (14:31 +1000)]
radeon: fix up span function setting

15 years agogallium: remove use of origin_lower_left
Brian Paul [Sat, 21 Mar 2009 02:25:34 +0000 (20:25 -0600)]
gallium: remove use of origin_lower_left

This was used to indicate OpenGL's lower-left origin for fragment window
coordinates for polygon stipple and gl_FragCoord.

Now:
  - fragment coordinate origin is always upper-left corner
  - GL polygon stipple is inverted and shifted before given to gallium
  - GL fragment programs that use INPUT[WPOS] are modified to use an
    inverted window coord which is placed in a temp register.

Note: the origin_lower_left field still exists in pipe_rasterizer_state.
Remove it when all the drivers, etc. no longer reference it.

15 years agomesa: add new internal state var for window size
Brian Paul [Sat, 21 Mar 2009 02:15:58 +0000 (20:15 -0600)]
mesa: add new internal state var for window size

Actually, window width - 1, height - 1

15 years agomesa: linear scan register allocation for shader programs
Brian Paul [Fri, 20 Mar 2009 23:08:30 +0000 (17:08 -0600)]
mesa: linear scan register allocation for shader programs

This is a check-point commit; not turned on yet.

Use the linear scan register allocation algorithm to re-allocate temporary
registers.  This is done by computing the live intervals for registers and
reallocating temps with that information.

For some shaders this dramatically reduces the number of temp registers
needed.

For the time being we give up on a few cases such as relative-indexed temps
and subroutine calls (but we inline most GLSL functions anyway).

15 years agodocs: updated Mesa extension enum info
Brian Paul [Fri, 20 Mar 2009 15:20:53 +0000 (09:20 -0600)]
docs: updated Mesa extension enum info

15 years agor300-gallium: Misspelled macro name.
Corbin Simpson [Fri, 20 Mar 2009 21:47:49 +0000 (14:47 -0700)]
r300-gallium: Misspelled macro name.

*pulls paper bag down over head*

15 years agor300-gallium: Put r300_cs_inlines to bed.
Corbin Simpson [Fri, 20 Mar 2009 07:48:53 +0000 (00:48 -0700)]
r300-gallium: Put r300_cs_inlines to bed.

Guess it was a mistake in the first place. Oops.

15 years agor300-gallium: Simplify/neaten up packet3.
Corbin Simpson [Fri, 20 Mar 2009 07:43:29 +0000 (00:43 -0700)]
r300-gallium: Simplify/neaten up packet3.

Deck chairs on the Hindenburg. :3

15 years agor300-gallium: Clean up surface_fill, prep for surface_copy code.
Corbin Simpson [Fri, 20 Mar 2009 07:35:38 +0000 (00:35 -0700)]
r300-gallium: Clean up surface_fill, prep for surface_copy code.

15 years agor300-gallium: Properly offset scissors.
Corbin Simpson [Fri, 20 Mar 2009 07:15:03 +0000 (00:15 -0700)]
r300-gallium: Properly offset scissors.

As per r300_reg, classic Mesa, and xf86-video-ati.

15 years agor300-gallium: Clean up r300_swtcl_emit.
Corbin Simpson [Fri, 20 Mar 2009 03:36:59 +0000 (20:36 -0700)]
r300-gallium: Clean up r300_swtcl_emit.

Some compile warnings, some statements without effect.

15 years agor300-gallium: Clean up some emit, and some state handlers.
Corbin Simpson [Fri, 20 Mar 2009 03:32:08 +0000 (20:32 -0700)]
r300-gallium: Clean up some emit, and some state handlers.

15 years agor300-gallium: A bit more invariant state.
Corbin Simpson [Thu, 19 Mar 2009 19:29:03 +0000 (12:29 -0700)]
r300-gallium: A bit more invariant state.

15 years agogallium: Explain what happens if buffer_flush_mapped_range isn't called.
José Fonseca [Wed, 18 Mar 2009 16:54:25 +0000 (16:54 +0000)]
gallium: Explain what happens if buffer_flush_mapped_range isn't called.

15 years agogallium/util: add upload manager helper module
Keith Whitwell [Fri, 20 Mar 2009 15:08:59 +0000 (15:08 +0000)]
gallium/util:  add upload manager helper module

Add a module that will manage uploading and coalescing multiple
user-buffers, malloc-buffers and other random data that doesn't
happen to be in a GPU buffer already.  The module stuffs multiple
little uploads into larger GPU buffers to reduce create/destroy
overheads, etc.

15 years agoFix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.
Eric Anholt [Wed, 18 Mar 2009 19:07:09 +0000 (12:07 -0700)]
Fix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.

This requires upgrading the interface so that the argument to
glXBindTexImageEXT isn't just dropped on the floor.  Note that this only
fixes the accelerated path on Intel, as Mesa's texture format support is
missing x8r8g8b8 support (right now, GL_RGB textures get uploaded as a8r8gb8,
but in this case we're not doing the upload so we can't really work around it
that way).

Fixes bugs with compositors trying to use shaders that use alpha channels, on
windows without a valid alpha channel.  Bug #19910 and likely others as well.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>

15 years agoprogs/wgl: Send a resize message after context have been created.
Michal Krol [Fri, 20 Mar 2009 15:48:54 +0000 (16:48 +0100)]
progs/wgl: Send a resize message after context have been created.

15 years agostw: Do not err on nil context handle in MakeCurrent().
Michal Krol [Fri, 20 Mar 2009 15:36:23 +0000 (16:36 +0100)]
stw: Do not err on nil context handle in MakeCurrent().

15 years agoprogs/wgl: Create GL context in a thread that actually uses it.
Michal Krol [Fri, 20 Mar 2009 15:16:12 +0000 (16:16 +0100)]
progs/wgl: Create GL context in a thread that actually uses it.

15 years agoprogs/wgl: Make context current to get GL_RENDERER string.
Michal Krol [Fri, 20 Mar 2009 15:13:39 +0000 (16:13 +0100)]
progs/wgl: Make context current to get GL_RENDERER string.

15 years agostw: Use u_handle_table to maintain context list.
Michal Krol [Fri, 20 Mar 2009 14:45:00 +0000 (15:45 +0100)]
stw: Use u_handle_table to maintain context list.

15 years agor300: init fbos
Dave Airlie [Fri, 20 Mar 2009 12:34:30 +0000 (22:34 +1000)]
r300: init fbos

15 years agomore fbo fillin
Dave Airlie [Fri, 20 Mar 2009 12:29:15 +0000 (22:29 +1000)]
more fbo fillin

15 years agor300: enable FBO for a test
Dave Airlie [Fri, 20 Mar 2009 12:15:22 +0000 (22:15 +1000)]
r300: enable FBO for a test

15 years agoradeon: some more fbo work
Dave Airlie [Fri, 20 Mar 2009 12:07:05 +0000 (22:07 +1000)]
radeon: some more fbo work

15 years agowinsys/gdi: Init state tracker's per-thread data.
Michal Krol [Fri, 20 Mar 2009 12:06:28 +0000 (13:06 +0100)]
winsys/gdi: Init state tracker's per-thread data.

15 years agostw: Keep per-thread storage for current context and pixel format.
Michal Krol [Fri, 20 Mar 2009 12:05:51 +0000 (13:05 +0100)]
stw: Keep per-thread storage for current context and pixel format.

15 years agoslang: Use _mesa_snprintf() wrapper.
Michal Krol [Fri, 20 Mar 2009 11:19:40 +0000 (12:19 +0100)]
slang: Use _mesa_snprintf() wrapper.

15 years agoradeon: initial couch code copy from radeon
Dave Airlie [Fri, 20 Mar 2009 08:23:38 +0000 (18:23 +1000)]
radeon: initial couch code copy from radeon

15 years agoMerge remote branch 'main/master' into radeon-rewrite
Dave Airlie [Fri, 20 Mar 2009 00:52:17 +0000 (10:52 +1000)]
Merge remote branch 'main/master' into radeon-rewrite

Conflicts:
src/mesa/drivers/dri/r300/r300_cmdbuf.c
src/mesa/drivers/dri/r300/r300_state.c
src/mesa/drivers/dri/r300/r300_swtcl.c
src/mesa/drivers/dri/r300/radeon_ioctl.c
src/mesa/drivers/dri/radeon/radeon_screen.c

15 years agoslang: initialize the context
Alan Hourihane [Thu, 19 Mar 2009 22:38:01 +0000 (22:38 +0000)]
slang: initialize the context

15 years agoslang: support uniform arrays
Alan Hourihane [Thu, 19 Mar 2009 22:06:10 +0000 (22:06 +0000)]
slang: support uniform arrays

15 years agotrace: Formalize on a standard for data size pair
Jakob Bornecrantz [Thu, 19 Mar 2009 15:11:05 +0000 (16:11 +0100)]
trace: Formalize on a standard for data size pair

15 years agoglslcompiler: added new options to override debug/optimization pragmas
Brian Paul [Thu, 19 Mar 2009 16:26:50 +0000 (10:26 -0600)]
glslcompiler: added new options to override debug/optimization pragmas

15 years agoglsl: change GLSL #pragma initialization
Brian Paul [Thu, 19 Mar 2009 16:25:24 +0000 (10:25 -0600)]
glsl: change GLSL #pragma initialization

Initialize the shader's pragma settings before calling the compiler.
Added pragma "Ignore" fields to allow overriding the #pragma directives found
in shader source code.

15 years agoegl: fix comment
Alan Hourihane [Thu, 19 Mar 2009 15:39:01 +0000 (15:39 +0000)]
egl: fix comment

15 years agoegl: try harder for eglGetProcAddress()
Alan Hourihane [Thu, 19 Mar 2009 15:34:45 +0000 (15:34 +0000)]
egl: try harder for eglGetProcAddress()

15 years agoglsl: when debug pragma is on, emit comments about function calls/inlines
Brian Paul [Thu, 19 Mar 2009 15:26:20 +0000 (09:26 -0600)]
glsl: when debug pragma is on, emit comments about function calls/inlines

BTW, the debug pragma syntax is "#pragma debug(on)"

15 years agomesa: check renderbuffer is defined before use.
Alan Hourihane [Thu, 19 Mar 2009 13:58:04 +0000 (13:58 +0000)]
mesa: check renderbuffer is defined before use.

15 years agoradeon/r200/r300: cleanup some of the renderbuffer code
Dave Airlie [Thu, 19 Mar 2009 05:31:03 +0000 (15:31 +1000)]
radeon/r200/r300: cleanup some of the renderbuffer code

15 years agoradeon: fix up locking like the intel driver for pageflip/swaps
Dave Airlie [Thu, 19 Mar 2009 04:46:52 +0000 (14:46 +1000)]
radeon: fix up locking like the intel driver for pageflip/swaps

15 years agost/gl: Only transfer needed parts in st_TexSubimage
Jakob Bornecrantz [Wed, 18 Mar 2009 18:10:32 +0000 (19:10 +0100)]
st/gl: Only transfer needed parts in st_TexSubimage

15 years agoslang: if/else/break & if/else/continue work for unrolled loops
Alan Hourihane [Thu, 19 Mar 2009 10:16:28 +0000 (10:16 +0000)]
slang: if/else/break & if/else/continue work for unrolled loops

15 years agowgl: Add an `-s' option to wglthreads to force single-threaded operation.
Michal Krol [Thu, 19 Mar 2009 10:16:01 +0000 (11:16 +0100)]
wgl: Add an `-s' option to wglthreads to force single-threaded operation.