mesa.git
15 years agoglsl: move predefined shader input/output info/code to slang_builtin.c
Brian Paul [Wed, 12 Aug 2009 18:27:35 +0000 (12:27 -0600)]
glsl: move predefined shader input/output info/code to slang_builtin.c

This is a more logical place for this code.
Also add some functions for querying vertex shader input names, types, etc.

15 years agovbo: Avoid extra validation of DrawElements.
Eric Anholt [Tue, 11 Aug 2009 19:31:01 +0000 (12:31 -0700)]
vbo: Avoid extra validation of DrawElements.

This saves mapping the index buffer to get a bounds on the indices that
drivers just drop on the floor in the VBO case (cache win), saves a bonus
walk of the indices in the CheckArrayBounds case, and other miscellaneous
validation.  On intel it's a particularly a large win (50-100% in my app)
because even though we let the indices stay in both CPU and GPU caches, we
still end up waiting for the GPU to be done with the buffer before reading
from it.

Drivers that want the min/max_index fields must now check index_bounds_valid
and use vbo_get_minmax_index before using them.

15 years agoradeon: Minor warnings cleanup.
Eric Anholt [Wed, 12 Aug 2009 18:12:46 +0000 (11:12 -0700)]
radeon: Minor warnings cleanup.

15 years agoi965: Use _MaxElement instead of index-calculated min/max for VBO bounds.
Eric Anholt [Tue, 11 Aug 2009 19:59:09 +0000 (12:59 -0700)]
i965: Use _MaxElement instead of index-calculated min/max for VBO bounds.

15 years agoradeon: Add protection against recursive DRM locking.
Pauli Nieminen [Thu, 30 Jul 2009 17:17:29 +0000 (20:17 +0300)]
radeon: Add protection against recursive DRM locking.

Reference counting protects DRM lock call from recursive locking that would
cause hang. Code also adds optional debugging output for recursive call that
is compiled only if NDEBUG is not defined.

This code is not 100% thread safe because mesa doesn't include increment and
test atomic operation. There is built-in gcc functions but they are only
available from gcc 4.2.

15 years agost/xorg: Acquire/drop DRM master in order to work with multiple servers.
Michel Dänzer [Wed, 12 Aug 2009 17:11:11 +0000 (19:11 +0200)]
st/xorg: Acquire/drop DRM master in order to work with multiple servers.

15 years agogallium/glx/xlib: main/ prefix on Mesa includes, remove -I$(TOP)/src/mesa/main/
Brian Paul [Wed, 12 Aug 2009 16:30:40 +0000 (10:30 -0600)]
gallium/glx/xlib: main/ prefix on Mesa includes, remove -I$(TOP)/src/mesa/main/

15 years agogallium/glx/xlib: updated comments
Brian Paul [Wed, 12 Aug 2009 16:24:44 +0000 (10:24 -0600)]
gallium/glx/xlib: updated comments

15 years agogallium/glx/xlib: delete fakeglx.h
Brian Paul [Wed, 12 Aug 2009 16:22:23 +0000 (10:22 -0600)]
gallium/glx/xlib: delete fakeglx.h

15 years agogallium/glx/xlib: rename fakeglx.c to glx_api.c
Brian Paul [Wed, 12 Aug 2009 16:22:13 +0000 (10:22 -0600)]
gallium/glx/xlib: rename fakeglx.c to glx_api.c

15 years agogallium/glx/xlib: delete glxapi.h
Brian Paul [Wed, 12 Aug 2009 16:20:53 +0000 (10:20 -0600)]
gallium/glx/xlib: delete glxapi.h

15 years agogallium/glx/xlib: rename fakeglx_fonts.c to glx_usefont.c
Brian Paul [Wed, 12 Aug 2009 16:19:59 +0000 (10:19 -0600)]
gallium/glx/xlib: rename fakeglx_fonts.c to glx_usefont.c

15 years agogallium/glx/xlib: rename glxapi.c to glx_getproc.c
Brian Paul [Wed, 12 Aug 2009 15:57:18 +0000 (09:57 -0600)]
gallium/glx/xlib: rename glxapi.c to glx_getproc.c

