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()
Brian Paul [Mon, 3 May 2010 21:39:40 +0000 (15:39 -0600)]
st/mesa: move some texture size calculation code
Brian Paul [Mon, 3 May 2010 21:35:21 +0000 (15:35 -0600)]
st/mesa: remove old convolution-related vars and min pitch code
Brian Paul [Mon, 3 May 2010 21:31:09 +0000 (15:31 -0600)]
st/mesa: remove unsupported convolution code
Brian Paul [Mon, 3 May 2010 21:29:02 +0000 (15:29 -0600)]
progs/demos: check for GL_ARB_imaging if convolutions is requested
Brian Paul [Mon, 3 May 2010 21:17:38 +0000 (15:17 -0600)]
st/mesa: updated comment
Brian Paul [Mon, 3 May 2010 19:58:51 +0000 (13:58 -0600)]
glsl: change variable declared assertion into conditional
The slang_variable::declared field originated as a debug field but
can be promoted for use during sematic error checking.
Fixes fd.o bug 27921.
NOTE: this is a candidate for back-porting to the 7.8 stable branch.
Brian Paul [Mon, 3 May 2010 19:16:11 +0000 (13:16 -0600)]
Revert "glapi: s/strcpy/strncpy/"
This reverts commit
9446fd8f69564e09ffd0f28735a99c510f84bb62.
It doesn't make sense to replace strcpy(a,b) with strncpy(a,b,strlen(b)).
The preceeding code effectively does bounds checking, btw.
Brian Paul [Fri, 30 Apr 2010 18:50:42 +0000 (12:50 -0600)]
st/mesa: remove dead code
Brian Paul [Mon, 3 May 2010 19:04:29 +0000 (13:04 -0600)]
st/mesa: restore original last_layer comparison
Commit
e648d4a1d1c0c5f70916e38366b863f0bec79a62 changed the original
less-than test to a not-equal test. This was an effort to save some
memory by switching the texture layout to a non-mipmapped layout when
we mis-guessed about the original layout (thus saving some memory).
However, this causes us to hit a new (apparently broken) code path
when copying the old texture's data to the new texture. Simply
undo this change for the time being until the other/new bug is fixed.
Fixes fd.o bug 27933.
Marek Olšák [Mon, 3 May 2010 18:14:17 +0000 (20:14 +0200)]
r300g: use util_format_short_name and util_format_is_plain
Marek Olšák [Mon, 3 May 2010 18:09:14 +0000 (20:09 +0200)]
util: add util_format_short_name
Marek Olšák [Mon, 3 May 2010 17:19:02 +0000 (19:19 +0200)]
util: add util_format_is_plain
Marek Olšák [Mon, 3 May 2010 17:14:31 +0000 (19:14 +0200)]
r300g: refuse to create a texture with size 0
Marek Olšák [Mon, 3 May 2010 17:05:03 +0000 (19:05 +0200)]
r300g: improve texture debug output, split into TEX and TEXALLOC flags
Török Edwin [Mon, 3 May 2010 14:43:03 +0000 (07:43 -0700)]
Reorder LLVM passes, running mem2reg earlier.
This gives a ~30% shader optimization time improvement on blender.
Tested by comparing the dumped LLVM modules.
Current ordering:
time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc -constprop -instcombine
-mem2reg -gvn -simplifycfg
real 0m1.126s
user 0m1.108s
sys 0m0.012s
With this patch:
time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc -mem2reg -constprop -instcombine -gvn -simplifycfg
real 0m0.885s
user 0m0.880s
sys 0m0.000s
The overall improvement in blender is ~15%.
Blender without the patch takes 1m13s:
edwin 5934 87.6 11.5 729440 458296 pts/5 SLl+ 17:35 1:13 blender
Blender with the patch takes 1m3s:
edwin 5726 94.2 11.2 716424 446168 pts/5 SLl+ 17:32 1:03 blender
It is still slow with the patch, but better (most of the optimization time is
taken up by GVN, see LLVM PR7023).
Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
José Fonseca [Mon, 3 May 2010 15:23:44 +0000 (16:23 +0100)]
svga: Silent warning.
Kristian Høgsberg [Mon, 3 May 2010 12:32:56 +0000 (08:32 -0400)]
Generate es glapi files when es1 or es2 is enabled
José Fonseca [Mon, 3 May 2010 12:16:09 +0000 (13:16 +0100)]
gallivm: Display message instead of crashing when sampler generator was not supplied for tgsi translation.
Kristian Høgsberg [Mon, 3 May 2010 12:00:10 +0000 (08:00 -0400)]
driswrast: Fix more context creation breakage
Pointed out by Colin Harrison.
José Fonseca [Mon, 3 May 2010 11:18:55 +0000 (12:18 +0100)]
translate: Make translate_generic truly generic.
PIPE_FORMAT_R10G10B10X2_USCALED, half floats, were not supported, so
just rely on u_format for (almost) universal format support.
José Fonseca [Mon, 3 May 2010 11:15:32 +0000 (12:15 +0100)]
draw: Remove draw_pt_fetch_prepare call from llvm middle end.
Unneeded since we code generate the vertex fecthes.
José Fonseca [Mon, 3 May 2010 11:13:54 +0000 (12:13 +0100)]
tgsi: Parse and dump predicates.
José Fonseca [Mon, 3 May 2010 09:53:32 +0000 (10:53 +0100)]
gallium: Remove loop register file.
It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is
just like another address register now.
José Fonseca [Mon, 3 May 2010 08:54:01 +0000 (09:54 +0100)]
gallivm: Replace predicate assertion failure with warning message.
José Fonseca [Mon, 3 May 2010 08:53:12 +0000 (09:53 +0100)]
draw: Disable rtasm compilation when using LLVM.
Saves time and trouble.
Dave Airlie [Mon, 3 May 2010 07:09:17 +0000 (17:09 +1000)]
nouveau: fix nouveau_create_context decleration
Dave Airlie [Sun, 2 May 2010 07:37:18 +0000 (17:37 +1000)]
softpipe: invalidate cache view when swizzles are different.
Current code only invalidated if the texture was different, however we
store swizzled values in the cache, so we need to invalidate in that case
also.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 2 May 2010 09:35:34 +0000 (19:35 +1000)]
glx: fix regression with GLX_USE_GL
update for fbconfig_style_tags
Zack Rusin [Mon, 3 May 2010 01:40:30 +0000 (21:40 -0400)]
gallivm: fix nested break and continue statements
we were resetting the mask on each new break/continue statement within
the same scope. we always need to and the current execution mask
with the current break/continue mask to get the correct result (the
masks are always ~1 initially)
Jakob Bornecrantz [Sat, 1 May 2010 11:38:25 +0000 (12:38 +0100)]
identity: Move sampler view create and destroy to id_objects.c
Jakob Bornecrantz [Sat, 1 May 2010 11:02:26 +0000 (12:02 +0100)]
identity: s/texture/resource/
Jakob Bornecrantz [Sat, 1 May 2010 10:50:36 +0000 (11:50 +0100)]
identity: Whitespace & Style
Jakob Bornecrantz [Sun, 2 May 2010 23:25:12 +0000 (00:25 +0100)]
swrast: Correct include for mtypes.h
Luca Barbieri [Sun, 2 May 2010 23:12:50 +0000 (16:12 -0700)]
gallium/util: print \n after DXTn printf
Re-add commit
2d65a7caf97684aa654088c76a74b632fbd685fa
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Xavier Chantry [Sun, 2 May 2010 22:57:25 +0000 (15:57 -0700)]
llvmpipe: add lp_test_* to .gitignore
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
José Fonseca [Sun, 2 May 2010 22:54:42 +0000 (23:54 +0100)]
svga: Remove the screen private context.
All affected operations have already been moved to context.
More cleanup work can be done, in particular with the buffer transfers.
José Fonseca [Sun, 2 May 2010 21:35:53 +0000 (22:35 +0100)]
svga: Remove empty file.
José Fonseca [Sun, 2 May 2010 21:33:43 +0000 (22:33 +0100)]
svga: Update flags documentation.
José Fonseca [Sun, 2 May 2010 20:37:24 +0000 (21:37 +0100)]
softpipe: Fix alpha blending for formats without alpha channel.
Don't use the dst alpha channel from the tile cache when it does not
exist in the true format.
José Fonseca [Sun, 2 May 2010 20:36:12 +0000 (21:36 +0100)]
llvmpipe: Fix alpha blending for formats without alpha channel.
Don't use the dst alpha channel from the swizzled tile when it does not
exist in the true format.
Xavier Chantry [Sun, 2 May 2010 21:25:43 +0000 (23:25 +0200)]
Update drisw state tracker to use new API aware context create
Even though swrast defines its own __DriverAPIRec it still shares the
driCreateNewContext() implementation from dri_util.c. So the CreateContext
prototypes have to match in the two __DriverAPIRecs.
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Vinson Lee [Sun, 2 May 2010 20:34:50 +0000 (13:34 -0700)]
svga: Include svga_surface.h in svga_screen.c.
Fixes svga_screen_init_surface_functions implicit declaration warning.
Vinson Lee [Sun, 2 May 2010 20:30:40 +0000 (13:30 -0700)]
r300g: Remove unnecessary header.
Xavier Chantry [Sun, 2 May 2010 20:27:25 +0000 (16:27 -0400)]
Update dri state tracker to use new API aware context create
Vinson Lee [Sun, 2 May 2010 20:21:42 +0000 (13:21 -0700)]
mesa: Include api_exec.h in dlist.c.
Fixes _mesa_alloc_dispatch_table implicit declaration warning.
Marek Olšák [Sun, 2 May 2010 15:31:06 +0000 (17:31 +0200)]
r300g: do not validate buffers in check_cs
It's already done in r300_emit_buffer_validate.
This also fixes Total Annihilation 3D on debug builds at least.
Marek Olšák [Sun, 2 May 2010 15:19:03 +0000 (17:19 +0200)]
r300g: fix surface_copy for compressed formats
No accelerated blitting for these, it's too messy.
Kristian Høgsberg [Sun, 2 May 2010 18:52:39 +0000 (14:52 -0400)]
configure.ac: Fix test for whether to build src/gles
Kristian Høgsberg [Sun, 2 May 2010 18:19:54 +0000 (14:19 -0400)]
mesa: Include mfeatures.h before testing feature macros
Kristian Høgsberg [Sun, 2 May 2010 18:09:52 +0000 (14:09 -0400)]
mesa: Only compile ES files when ES1 or ES2 are selected
This still requieres manual generation of the es1 and es2 glapis and is
disabled by default.
José Fonseca [Sun, 2 May 2010 15:10:40 +0000 (16:10 +0100)]
mesa: #ifdef out more remap_table related code when disabled.
Seems to get everything building again here.
José Fonseca [Sun, 2 May 2010 12:04:08 +0000 (13:04 +0100)]
retrace: Add sampler_view_destroy
José Fonseca [Sun, 2 May 2010 12:03:37 +0000 (13:03 +0100)]
trace: Fix typo in method name.
Kristian Høgsberg [Sun, 2 May 2010 14:17:07 +0000 (10:17 -0400)]
Merge branch 'gles2-2'
Conflicts:
src/mesa/drivers/dri/common/dri_util.h
Kristian Høgsberg [Sun, 2 May 2010 14:14:53 +0000 (10:14 -0400)]
Hook in install rules for es1 and es2
Kristian Høgsberg [Sun, 2 May 2010 13:51:13 +0000 (09:51 -0400)]
Add glesv2.pc and glesv1_cm.pc pkg-config files for ES 1 and 2
Kristian Høgsberg [Sun, 2 May 2010 13:27:51 +0000 (09:27 -0400)]
st/mesa: Create context for API_OPENGL as first priority
Marek Olšák [Sun, 2 May 2010 11:27:57 +0000 (13:27 +0200)]
r300g: always set the pitch of the first miplevel in the tiling flags
This further reduces the number of DRM calls and flushes.
Marek Olšák [Sun, 2 May 2010 05:06:35 +0000 (07:06 +0200)]
Revert "r300g: disable point sprites (again)"
This reverts commit
3e0f1719d411b34f77fd2a053ecf83b43bb836ca.
Marek Olšák [Sun, 2 May 2010 04:24:55 +0000 (06:24 +0200)]
r300g: merge VS output mapping state (VAP) to rasterizer block state (RS)
These two should be tied together because what's set in VAP or stuffed in GA
should be rasterized in RS. Not doing so causes a hardlock.
The reason for the merge is that if stuffed texture coordinates (e.g. point
sprite texgen) happen to occupy the texcoord slot dedicated to fog or wpos,
the two must be relocated to other free slots, which needs remapping the vertex
shader outputs.
The rasterizer code is now literally a sequence read-rasterize-write.
Marek Olšák [Sun, 2 May 2010 02:21:21 +0000 (04:21 +0200)]
r300g: inline update_derived_shader_state
Marek Olšák [Sat, 1 May 2010 23:55:44 +0000 (01:55 +0200)]
r300g: fix segfault when resizing a DRI2 framebuffer
Resetting tiling flags might happen after a texture is destroyed...
Looking at the kernel sources, we don't actually need to reset the tiling
flags.
Marek Olšák [Sat, 1 May 2010 23:48:57 +0000 (01:48 +0200)]
r300g: cache tiling flags to reduce the number of DRM calls
Vinson Lee [Sun, 2 May 2010 08:03:59 +0000 (01:03 -0700)]
mesa: s/sprintf/_mesa_snprintf/
Vinson Lee [Sun, 2 May 2010 07:21:04 +0000 (00:21 -0700)]
i965g: s/sprintf/util_snprintf/