mesa.git
15 years agost/xorg: Fix DRI2 CopyRegion hook.
Michel Dänzer [Thu, 13 Aug 2009 16:46:53 +0000 (18:46 +0200)]
st/xorg: Fix DRI2 CopyRegion hook.

Use GC CopyArea op for proper translation and clipping, and throttle full
buffer swaps / frontbuffer flushes.

15 years agotgsi: add simple facility for releasing and reusing temporaries
Keith Whitwell [Thu, 13 Aug 2009 16:22:16 +0000 (17:22 +0100)]
tgsi: add simple facility for releasing and reusing temporaries

15 years agotgsi: rename ureg src/dest converters
Keith Whitwell [Thu, 13 Aug 2009 16:20:04 +0000 (17:20 +0100)]
tgsi: rename ureg src/dest converters

Also fix a typo in ureg_src().

15 years agodraw: Remove unused variable.
José Fonseca [Thu, 13 Aug 2009 15:33:50 +0000 (16:33 +0100)]
draw: Remove unused variable.

15 years agoscons: Handle Circular dependencies in the libraries.
José Fonseca [Thu, 13 Aug 2009 15:32:51 +0000 (16:32 +0100)]
scons: Handle Circular dependencies in the libraries.

15 years agoMerge branch 'mesa_7_5_branch'
Keith Whitwell [Thu, 13 Aug 2009 14:57:23 +0000 (15:57 +0100)]
Merge branch 'mesa_7_5_branch'

15 years agodraw: cope with more primitives in draw_pipeline_run
Keith Whitwell [Thu, 13 Aug 2009 14:54:10 +0000 (15:54 +0100)]
draw: cope with more primitives in draw_pipeline_run

This previously was used only for decomposed (POINT/LINE/TRI) primitives,
but for some time a full range of primitives could end up in here.

Fixes trivial/lineloop-clip on softpipe, among others.
(cherry picked from commit 87cd8a3b8a2407b30916be418ff2f95dfea5d2ad)

15 years agotgsi: turn off debugging
Keith Whitwell [Thu, 13 Aug 2009 13:28:01 +0000 (14:28 +0100)]
tgsi: turn off debugging

15 years agotgsi: use REALLOC for growing token pool
Keith Whitwell [Thu, 13 Aug 2009 13:27:42 +0000 (14:27 +0100)]
tgsi: use REALLOC for growing token pool

15 years agoutil: silence warnings for third REALLOC argument
Keith Whitwell [Thu, 13 Aug 2009 13:26:50 +0000 (14:26 +0100)]
util: silence warnings for third REALLOC argument

Our fallback realloc path requires an old_size argument, but the posix
varient doesn't need this.  Add some code to avoid gcc unused variable
warnings for this extra argument.

15 years agoutil: remove unneeded includes
Keith Whitwell [Thu, 13 Aug 2009 12:42:42 +0000 (13:42 +0100)]
util: remove unneeded includes

15 years agoutil: convert u_simple_shaders to use tgsi_ureg
Keith Whitwell [Thu, 13 Aug 2009 11:46:32 +0000 (12:46 +0100)]
util: convert u_simple_shaders to use tgsi_ureg

Much nicer now.

15 years agotgsi: add tgsi_ureg, a simplified tgsi shader builder
Keith Whitwell [Thu, 13 Aug 2009 11:38:58 +0000 (12:38 +0100)]
tgsi: add tgsi_ureg, a simplified tgsi shader builder

This is modelled on the nice & easy-to-use facilities we had
for building shaders in mesa, eg. in texenvprogram.c and friends.

Key points include pass-by-value register structs that can be manipulated
in a functional style, eg:

   negate(swizzle(reg, X,X,X,X))

and per-opcode instruction functions, eg:

   emit_MOV( p, writemask(dst, 0x1), negate(src));

and similar.

Additionally, the interface allows mixed emit of instructions and decls,
which are sorted out internally to obey TGSI ordering.