15 years agogallium/glx/xlib: don't include fakeglx.h
Brian Paul [Wed, 12 Aug 2009 15:56:45 +0000 (09:56 -0600)]
gallium/glx/xlib: don't include fakeglx.h

15 years agogallium/glx/xlib: overhaul and simplification of the Gallium Xlib-based GLX
Brian Paul [Wed, 12 Aug 2009 15:51:56 +0000 (09:51 -0600)]
gallium/glx/xlib: overhaul and simplification of the Gallium Xlib-based GLX

The old GLX dispatch table stuff isn't needed (same story for the Mesa/Xlib
driver).  The intention of that code was being able to switch on the fly
between the real GLX library and the fake/Xlib-based emulation.  That hasn't
been used in a long time.

Next up: some file renaming.

15 years agor600: A shader is bound that exports Z as a float into Red channel
Cooper Yuan [Wed, 12 Aug 2009 09:39:18 +0000 (17:39 +0800)]
r600: A shader is bound that exports Z as a float into Red channel

15 years agoegl: Use _eglAddAtExitCall to free thread infos and displays.
Chia-I Wu [Mon, 10 Aug 2009 08:45:12 +0000 (16:45 +0800)]
egl: Use _eglAddAtExitCall to free thread infos and displays.

Thread infos and displays are usually not freed by applications.  This
commit add atexit calls to free them.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Add _eglAddAtExitCall.
Chia-I Wu [Mon, 10 Aug 2009 09:35:20 +0000 (17:35 +0800)]
egl: Add _eglAddAtExitCall.

Add a convenient wrapper to register atexit calls.  Add mutex to
_eglGlobal along the way.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Make _eglGlobal initialize statically.
Chia-I Wu [Mon, 10 Aug 2009 08:37:28 +0000 (16:37 +0800)]
egl: Make _eglGlobal initialize statically.

Now that display and surface hash tables are moved out, _eglGlobal can
be initialized statically.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Implement _eglFiniDisplay.
Chia-I Wu [Mon, 10 Aug 2009 07:13:42 +0000 (15:13 +0800)]
egl: Implement _eglFiniDisplay.

_eglFiniDisplay is called at exit time to free allocated displays.  It
is, however, not used right now.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Make display and surface hash tables local.
Chia-I Wu [Mon, 10 Aug 2009 06:16:32 +0000 (14:16 +0800)]
egl: Make display and surface hash tables local.

Move display and surface hash tables to egldisplay.c, and have them
initialized on demand.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Initialize current thread management on demand.
Chia-I Wu [Mon, 10 Aug 2009 04:46:08 +0000 (12:46 +0800)]
egl: Initialize current thread management on demand.

Current thread management was initialized in _eglInitGlobals, which is
called only in eglGetDisplay.  Since EGL does not require eglGetDisplay
to be called first, the initialization is better to be done on demand.

_eglFiniCurrent is removed, as it is not called at all.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Destroy eglThreadInfo on thread exit.
Chia-I Wu [Mon, 10 Aug 2009 04:20:31 +0000 (12:20 +0800)]
egl: Destroy eglThreadInfo on thread exit.

This is done through pthread TSD destructor.  It destroys all thread
infos except for main thread's.  The thread info of the main thread is
destroyed by _eglFiniCurrent.

TLS case is not supported yet.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoegl: Add eglmutex.h.
Chia-I Wu [Mon, 10 Aug 2009 03:35:06 +0000 (11:35 +0800)]
egl: Add eglmutex.h.

The implementation uses pthread mutex when available.  Otherwise, it is
no-op.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
15 years agoglx: fix signedness warning
RALOVICH, Kristóf [Tue, 11 Aug 2009 20:42:47 +0000 (13:42 -0700)]
glx: fix signedness warning

15 years agomesa: handle glDrawPixels images which are larger than max rect texture size
Brian Paul [Wed, 12 Aug 2009 01:30:05 +0000 (19:30 -0600)]
mesa: handle glDrawPixels images which are larger than max rect texture size

