Chia-I Wu [Fri, 23 Apr 2010 08:06:26 +0000 (16:06 +0800)]
mapi: Add mapi and share the code with glapi.
Specifically, move all or most of
glapi/glapi.c to mapi/u_current.c,
glapi/glapi_execmem.c to mapi/u_execmem.c,
glapi/glthread.[ch] to mapi/u_thread.[ch]
and remove their dependencies on core Mesa headers.
Chia-I Wu [Mon, 26 Apr 2010 04:56:44 +0000 (12:56 +0800)]
glapi: Move to src/mapi/.
Move glapi to src/mapi/{glapi,es1api,es2api}.
Chia-I Wu [Mon, 26 Apr 2010 04:47:07 +0000 (12:47 +0800)]
glapi: Move assembly dispatchers back into glapi/.
Török Edwin [Thu, 6 May 2010 21:19:57 +0000 (22:19 +0100)]
gallivm: Require SSE2 for draw_llvm/llvmpipe due to LLVM PR6960.
Note that this also requires X86 for llvm, if llvmpipe/draw_llvm works
on PPC then the condition should be extended to include && x86.
Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Brian Paul [Thu, 6 May 2010 21:10:51 +0000 (15:10 -0600)]
softpipe: fix dangling references to shaders in the TGSI executor
If a shader was bound to the fragment shader TGSI executor and it was
then deleted and a new shader was allocated at the same address as the
old shader, the new fragment shader would not get properly bound to
the TGSI machine and we'd wind up using the old one.
This would not have been a problem if shaders were refcounted.
Now the TGSI machine is owned by the context rather than the quad
pipeline's shader stage so that the softpipe_delete_fs_state()
function can access it.
Fixes sporadic failures of the piglit fp-long-alu test (fd.o bug 27989).
Brian Paul [Thu, 6 May 2010 21:04:19 +0000 (15:04 -0600)]
tgsi: make SSE ADD instruction SOA-safe
To properly execute an instruction such as "ADD tmp, tmp.wzyx, foo;"
with SOA we (sometimes) need to put the results into temporaries before
writing the results to the destination register.
This patch fixes the ADD instruction but this needs to be done for
many more instructions.
Helps to fix piglit fp-long-alu test (fd.o bug 27989).
Brian Paul [Thu, 6 May 2010 20:56:59 +0000 (14:56 -0600)]
tgsi: code refactoring
Brian Paul [Thu, 6 May 2010 20:55:40 +0000 (14:55 -0600)]
tgsi: added tgsi_get_processor_name()
Brian Paul [Thu, 6 May 2010 20:38:55 +0000 (14:38 -0600)]
tgsi: fix tgsi_exec_machine_bind_shader() to handle NULL tokens, samplers
This lets us unbind a shader from the tgsi_exec_machine. Since
shaders aren't ref counted we need this to properly clean up when
deleting shaders elsewhere.
Brian Paul [Thu, 6 May 2010 20:37:07 +0000 (14:37 -0600)]
gallium/tgsi: remove unused tgsi_exec_labels code
José Fonseca [Thu, 6 May 2010 20:33:01 +0000 (21:33 +0100)]
llvmpipe: Fix fence wait.
Avoids crashing when fence is NULL (LP_NUM_THREADS=0) and leaking when
it is not.
Brian Paul [Thu, 6 May 2010 20:24:45 +0000 (14:24 -0600)]
st/mesa: fix compressed mipmap generation for small image sizes
When the mipmap level is smaller than the compression block width, height
we need to fill in / replicate pixels so that we don't get garbage values.
Fixes piglit gen-compressed-teximage test.
Brian Paul [Thu, 6 May 2010 19:33:37 +0000 (13:33 -0600)]
st/mesa: fix bug in compute_num_levels()
Fix more fall-out from the "ignore BaseLevel" change.
This may help with fd.o bug 27991.
Brian Paul [Thu, 6 May 2010 19:31:37 +0000 (13:31 -0600)]
st/mesa: when copying mipmap levels between textures, start at BaseLevel
Saves some work and avoids potential issue with inconsistant mipmap
level sizes. As long as the mipmap levels from BaseLevel to MaxLevel
are consistant, we don't care about the other levels.
José Fonseca [Thu, 6 May 2010 20:19:35 +0000 (21:19 +0100)]
scons: Disable graw-null on msvc until linkage works.
José Fonseca [Thu, 6 May 2010 20:06:10 +0000 (21:06 +0100)]
graw-null: Try to fix MSVC linkage problems.
Jakob Bornecrantz [Thu, 6 May 2010 19:02:43 +0000 (20:02 +0100)]
es: Ignores
Jakob Bornecrantz [Thu, 6 May 2010 18:59:54 +0000 (19:59 +0100)]
svga: Fix scons build
Qicheng Christopher Li [Thu, 6 May 2010 17:45:42 +0000 (11:45 -0600)]
llvmpipe: implement occlusion query
OpenGL occlusion queries work now. The Mesa demos, glean test and piglit
tests all pass. A few enhancements are possible in the future. -Brian
Signed-off-by: Brian Paul <brianp@vmware.com>
Jakob Bornecrantz [Thu, 6 May 2010 14:42:18 +0000 (15:42 +0100)]
util: Recognize FALSE and F in debug_get_bool_option
Concidering that we actually print FALSE when displaying the
option we should also accept that value.
José Fonseca [Thu, 6 May 2010 13:23:04 +0000 (14:23 +0100)]
gallium: untrack u_indices_gen.c and u_indices_gen.c
These files are built with make and removed with make clean, so it does not
seem necessary to track them.
Looking at the Makefile, it seems that the two u_indices_* files are handled
similarly to u_format_srgb.c u_format_table.c and u_half.c, and these 3
files are already untracked and in .gitignore
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
José Fonseca [Thu, 6 May 2010 13:20:28 +0000 (14:20 +0100)]
raw/clear: Make it portable.
José Fonseca [Thu, 6 May 2010 13:20:13 +0000 (14:20 +0100)]
graw-null: New target to ensure we always have a graw implementation available.
José Fonseca [Thu, 6 May 2010 12:08:39 +0000 (13:08 +0100)]
graw-xlib: Remove duplicate graw.h file.
José Fonseca [Thu, 6 May 2010 11:47:23 +0000 (12:47 +0100)]
Revert "gallium: untrack u_indices_gen.c and u_indices_gen.c"
This incomplete patch got commited by mistake.
This reverts commit
2142c769a4ebfe1a7c3facb036af8b75c5288616.
Xavier Chantry [Sun, 2 May 2010 22:56:50 +0000 (15:56 -0700)]
gallium: untrack u_indices_gen.c and u_indices_gen.c
These files are built with make and removed with make clean, so it does not
seem necessary to track them.
Looking at the Makefile, it seems that the two u_indices_* files are handled
similarly to u_format_srgb.c u_format_table.c and u_half.c, and these 3
files are already untracked and in .gitignore
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Xavier Chantry [Sun, 2 May 2010 22:56:50 +0000 (15:56 -0700)]
gallium: untrack u_indices_gen.c and u_indices_gen.c
These files are built with make and removed with make clean, so it does not
seem necessary to track them.
Looking at the Makefile, it seems that the two u_indices_* files are handled
similarly to u_format_srgb.c u_format_table.c and u_half.c, and these 3
files are already untracked and in .gitignore
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Jeremy Huddleston [Sat, 1 May 2010 20:59:30 +0000 (13:59 -0700)]
darwin: Fix build
This is a regression from
e42d84eaba228d4d96a46d116c6ca24581e29439
https://bugs.freedesktop.org/show_bug.cgi?id=27929
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit
4d63be67f320839d115987211d0d9b4297f6d17d)
Brian Paul [Thu, 6 May 2010 00:46:05 +0000 (18:46 -0600)]
gallium: still more provoking vertex fixes
This fixes edge flags for polygons and provoking vertex for
filled quads.
Brian Paul [Thu, 6 May 2010 00:00:39 +0000 (18:00 -0600)]
gallium: added edge flag print/debug code (disabled)
Brian Paul [Wed, 5 May 2010 20:00:58 +0000 (14:00 -0600)]
gallium: rename draw() to draw_elements() in vbuf code
Now we have draw_elements() and draw_arrays() to be consistent with the
pipe_context drawing functions.
Brian Paul [Wed, 5 May 2010 19:52:05 +0000 (13:52 -0600)]
llvmpipe: update driver's provoking vertex code
Note that the lp_setup_vbuf.c code is very, very similar to the
corresponding code in softpipe. It could probably be shared.
Brian Paul [Thu, 6 May 2010 00:19:06 +0000 (18:19 -0600)]
gallium: rework provoking vertex code
Builds on commit
ddb0e18f6c5582d4d2cc59ffd16ad9c4639ed059 and fixes
regressions in glean clipFlat test.
We assume that Gallium drivers observe flatshade_first for all triangles
and that all the assorted per-triangle calls in the 'draw' module also
follow flatshade_first. Everything else builds on those rules.
Gallium does not use follow flatshade_first for GL quads, quad strips
and polygons; the "last" vertex is always the provoking vertex for those
prims. So now there are separate QUAD_FIRST_PV and QUAD_LAST_PV macros
in the draw primitive decomposition code instead of one QUAD macro.
Marek Olšák [Tue, 4 May 2010 20:43:49 +0000 (22:43 +0200)]
tgsi: make dumping work on non-debug builds
Marek Olšák [Tue, 4 May 2010 20:42:29 +0000 (22:42 +0200)]
st/mesa: fix per-vertex point size
This fixes FDO bug #27343.
Brian Paul [Wed, 5 May 2010 14:22:10 +0000 (08:22 -0600)]
llvmpipe: added a new assertion as a hint to Coverity
Looks like coverity found a false positive for an out of bounds array write.
Xavier Chantry [Wed, 5 May 2010 12:39:59 +0000 (14:39 +0200)]
nouveau: only advertise PIPE_FORMAT_DXT* if s3tc available
José Fonseca [Wed, 5 May 2010 08:40:07 +0000 (09:40 +0100)]
graw-xlib: Revert the output dir lib change.
Vinson Lee [Wed, 5 May 2010 08:14:25 +0000 (01:14 -0700)]
st/mesa: Remove unnecessary headers.
Vinson Lee [Wed, 5 May 2010 07:49:25 +0000 (00:49 -0700)]
mesa: fpclassify dummy definition not needed on Mac OS X.
Vinson Lee [Wed, 5 May 2010 06:06:34 +0000 (23:06 -0700)]
svga: Remove unnecessary header.
Vinson Lee [Wed, 5 May 2010 06:04:13 +0000 (23:04 -0700)]
draw: Remove unnecessary header.
Vinson Lee [Wed, 5 May 2010 06:02:05 +0000 (23:02 -0700)]
util: Remove unnecessary headers.
Vinson Lee [Wed, 5 May 2010 05:57:24 +0000 (22:57 -0700)]
llvmpipe: Remove unnecessary headers.
Vinson Lee [Wed, 5 May 2010 05:55:00 +0000 (22:55 -0700)]
r300g: Fix memory leak on error path.
Eric Anholt [Wed, 5 May 2010 05:02:18 +0000 (22:02 -0700)]
i965: When an RB gets a new region, clear the old from the state cache.
This prevents memory usage explosion in blender due to the state cache
hanging on to old fake frontbuffer regions. Sigh at blender still
using frontbuffer rendering.
Bug #24119.
Eric Anholt [Wed, 5 May 2010 04:19:55 +0000 (21:19 -0700)]
intel: Don't tile textures so small that size is blown up by over 2x.
Noted on the mailing list for an app that puts each glyph for its text
into a separate texture.
Chia-I Wu [Wed, 5 May 2010 04:28:23 +0000 (12:28 +0800)]
progs/egl: Fix eglut with OpenGL ES 2.0.
EGL_OPENGL_ES2_BIT is not set when choosing OpenGL ES 2.0 configs.
Brian Paul [Wed, 5 May 2010 03:59:15 +0000 (21:59 -0600)]
osmesa: remove unused var
Brian Paul [Wed, 5 May 2010 03:54:56 +0000 (21:54 -0600)]
mesa: remove some color index code
Brian Paul [Wed, 5 May 2010 03:52:40 +0000 (21:52 -0600)]
mesa: remove unused renderbuffer adaptor code
Brian Paul [Wed, 5 May 2010 03:50:27 +0000 (21:50 -0600)]
mesa: remove renderbuffer adaptor calls
Was only used for OSMesa but no longer needed.
Brian Paul [Wed, 5 May 2010 03:44:02 +0000 (21:44 -0600)]
osmesa: fix OSMesa for CHAN_BITS=32
CHAN_BITS=16 still broken.
NOTE: this is a candidate for back-porting to the 7.8 stable branch.
Chia-I Wu [Wed, 5 May 2010 03:32:33 +0000 (11:32 +0800)]
st/mesa: Fix texture-from-pixmap.
Remember the size of the level=0 mipmap image. Do not call
util_format_get_component_bits when st_context_teximage is called to
release a texture image.
Chia-I Wu [Wed, 5 May 2010 02:59:44 +0000 (10:59 +0800)]
mesa: Fix build of ES overlay.
ES overlay is built with FEATURE_ES1 or FEATURE_ES2, and is built
without FEATURE_GL. Fix the build by always building OpenGL ES sources,
but test for FEATURE_ES1 or FEATURE_ES2. Also, define symbols that are
missing because FEATURE_GL is not defined.
Brian Paul [Wed, 5 May 2010 03:19:30 +0000 (21:19 -0600)]
st/mesa: remove commented-out struct field
Brian Paul [Wed, 5 May 2010 03:18:55 +0000 (21:18 -0600)]
gallium: remove trailing comma in enum list
Brian Paul [Wed, 5 May 2010 03:14:42 +0000 (21:14 -0600)]
mesa: add a dummy definition for fpclassify() if needed
Brian Paul [Wed, 5 May 2010 03:10:50 +0000 (21:10 -0600)]
mesa: remove trailing comma in enum list
Some compilers complain about this.
Brian Paul [Wed, 5 May 2010 02:46:04 +0000 (20:46 -0600)]
llvmpipe: predicate LLVMDumpModule() on DEBUG_JIT
José Fonseca [Wed, 5 May 2010 01:34:42 +0000 (02:34 +0100)]
tests/raw: Get it building with scons.
José Fonseca [Tue, 4 May 2010 23:40:56 +0000 (00:40 +0100)]
draw: Preserve the provoking vertex both when decomposing and clipping.
Based on John Lawless' feedback.
Brian Paul [Tue, 4 May 2010 22:56:42 +0000 (23:56 +0100)]
draw: Adjust wideline vertex coords for D3D.
José Fonseca [Tue, 4 May 2010 20:51:38 +0000 (21:51 +0100)]
scons: Add support for Mingw64.
Brian Paul [Tue, 4 May 2010 23:25:33 +0000 (17:25 -0600)]
st/mesa: need to pass srcLevel to st_texture_image_copy()
Fixes a regression in mipmap setup.
Brian Paul [Tue, 4 May 2010 23:15:26 +0000 (17:15 -0600)]
llvmpipe: fix broken compressed cube maps
When the cube faces were stored in a compressed format, the img_stride
values were wrong and didn't match the per-face size computed in the
tex_image_face_size() function. This caused bad rendering or segfaults.
Brian Paul [Tue, 4 May 2010 23:04:27 +0000 (17:04 -0600)]
gallium/util: added is_format_compressed()
Brian Paul [Tue, 4 May 2010 19:23:41 +0000 (13:23 -0600)]
llvmpipe: do some null pointer checking
Brian Paul [Tue, 4 May 2010 19:19:19 +0000 (13:19 -0600)]
llvmpipe: add some tests for malloc() returning NULL.
Start propogating NULL pointers from allocation functions and checks for
NULL in the callers...
Brian Paul [Tue, 4 May 2010 19:01:09 +0000 (13:01 -0600)]
progs/demos: set line width back to 1.0 in DrawBox()
Kristian Høgsberg [Tue, 4 May 2010 19:29:25 +0000 (15:29 -0400)]
glxinfo: Get visual info when an fbconfig has an associated visual
Kristian Høgsberg [Tue, 4 May 2010 18:13:11 +0000 (14:13 -0400)]
Fix gles .pc file generation
Kristian Høgsberg [Wed, 10 Mar 2010 21:47:36 +0000 (16:47 -0500)]
Add egl.pc file
Marek Olšák [Tue, 4 May 2010 18:09:53 +0000 (20:09 +0200)]
r300g: advertise S3TC only when it's available in Gallium
Wiktor Janas [Tue, 4 May 2010 17:50:26 +0000 (19:50 +0200)]
u_blitter: fix creating fragment shaders
See FDO bug #27887.
Signed-off-by: Marek Olšák <maraeo@gmail.com>
Kristian Høgsberg [Tue, 4 May 2010 17:35:23 +0000 (13:35 -0400)]
intel: Update renderbuffers unconditionally in intelSetTexBuffer2()
Brian Paul [Tue, 4 May 2010 16:30:52 +0000 (10:30 -0600)]
st/mesa: return success/fail from guess_and_alloc_texture()
Before we looked at stObj->pt to see if we may have run out of memory,
but that's not a good indicator. This fixes the spurious GL_OUT_OF_MEMORY
errors that could arise before.
Brian Paul [Tue, 4 May 2010 16:29:40 +0000 (10:29 -0600)]
st/mesa: improved st_texture_image_copy()
No longer need to search for the src mipmap level.
Added assertions.
Updated comments.
Moved debug code into separate function.
José Fonseca [Tue, 4 May 2010 14:41:19 +0000 (15:41 +0100)]
mesa/st: Fill in native program limits.
In the lack of more fine grained capabilities in Gallium, assume that if
the pipe driver supports GLSL then native limits match Mesa software
limits.
(cherry picked from commit
40a90cd11234a09c2477f5c9984dd6d9fac3f52c)
Kristian Høgsberg [Tue, 4 May 2010 13:22:24 +0000 (09:22 -0400)]
intel: Enable GL_EXT_framebuffer_object for gles2
José Fonseca [Tue, 4 May 2010 12:51:54 +0000 (13:51 +0100)]
gallivm: Proper implementation of TXL opcode.
José Fonseca [Tue, 4 May 2010 12:31:50 +0000 (13:31 +0100)]
gallivm: Fix several glitches introduced in the prev commit.
Kristian Høgsberg [Tue, 4 May 2010 11:23:21 +0000 (07:23 -0400)]
mesa: Forgot to add .pc.in files for gles
Some day I'll grow up and remember to add new files when I commit.
José Fonseca [Tue, 4 May 2010 09:06:46 +0000 (10:06 +0100)]
gallivm: Implement TXD.
Chia-I Wu [Tue, 4 May 2010 08:00:16 +0000 (16:00 +0800)]
gles: Add -I$(TOP)/include.
Kristian Høgsberg [Tue, 4 May 2010 01:18:04 +0000 (21:18 -0400)]
mesa: Only initialize TNL for OpenGL
Kristian Høgsberg [Tue, 4 May 2010 01:12:46 +0000 (21:12 -0400)]
mesa: Only initialize save dispatch table for OpenGL
Kristian Høgsberg [Mon, 3 May 2010 15:29:11 +0000 (11:29 -0400)]
progs/egl/opengles2: Add es2gears demo
Because every subdirectory under progs has to have a version of gears.
Brian Paul [Mon, 3 May 2010 23:35:40 +0000 (17:35 -0600)]
mesa: increase MAX_DRAW_BUFFERS to 8
Required for GL 3.x
Brian Paul [Mon, 3 May 2010 23:28:32 +0000 (17:28 -0600)]
gallium: move surface utility functions into u_surface.c
This is a better place than in u_rect.c
José Fonseca [Mon, 3 May 2010 19:41:01 +0000 (20:41 +0100)]
gallivm: Increase the TGSI translation limits and centralize them in a header.
José Fonseca [Mon, 3 May 2010 16:06:57 +0000 (17:06 +0100)]
gallicm: Newton-Raphson step to improve precision.
Disabled as it doesn't make VS/PSPrecision DCT happy, and it would
unnecessarily slow some cases where it is not needed.
Brian Paul [Mon, 3 May 2010 23:13:21 +0000 (17:13 -0600)]
cso: use framebuffer utility functions
Brian Paul [Mon, 3 May 2010 23:08:17 +0000 (17:08 -0600)]
gallium: move framebuffer utility functions into a new file
Brian Paul [Mon, 3 May 2010 22:13:57 +0000 (16:13 -0600)]
st/mesa: remove dead code
Brian Paul [Mon, 3 May 2010 22:13:20 +0000 (16:13 -0600)]
st/mesa: remove unused needFlush parameter to st_finalize_texture()
Brian Paul [Mon, 3 May 2010 22:03:19 +0000 (16:03 -0600)]
st/mesa: updated comments and fix some formatting in texture storage code
Brian Paul [Mon, 3 May 2010 21:51:00 +0000 (15:51 -0600)]
st/mesa: rename srcImageStride -> srcRowStride and fix-up formatting
Brian Paul [Mon, 3 May 2010 21:48:00 +0000 (15:48 -0600)]
st/mesa: consolidate and clean-up texture memory allocation code
Brian Paul [Mon, 3 May 2010 21:47:29 +0000 (15:47 -0600)]
st/mesa: updated comments for st_texture_image_map()