Immediates may be emitted at any time and are scanned against existing
immediates to try and reduce redundancy.

Not all TGSI functionality is accessible through this interface, but
most or all of what mesa uses should be.

15 years agoi965: fix cube map on IGDNG
Xiang, Haihao [Thu, 13 Aug 2009 10:42:52 +0000 (18:42 +0800)]
i965: fix cube map on IGDNG

15 years agoglsl: remove duplicate frag input entry
Brian Paul [Thu, 13 Aug 2009 02:37:34 +0000 (20:37 -0600)]
glsl: remove duplicate frag input entry

15 years agoMerge branch 'new-frag-attribs'
Brian Paul [Thu, 13 Aug 2009 02:32:41 +0000 (20:32 -0600)]
Merge branch 'new-frag-attribs'

This branch introduces new FRAG_ATTRIB_FACE and FRAG_ATTRIB_PNTC fragment
program inputs for GLSL gl_FrontFacing and gl_PointCoord.  Before, these
attributes were packed with the FOG attribute.  That made things
complicated elsewhere.

15 years agoprogs/glsl: change uniform_info::type field to use GLSL vector types
Brian Paul [Wed, 12 Aug 2009 23:25:49 +0000 (17:25 -0600)]
progs/glsl: change uniform_info::type field to use GLSL vector types

15 years agodemos: call SetUniformValues()
Brian Paul [Wed, 12 Aug 2009 22:17:18 +0000 (16:17 -0600)]
demos: call SetUniformValues()

15 years agomesa: const qualifiers
Brian Paul [Wed, 12 Aug 2009 21:43:50 +0000 (15:43 -0600)]
mesa: const qualifiers

15 years agovbo: use _mesa_is_bufferobj()
Brian Paul [Wed, 12 Aug 2009 21:42:51 +0000 (15:42 -0600)]
vbo: use _mesa_is_bufferobj()

15 years agodemos: rename InitUniforms() to SetUniformValues()
Brian Paul [Wed, 12 Aug 2009 19:53:56 +0000 (13:53 -0600)]
demos: rename InitUniforms() to SetUniformValues()

And call new PrintUniforms() in demos.

15 years agoprogs/util: added more shader utility functions
Brian Paul [Wed, 12 Aug 2009 19:50:26 +0000 (13:50 -0600)]
progs/util: added more shader utility functions

15 years agomesa: use _mesa_is_bufferobj()
Brian Paul [Wed, 12 Aug 2009 19:46:16 +0000 (13:46 -0600)]
mesa: use _mesa_is_bufferobj()

15 years agomesa: use _mesa_is_bufferobj()
Brian Paul [Wed, 12 Aug 2009 19:46:03 +0000 (13:46 -0600)]
mesa: use _mesa_is_bufferobj()

15 years agomesa: new _mesa_is_bufferobj() function
Brian Paul [Wed, 12 Aug 2009 19:44:43 +0000 (13:44 -0600)]
mesa: new _mesa_is_bufferobj() function

Tests if the given buffer object is a user-created, non-default buffer object.
Use this instead of testing bufferobj->Name != 0.

15 years agoi965: Make the cube mapping RCP use a writemask.
Eric Anholt [Wed, 12 Aug 2009 20:49:06 +0000 (13:49 -0700)]
i965: Make the cube mapping RCP use a writemask.

Fixes cube mapping since the scalar changes.

15 years agoi965: Allocate destination registers for GLSL TEX instructions contiguously.
Eric Anholt [Wed, 12 Aug 2009 20:17:15 +0000 (13:17 -0700)]
i965: Allocate destination registers for GLSL TEX instructions contiguously.

This matches brw_wm_pass*.c behavior, and fixes the norsetto shadow demo.

Bug #19489

15 years agoi965: drop dead scalar handling in GLSL.
Eric Anholt [Wed, 12 Aug 2009 20:00:23 +0000 (13:00 -0700)]
i965: drop dead scalar handling in GLSL.