15 years agomesa: added _mesa_meta_draw_pixels()
Brian Paul [Wed, 12 Aug 2009 00:56:26 +0000 (18:56 -0600)]
mesa: added _mesa_meta_draw_pixels()

15 years agomesa: added META_FOG and optimize some meta_begin/end() code
Brian Paul [Wed, 12 Aug 2009 00:54:57 +0000 (18:54 -0600)]
mesa: added META_FOG and optimize some meta_begin/end() code

15 years agogallium/trace: remove stray semicolons
Brian Paul [Wed, 12 Aug 2009 00:52:24 +0000 (18:52 -0600)]
gallium/trace: remove stray semicolons

15 years agogallium/xlib: add missing tex_usage parameter
Brian Paul [Wed, 12 Aug 2009 00:47:35 +0000 (18:47 -0600)]
gallium/xlib: add missing tex_usage parameter

15 years agogallium/egl: add missing tex_usage parameter
Brian Paul [Wed, 12 Aug 2009 00:47:20 +0000 (18:47 -0600)]
gallium/egl: add missing tex_usage parameter

15 years agogallium/xlib: add missing tex_usage parameter
Brian Paul [Wed, 12 Aug 2009 00:45:20 +0000 (18:45 -0600)]
gallium/xlib: add missing tex_usage parameter

15 years agogallium/identity: remove stray semicolons
Brian Paul [Wed, 12 Aug 2009 00:40:50 +0000 (18:40 -0600)]
gallium/identity: remove stray semicolons

15 years agor600: use the drm ioctls for swap and texture upload
Alex Deucher [Wed, 12 Aug 2009 02:15:18 +0000 (22:15 -0400)]
r600: use the drm ioctls for swap and texture upload

NOTE:  THIS REQUIRES AN UPDATED DRM!

15 years agoi915g: Reduce max relocs
Jakob Bornecrantz [Sat, 8 Aug 2009 15:20:46 +0000 (17:20 +0200)]
i915g: Reduce max relocs

15 years agoi915g: Check relocs as well
Jakob Bornecrantz [Sat, 8 Aug 2009 15:19:43 +0000 (17:19 +0200)]
i915g: Check relocs as well

15 years agoi915g: Implement surface_buffer_create for softpipe
Jakob Bornecrantz [Tue, 11 Aug 2009 17:37:09 +0000 (18:37 +0100)]
i915g: Implement surface_buffer_create for softpipe

In order to run softpipe on st/xorg we need this function

15 years agogallium: Add texture usage information to surface_buffer_create
Jakob Bornecrantz [Tue, 11 Aug 2009 17:33:58 +0000 (18:33 +0100)]
gallium: Add texture usage information to surface_buffer_create

We need aditional meta data about the usage of the surface
in softpipe because we need to be able tell the diffrence
between PRIMARY and DISPLAY_TARGET surfaces.

15 years agomesa/glapi: regenerated files from gl_API.xml
Brian Paul [Tue, 11 Aug 2009 16:00:02 +0000 (10:00 -0600)]
mesa/glapi: regenerated files from gl_API.xml

15 years agogallium: fix debug_printf() format string
Brian Paul [Tue, 11 Aug 2009 15:30:12 +0000 (09:30 -0600)]
gallium: fix debug_printf() format string

15 years agoglut: fix incorrect Vista maximisation size due to WM_GETMINMAXINFO handling
Brian Paul [Tue, 11 Aug 2009 14:54:25 +0000 (08:54 -0600)]
glut: fix incorrect Vista maximisation size due to WM_GETMINMAXINFO handling

See bug 23182.

15 years agomesa: remove _mesa_set_vp_override() from _mesa_Bitmap()
Brian Paul [Tue, 11 Aug 2009 14:37:22 +0000 (08:37 -0600)]
mesa: remove _mesa_set_vp_override() from _mesa_Bitmap()

This reverts part of commit 2c9812e3d346eb07180da520909b142e8afc1c59.
The calls to _mesa_set_vp_override() were causing extra state validation
and caused the gallium state tracker's bitmap cache to get flushed on
every call.

