Brian Paul [Thu, 13 Aug 2009 18:53:20 +0000 (12:53 -0600)]
progs/util: ignore pre-defined uniforms in SetUniformValues()
Brian Paul [Thu, 13 Aug 2009 18:52:13 +0000 (12:52 -0600)]
progs/glsl: new shtest program, a simple shader test harness app
This commit includes some sample config files (*.shtest)
Brian Paul [Thu, 13 Aug 2009 18:43:09 +0000 (12:43 -0600)]
glsl: fix incorrect attribute size
Brian Paul [Thu, 13 Aug 2009 18:42:52 +0000 (12:42 -0600)]
tnl: if NAN_CHECK is enabled, also assert that pos.x != 0
Brian Paul [Thu, 13 Aug 2009 16:29:15 +0000 (10:29 -0600)]
mesa: s/assert/ASSERT/ in _mesa_reference_texobj()
We want the no-op ASSERT for non-debug builds.
Brian Paul [Thu, 13 Aug 2009 16:18:50 +0000 (10:18 -0600)]
mesa: rework error check in glGetTexLevelParameter(), remove tex_image_dimensions()
Brian Paul [Thu, 13 Aug 2009 16:16:59 +0000 (10:16 -0600)]
mesa: if maxLevels==0, target is invalid
Brian Paul [Thu, 13 Aug 2009 16:14:13 +0000 (10:14 -0600)]
mesa: add extension checks in _mesa_max_texture_levels()
Brian Paul [Thu, 13 Aug 2009 16:01:38 +0000 (10:01 -0600)]
mesa: minor clean-ups in bumpmap functions
Brian Paul [Thu, 13 Aug 2009 15:55:34 +0000 (09:55 -0600)]
mesa: use _mesa_get_current_tex_unit() in more places
Brian Paul [Thu, 13 Aug 2009 15:46:42 +0000 (09:46 -0600)]
mesa: refactor: move _mesa_is_color/depth/stencil_format() helpers to image.c
Brian Paul [Thu, 13 Aug 2009 15:38:39 +0000 (09:38 -0600)]
mesa: move _mesa_Get[Compressed]TexImage() to texgetimage.c
All the glGetTexImage code is in one file now.
Brian Paul [Tue, 11 Aug 2009 21:46:46 +0000 (15:46 -0600)]
mesa: short-circuit no-change in _mesa_DepthRange()
Michel Dänzer [Thu, 13 Aug 2009 18:24:09 +0000 (20:24 +0200)]
st/dri: Add support for GLX_EXT_texture_from_pixmap with direct rendering.
Michel Dänzer [Thu, 13 Aug 2009 16:46:53 +0000 (18:46 +0200)]
gallium/drm: Handle circular dependencies in the auxiliary libraries with make.
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.
Keith Whitwell [Thu, 13 Aug 2009 16:22:16 +0000 (17:22 +0100)]
tgsi: add simple facility for releasing and reusing temporaries
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().
José Fonseca [Thu, 13 Aug 2009 15:33:50 +0000 (16:33 +0100)]
draw: Remove unused variable.
José Fonseca [Thu, 13 Aug 2009 15:32:51 +0000 (16:32 +0100)]
scons: Handle Circular dependencies in the libraries.
Keith Whitwell [Thu, 13 Aug 2009 14:57:23 +0000 (15:57 +0100)]
Merge branch 'mesa_7_5_branch'
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)
Keith Whitwell [Thu, 13 Aug 2009 13:28:01 +0000 (14:28 +0100)]
tgsi: turn off debugging
Keith Whitwell [Thu, 13 Aug 2009 13:27:42 +0000 (14:27 +0100)]
tgsi: use REALLOC for growing token pool
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.
Keith Whitwell [Thu, 13 Aug 2009 12:42:42 +0000 (13:42 +0100)]
util: remove unneeded includes
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.
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.
Xiang, Haihao [Thu, 13 Aug 2009 10:42:52 +0000 (18:42 +0800)]
i965: fix cube map on IGDNG
Brian Paul [Thu, 13 Aug 2009 02:37:34 +0000 (20:37 -0600)]
glsl: remove duplicate frag input entry
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.
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
Brian Paul [Wed, 12 Aug 2009 22:17:18 +0000 (16:17 -0600)]
demos: call SetUniformValues()
Brian Paul [Wed, 12 Aug 2009 21:43:50 +0000 (15:43 -0600)]
mesa: const qualifiers
Brian Paul [Wed, 12 Aug 2009 21:42:51 +0000 (15:42 -0600)]
vbo: use _mesa_is_bufferobj()
Brian Paul [Wed, 12 Aug 2009 19:53:56 +0000 (13:53 -0600)]
demos: rename InitUniforms() to SetUniformValues()
And call new PrintUniforms() in demos.
Brian Paul [Wed, 12 Aug 2009 19:50:26 +0000 (13:50 -0600)]
progs/util: added more shader utility functions
Brian Paul [Wed, 12 Aug 2009 19:46:16 +0000 (13:46 -0600)]
mesa: use _mesa_is_bufferobj()
Brian Paul [Wed, 12 Aug 2009 19:46:03 +0000 (13:46 -0600)]
mesa: use _mesa_is_bufferobj()
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.
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.
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
Eric Anholt [Wed, 12 Aug 2009 20:00:23 +0000 (13:00 -0700)]
i965: drop dead scalar handling in GLSL.
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.
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.
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.
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
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.
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.
Eric Anholt [Wed, 12 Aug 2009 18:33:11 +0000 (11:33 -0700)]
i965: Remove some unused WM opcode args.
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).
Alex Deucher [Wed, 12 Aug 2009 19:38:45 +0000 (15:38 -0400)]
r600: fix warning
Alex Deucher [Wed, 12 Aug 2009 19:34:24 +0000 (15:34 -0400)]
r600: state cleanups
Alex Deucher [Wed, 12 Aug 2009 18:49:07 +0000 (14:49 -0400)]
r600: clean up Create/DestroyContext
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>
Brian Paul [Wed, 12 Aug 2009 19:16:41 +0000 (13:16 -0600)]
vbo: fix incorrect pointer
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.
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.
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.
Eric Anholt [Wed, 12 Aug 2009 18:12:46 +0000 (11:12 -0700)]
radeon: Minor warnings cleanup.
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.
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.
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.
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/
Brian Paul [Wed, 12 Aug 2009 16:24:44 +0000 (10:24 -0600)]
gallium/glx/xlib: updated comments
Brian Paul [Wed, 12 Aug 2009 16:22:23 +0000 (10:22 -0600)]
gallium/glx/xlib: delete fakeglx.h
Brian Paul [Wed, 12 Aug 2009 16:22:13 +0000 (10:22 -0600)]
gallium/glx/xlib: rename fakeglx.c to glx_api.c
Brian Paul [Wed, 12 Aug 2009 16:20:53 +0000 (10:20 -0600)]
gallium/glx/xlib: delete glxapi.h
Brian Paul [Wed, 12 Aug 2009 16:19:59 +0000 (10:19 -0600)]
gallium/glx/xlib: rename fakeglx_fonts.c to glx_usefont.c
Brian Paul [Wed, 12 Aug 2009 15:57:18 +0000 (09:57 -0600)]
gallium/glx/xlib: rename glxapi.c to glx_getproc.c
Brian Paul [Wed, 12 Aug 2009 15:56:45 +0000 (09:56 -0600)]
gallium/glx/xlib: don't include fakeglx.h
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.
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
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>
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>
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>
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>
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>
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>
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>
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>
RALOVICH, Kristóf [Tue, 11 Aug 2009 20:42:47 +0000 (13:42 -0700)]
glx: fix signedness warning
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
Brian Paul [Wed, 12 Aug 2009 00:56:26 +0000 (18:56 -0600)]
mesa: added _mesa_meta_draw_pixels()
Brian Paul [Wed, 12 Aug 2009 00:54:57 +0000 (18:54 -0600)]
mesa: added META_FOG and optimize some meta_begin/end() code
Brian Paul [Wed, 12 Aug 2009 00:52:24 +0000 (18:52 -0600)]
gallium/trace: remove stray semicolons
Brian Paul [Wed, 12 Aug 2009 00:47:35 +0000 (18:47 -0600)]
gallium/xlib: 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
Brian Paul [Wed, 12 Aug 2009 00:45:20 +0000 (18:45 -0600)]
gallium/xlib: add missing tex_usage parameter
Brian Paul [Wed, 12 Aug 2009 00:40:50 +0000 (18:40 -0600)]
gallium/identity: remove stray semicolons
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!
Jakob Bornecrantz [Sat, 8 Aug 2009 15:20:46 +0000 (17:20 +0200)]
i915g: Reduce max relocs
Jakob Bornecrantz [Sat, 8 Aug 2009 15:19:43 +0000 (17:19 +0200)]
i915g: Check relocs as well
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
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.
Brian Paul [Tue, 11 Aug 2009 16:00:02 +0000 (10:00 -0600)]
mesa/glapi: regenerated files from gl_API.xml
Brian Paul [Tue, 11 Aug 2009 15:30:12 +0000 (09:30 -0600)]
gallium: fix debug_printf() format string
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.
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.
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.