15 years agoi965: Correct brw_wm_nr_args for WM_DELTAXY and WM_PIXELXY.
Eric Anholt [Wed, 12 Aug 2009 19:54:43 +0000 (12:54 -0700)]
i965: Correct brw_wm_nr_args for WM_DELTAXY and WM_PIXELXY.

15 years agoi965: Drop GLSL ABS code, which is translated away in brw_wm_fp.
Eric Anholt [Wed, 12 Aug 2009 01:13:57 +0000 (18:13 -0700)]
i965: Drop GLSL ABS code, which is translated away in brw_wm_fp.

15 years agoi965: Drop code for emitting OPCODE_SUB, since brw_wm_fp.c makes it an ADD.
Eric Anholt [Tue, 11 Aug 2009 23:40:20 +0000 (16:40 -0700)]
i965: Drop code for emitting OPCODE_SUB, since brw_wm_fp.c makes it an ADD.

15 years agoi965: Store the dispatch width in the WM compile struct.
Eric Anholt [Tue, 11 Aug 2009 23:02:54 +0000 (16:02 -0700)]
i965: Store the dispatch width in the WM compile struct.

I'll be using this in merging brw_wm_emit.c and brw_wm_glsl.c

15 years agoi965: Handle scalar result swizzling in shared GLSL/non-GLSL code.
Eric Anholt [Wed, 12 Aug 2009 19:26:19 +0000 (12:26 -0700)]
i965: Handle scalar result swizzling in shared GLSL/non-GLSL code.

This is preparation for merging of brw_wm_glsl.c and
brw_wm_emit.c, and glsl.c doesn't swizzle channel results around.

15 years agoi965: Flag ARL-using programs as requiring brw_wm_glsl.c
Eric Anholt [Wed, 12 Aug 2009 18:36:07 +0000 (11:36 -0700)]
i965: Flag ARL-using programs as requiring brw_wm_glsl.c

This doesn't fix the glean testcase, but I guess it provides hope.

15 years agoi965: Remove some unused WM opcode args.
Eric Anholt [Wed, 12 Aug 2009 18:33:11 +0000 (11:33 -0700)]
i965: Remove some unused WM opcode args.

15 years agoi965: Avoid re-uploading the index buffer when we don't need to.
Eric Anholt [Tue, 11 Aug 2009 21:48:03 +0000 (14:48 -0700)]
i965: Avoid re-uploading the index buffer when we don't need to.

No performance difference proven at 95% confidence with my GLSL demo (n=10).

15 years agor600: fix warning
Alex Deucher [Wed, 12 Aug 2009 19:38:45 +0000 (15:38 -0400)]
r600: fix warning

15 years agor600: state cleanups
Alex Deucher [Wed, 12 Aug 2009 19:34:24 +0000 (15:34 -0400)]
r600: state cleanups

15 years agor600: clean up Create/DestroyContext
Alex Deucher [Wed, 12 Aug 2009 18:49:07 +0000 (14:49 -0400)]
r600: clean up Create/DestroyContext

15 years agor200: Prevent TexGenMatrix from leaking when destroying r200 context.
Pauli Nieminen [Tue, 4 Aug 2009 11:42:20 +0000 (14:42 +0300)]
r200: Prevent TexGenMatrix from leaking when destroying r200 context.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
15 years agovbo: fix incorrect pointer
Brian Paul [Wed, 12 Aug 2009 19:16:41 +0000 (13:16 -0600)]
vbo: fix incorrect pointer

15 years agoglsl: add gl_Vertex, gl_Normal, etc to list of active attributes
Brian Paul [Wed, 12 Aug 2009 18:31:57 +0000 (12:31 -0600)]
glsl: add gl_Vertex, gl_Normal, etc to list of active attributes

If a vertex shader uses gl_Vertex, gl_Normal, etc, we need to include them
when the user queries the list of active attributes.  Before this we were
just including the user-defined attributes.

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