15 years agor300g: Fix up remaining VAP_CNTL_STATUS writes for big endian.
Michel Dänzer [Tue, 11 Aug 2009 07:16:48 +0000 (09:16 +0200)]
r300g: Fix up remaining VAP_CNTL_STATUS writes for big endian.

15 years agor300g: Emit relocations for pitch registers.
Michel Dänzer [Tue, 11 Aug 2009 07:13:12 +0000 (09:13 +0200)]
r300g: Emit relocations for pitch registers.

Fixes CS failures with tiling enabled kernels.

15 years agor300g: a typo of debug message
Cooper Yuan [Tue, 11 Aug 2009 06:39:58 +0000 (14:39 +0800)]
r300g: a typo of debug message

15 years agor600: update num of interp if posizition is used
Cooper Yuan [Tue, 11 Aug 2009 06:36:01 +0000 (14:36 +0800)]
r600: update num of interp if posizition is used

15 years agodemos: Fix the VBO usage in glsl/multitex.
Eric Anholt [Mon, 10 Aug 2009 22:50:22 +0000 (15:50 -0700)]
demos: Fix the VBO usage in glsl/multitex.

The fix for 965 to be noisy when apps sent pointers instead of VBO offsets
caught this app in the act of doing exactly that.

Bug #23203

15 years agointel: use new _mesa_meta_copy_pixels() function
Brian Paul [Mon, 10 Aug 2009 21:48:02 +0000 (15:48 -0600)]
intel: use new _mesa_meta_copy_pixels() function

glCopyPixels() no longer hits a software fallback when zooming, blending, etc.

15 years agomesa: save/restore texture matrix in meta code
Brian Paul [Mon, 10 Aug 2009 21:44:05 +0000 (15:44 -0600)]
mesa: save/restore texture matrix in meta code

Also, save/restore viewport and texture state in _mesa_meta_copy_pixels()

15 years agomesa: for meta blit, check max texture size, use glCopyTexSubImage2D() when possible
Brian Paul [Mon, 10 Aug 2009 21:05:53 +0000 (15:05 -0600)]
mesa: for meta blit, check max texture size, use glCopyTexSubImage2D() when possible

15 years agomesa: initial meta implementation of glCopyPixels()
Brian Paul [Mon, 10 Aug 2009 20:43:15 +0000 (14:43 -0600)]
mesa: initial meta implementation of glCopyPixels()

15 years agomesa: remove debug flush call
Brian Paul [Mon, 10 Aug 2009 20:15:56 +0000 (14:15 -0600)]
mesa: remove debug flush call

15 years agointel: add missing \n to fprintf()
Brian Paul [Mon, 10 Aug 2009 19:58:56 +0000 (13:58 -0600)]
intel: add missing \n to fprintf()

15 years agointel: use new _mesa_meta_blit_framebuffer() function
Brian Paul [Mon, 10 Aug 2009 19:43:00 +0000 (13:43 -0600)]
intel: use new _mesa_meta_blit_framebuffer() function

The previous version of framebuffer blit was a quick hack.  The new meta
version works pretty well.

15 years agomesa: new driver meta-ops module
Brian Paul [Mon, 10 Aug 2009 19:35:58 +0000 (13:35 -0600)]
mesa: new driver meta-ops module

Implement glClear() in terms of quad rendering, implement glBlitFramebuffer()
in terms of glCopyTexImage2D + textured quad, etc.

There have been several places in the drivers where we've implemented
meta rendering similar to this.  This is an effort to do it in a more
portable and more efficient form.

The _mesa_meta_begin/end() functions act like glPush/PopAttrib() but are
lighter-weight.  Plus, _mesa_meta_begin() resets GL state back to default
values (texturing off, identity vertex transform, etc) so the meta drawing
functions don't have to worry about it.

For now only _mesa_mesa_blit_framebuffer() and _mesa_meta_clear() are
implemented.  glDrawPixels() and glCopyPixels() would be the next candidates.

15 years agomesa: added GLcontext::Meta field for meta rendering state
Brian Paul [Mon, 10 Aug 2009 19:43:50 +0000 (13:43 -0600)]
mesa: added GLcontext::Meta field for meta rendering state

15 years agoradeon_fbo: switch short to byte for 565
Dave Airlie [Sat, 8 Aug 2009 10:05:11 +0000 (20:05 +1000)]
radeon_fbo: switch short to byte for 565

15 years agoradeon: fix cut-n-paste in alphabits in fbo code
Dave Airlie [Mon, 10 Aug 2009 00:10:13 +0000 (10:10 +1000)]
radeon: fix cut-n-paste in alphabits in fbo code

15 years agoegl: Add depend and depend.bak to clean target
Pauli Nieminen [Sun, 9 Aug 2009 12:22:34 +0000 (15:22 +0300)]
egl: Add depend and depend.bak to clean target

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agor600: looks like a typo
Dave Airlie [Sun, 9 Aug 2009 10:46:12 +0000 (20:46 +1000)]
r600: looks like a typo

15 years agor600: load per-pixel position into PS in order to use fragment.position.
Cooper Yuan [Sun, 9 Aug 2009 04:18:40 +0000 (12:18 +0800)]
r600: load per-pixel position into PS in order to use fragment.position.

This patch can fix /progs/fp/tri-depth, tri-depth2, tri-depthwrite,
tri-depthwrite2 and point-position.

15 years agomesa: update framebuffer status as needed in _mesa_source/dest_buffer_exists()
Brian Paul [Fri, 7 Aug 2009 20:51:59 +0000 (14:51 -0600)]
mesa: update framebuffer status as needed in _mesa_source/dest_buffer_exists()

15 years agomesa: simplify glPushAttrib() list building code
Brian Paul [Fri, 7 Aug 2009 19:39:03 +0000 (13:39 -0600)]
mesa: simplify glPushAttrib() list building code

15 years agomesa: remove old, prototype code
Brian Paul [Fri, 7 Aug 2009 19:07:59 +0000 (13:07 -0600)]
mesa: remove old, prototype code

15 years agoswrast: replace GLenum, GLint with GLbitfield for buffer vars
Brian Paul [Fri, 7 Aug 2009 18:04:09 +0000 (12:04 -0600)]
swrast: replace GLenum, GLint with GLbitfield for buffer vars

15 years agomesa: use _mesa_bufferobj_mapped()
Brian Paul [Fri, 7 Aug 2009 16:51:03 +0000 (10:51 -0600)]
mesa: use _mesa_bufferobj_mapped()

15 years agor300g: Knock out another fragment of invariant state.
Corbin Simpson [Sat, 8 Aug 2009 03:29:50 +0000 (20:29 -0700)]
r300g: Knock out another fragment of invariant state.

Colorbuffer setup will always happen.

15 years agogallium: Move minify() to u_math.
Corbin Simpson [Sat, 8 Aug 2009 03:16:39 +0000 (20:16 -0700)]
gallium: Move minify() to u_math.

minify() is usually used in mipmap size calculation. Strangely enough,
we all defined it as MAX2(1, d >> 1); imagine that. :3

15 years agor300g: Remove r300_constant_buffer::user_count.
Corbin Simpson [Sat, 8 Aug 2009 02:46:52 +0000 (19:46 -0700)]
r300g: Remove r300_constant_buffer::user_count.

Not needed with new compiler.

15 years agoRevert "i965: Disable texture tiling by default."
Eric Anholt [Sat, 8 Aug 2009 01:29:56 +0000 (18:29 -0700)]
Revert "i965: Disable texture tiling by default."

This reverts commit b8e638d4895d2d342306bb6443a455f73903ce20.

Now that the known hangs and misrendering issues are fixed, I'm ready to
start encouraging it by default again.

15 years agointel: Align region height as required for tiled regions.
Eric Anholt [Sat, 8 Aug 2009 01:09:31 +0000 (18:09 -0700)]
intel: Align region height as required for tiled regions.

Otherwise, we would address beyond the end of our buffers.  Fixes reliable
GPU segfault with texture_tiling=true and oglconform shadow.c.

Bug #22406.

15 years agoi965: Add a note justifying domain choice for the SF VP.
Eric Anholt [Sat, 8 Aug 2009 01:08:20 +0000 (18:08 -0700)]
i965: Add a note justifying domain choice for the SF VP.

15 years agointel: Add some more safety asserts in the blit code.
Eric Anholt [Sat, 8 Aug 2009 00:06:41 +0000 (17:06 -0700)]
intel: Add some more safety asserts in the blit code.

15 years agoi965: Replace the subroutine-skipping jump in VS with a NOP if it's a NOP.
Eric Anholt [Fri, 7 Aug 2009 21:20:56 +0000 (14:20 -0700)]
i965: Replace the subroutine-skipping jump in VS with a NOP if it's a NOP.

This showed a 1.9% (+/-.3%, n=3) improvement in OA performance with high
geometry settings.

15 years agoi915g: Don't forget x/y coords in transfers
Jakob Bornecrantz [Sat, 8 Aug 2009 01:20:24 +0000 (03:20 +0200)]
i915g: Don't forget x/y coords in transfers

Fixes demos/ray.

15 years agoi915g: Don't try to free a mapped buffer at shutdown
Jakob Bornecrantz [Sat, 8 Aug 2009 01:19:01 +0000 (03:19 +0200)]
i915g: Don't try to free a mapped buffer at shutdown

15 years agoradeon: correct fix for tiling with the legacy build
Alex Deucher [Fri, 7 Aug 2009 21:35:12 +0000 (17:35 -0400)]
radeon: correct fix for tiling with the legacy build

15 years agointel: Fix googleearth by avoiding GL_VIEWPORT_BIT in meta clear push/pop
Eric Anholt [Thu, 6 Aug 2009 20:55:09 +0000 (13:55 -0700)]
intel: Fix googleearth by avoiding GL_VIEWPORT_BIT in meta clear push/pop

I have no idea why this fixes things, but being more efficient sounds good
anyway.  Fixes regression in 99d07d0f91ddd37926d08f4e7f10d55cac28d9a7
where most of the lit half of the world was not drawn.

15 years agoradeon: fix the build with older drm headers
Alex Deucher [Fri, 7 Aug 2009 20:20:26 +0000 (16:20 -0400)]
radeon: fix the build with older drm headers

15 years agodri: Fix problems with unitialized values in dri screen object.
Pauli Nieminen [Fri, 7 Aug 2009 17:02:22 +0000 (10:02 -0700)]
dri: Fix problems with unitialized values in dri screen object.

This fixes crash in r200 KMS driver when pSAREA was set to 1 randomly because of memory wasn't cleared.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agoutil: fix incorrect assertion
Brian Paul [Thu, 6 Aug 2009 20:58:01 +0000 (14:58 -0600)]
util: fix incorrect assertion

Check that the dest surface/format is renderable.

15 years agoutil: include u_surface.h, added comment
Brian Paul [Thu, 6 Aug 2009 20:54:25 +0000 (14:54 -0600)]
util: include u_surface.h, added comment

15 years agoutil: use util_same_surface() to compare surface pointers
Brian Paul [Thu, 6 Aug 2009 15:02:36 +0000 (09:02 -0600)]
util: use util_same_surface() to compare surface pointers

15 years agoutil: added util_same_surface() helper function
Brian Paul [Thu, 6 Aug 2009 15:02:05 +0000 (09:02 -0600)]
util: added util_same_surface() helper function

15 years agotests: have getprocaddress return a return code
Robert Ellison [Fri, 7 Aug 2009 18:23:19 +0000 (12:23 -0600)]
tests: have getprocaddress return a return code

These minor changes allow getprocaddress to return an error code
in the case of test failure.  This allows the program to be integrated
into the piglit test suite.

15 years agomesa: improve getprocaddress test
Robert Ellison [Fri, 7 Aug 2009 18:06:17 +0000 (12:06 -0600)]
mesa: improve getprocaddress test

- Allow the getprocaddress test to test extensions not supported by
  Mesa.  The original getprocaddress.py script only included OpenGL
  extension functions that were in Mesa dispatch tables.  Now all
  known extension functions (as detailed in gl_API.xml) are included.
  As the test does not link against any extension function symbols
  (i.e. it uses glXGetProcAddress() for all extension functions),
  it still compiles and links against Mesa; but now the same
  binary can be used to test extensions not yet supported by Mesa.

- Extend the list of tested extension functions.  The last revision
  of this test exercised 16 extension functions; this revision adds
  support for 95 more.

15 years agost/mesa: remove redundant calls to _mesa_set_vp_override()
Brian Paul [Fri, 7 Aug 2009 16:49:38 +0000 (10:49 -0600)]
st/mesa: remove redundant calls to _mesa_set_vp_override()

Called from core Mesa now.

15 years agoprogs/xdemos: added multictx.c (multi-context rendering demo)
Brian Paul [Thu, 6 Aug 2009 22:04:03 +0000 (16:04 -0600)]
progs/xdemos: added multictx.c (multi-context rendering demo)

Create one window and render into it with two GLX contexts.  Setup the
rendering state differently for each context to be sure there's no state
"bleeding" between contexts.

15 years agomesa: use _mesa_set_vp_override() in glDraw/CopyPixels and glBitmap
Brian Paul [Fri, 7 Aug 2009 15:50:25 +0000 (09:50 -0600)]
mesa: use _mesa_set_vp_override() in glDraw/CopyPixels and glBitmap

We don't use the vertex program in these functions and the driver may
install its own.  This fixes the broken glCopyPixels swrast fallback in
i965 and possibly other drivers.  In particular, glCopyPixels sometimes
didn't work because the fixed-function fragment program was replacing all
fragment colors with the current raster color.

15 years agomesa: reformat code to allow setting breakpoints on the true-statement
Brian Paul [Fri, 7 Aug 2009 15:42:28 +0000 (09:42 -0600)]
mesa: reformat code to allow setting breakpoints on the true-statement

15 years agoglxgears: make functions static, update comments
Brian Paul [Fri, 7 Aug 2009 15:41:32 +0000 (09:41 -0600)]
glxgears: make functions static, update comments

15 years agomesa: use _mesa_bufferobj_mapped()
Brian Paul [Fri, 7 Aug 2009 15:40:37 +0000 (09:40 -0600)]
mesa: use _mesa_bufferobj_mapped()

15 years agomesa: new _mesa_bufferobj_mapped() helper function
Brian Paul [Fri, 7 Aug 2009 15:40:02 +0000 (09:40 -0600)]
mesa: new _mesa_bufferobj_mapped() helper function

15 years agomesa: use valid_fragment_program() helper
Brian Paul [Fri, 7 Aug 2009 15:30:53 +0000 (09:30 -0600)]
mesa: use valid_fragment_program() helper

15 years agomesa: test DrawBuffer, not ReadBuffer in _mesa_dest_buffer_exists()
Brian Paul [Fri, 7 Aug 2009 15:24:00 +0000 (09:24 -0600)]
mesa: test DrawBuffer, not ReadBuffer in _mesa_dest_buffer_exists()

Also, update comments.

15 years agomesa: fix some incorrect error checks in _mesa_error_check_format_type()
Brian Paul [Fri, 7 Aug 2009 15:18:04 +0000 (09:18 -0600)]
mesa: fix some incorrect error checks in _mesa_error_check_format_type()

Plus, simplify the code a bit.

15 years agomesa: do error checking on glCopyPixels() type parameter
Brian Paul [Fri, 7 Aug 2009 15:03:49 +0000 (09:03 -0600)]
mesa: do error checking on glCopyPixels() type parameter

Plus, move some other error checks before state validation and update
some comments.

15 years agomesa: use a more logical flag in _mesa_set_vp_override()
Brian Paul [Fri, 7 Aug 2009 14:53:53 +0000 (08:53 -0600)]
mesa: use a more logical flag in _mesa_set_vp_override()

15 years agomesa: new _mesa_copy_client_array() function
Brian Paul [Thu, 6 Aug 2009 19:53:06 +0000 (13:53 -0600)]
mesa: new _mesa_copy_client_array() function

15 years agoi965: minor context comments
Brian Paul [Thu, 6 Aug 2009 17:40:15 +0000 (11:40 -0600)]
i965: minor context comments