José Fonseca [Sat, 24 Apr 2010 19:31:30 +0000 (20:31 +0100)]
mesa: Eliminate multiple va_list usage.
va_list is a mutable iterator. When passed to a function it will likely
point to somewhere else.
This fixes segmentation fault in glean vertProg1 on Ubuntu 9.10.
José Fonseca [Sat, 24 Apr 2010 15:13:54 +0000 (16:13 +0100)]
util: Add missing static keyword.
José Fonseca [Sat, 24 Apr 2010 15:13:41 +0000 (16:13 +0100)]
util: Fix unsigned <-> ptr conversions.
José Fonseca [Sat, 24 Apr 2010 15:13:18 +0000 (16:13 +0100)]
llvmpipe: Initialize dummy variable.
José Fonseca [Sat, 24 Apr 2010 15:13:04 +0000 (16:13 +0100)]
llvmpipe: Don't use fences when not using threads.
lp_setup_flush has effect immediately.
José Fonseca [Sat, 24 Apr 2010 12:20:39 +0000 (13:20 +0100)]
llvmpipe: Move the determination of the number of threads to the screen.
José Fonseca [Sat, 24 Apr 2010 12:19:10 +0000 (13:19 +0100)]
gallivm: Centralize the cpu caps detection.
José Fonseca [Sat, 24 Apr 2010 11:00:06 +0000 (12:00 +0100)]
llvmpipe: Pass flatshade_first to setup.
Fixes piglit provoking-vertex.
José Fonseca [Sat, 24 Apr 2010 10:38:41 +0000 (11:38 +0100)]
svga: D3DCOLOR actually stands for B8G8R8A8.
José Fonseca [Sat, 24 Apr 2010 10:34:22 +0000 (11:34 +0100)]
svga: Translate recently added vertex formats.
José Fonseca [Sat, 24 Apr 2010 09:33:44 +0000 (10:33 +0100)]
cso_cache: Ensure irrelevant state of the blend state is zeroed.
Otherwise drivers that bake the full blend state in a key end up having
uninitialized memory in their key.
Courtesy of valgrind.
Jakob Bornecrantz [Sat, 24 Apr 2010 10:23:52 +0000 (11:23 +0100)]
st/dri: DRI2 give proper binding to depth buffer
José Fonseca [Sat, 24 Apr 2010 09:15:09 +0000 (10:15 +0100)]
sw/xlib: Fix bad logic in shm allocation.
Fixes fdo 27823.
José Fonseca [Sat, 24 Apr 2010 08:58:41 +0000 (09:58 +0100)]
gallivm: LLVMConstBitCast -> LLVMBuildBitCast
As the argument in general might not be a constant.
Dave Airlie [Thu, 22 Apr 2010 04:59:29 +0000 (14:59 +1000)]
llvmpipe: add initial autoconf support.
allows the swrastg_dri.so to be built with llvmpipe, also links llvm
to all dri drivers
use --enable-gallium-llvm to use it.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Vinson Lee [Sat, 24 Apr 2010 08:15:00 +0000 (01:15 -0700)]
nouveau: Add to SCons build.
Vinson Lee [Sat, 24 Apr 2010 07:19:22 +0000 (00:19 -0700)]
gallium/docs: Update Gallium version number to 0.4.
Vinson Lee [Sat, 24 Apr 2010 07:02:48 +0000 (00:02 -0700)]
llvmpipe: Remove unused variable.
Vinson Lee [Sat, 24 Apr 2010 05:06:19 +0000 (22:06 -0700)]
gallium: In option helpers, move assignment outside of if clause.
This silences Coverity assign_where_compare_meant warnings.
Brian Paul [Sat, 24 Apr 2010 00:12:45 +0000 (18:12 -0600)]
st/mesa: checkpoint WIP: mipmap generation for compressed textures
Something is wrong with the images strides when compressing/decompressing
images...
Brian Paul [Sat, 24 Apr 2010 00:11:22 +0000 (18:11 -0600)]
xlib/sw: remove stray semicolon
Brian Paul [Sat, 24 Apr 2010 00:09:43 +0000 (18:09 -0600)]
softpipe: compressed formats can't be render targets
Brian Paul [Sat, 24 Apr 2010 00:09:11 +0000 (18:09 -0600)]
gallium/util: document that pack/unpack strides are in bytes
Brian Paul [Fri, 23 Apr 2010 22:04:55 +0000 (16:04 -0600)]
st/mesa: minor improvements in fallback_generate_mipmap()
Brian Paul [Fri, 23 Apr 2010 20:12:00 +0000 (14:12 -0600)]
st/mesa: remove unneeded #includes and add/update comments
Brian Paul [Fri, 23 Apr 2010 20:00:50 +0000 (14:00 -0600)]
st/mesa: clean-up: use st_context() everywhere
Brian Paul [Fri, 23 Apr 2010 19:38:13 +0000 (13:38 -0600)]
mesa: simplify some code in _mesa_generate_mipmap()
Brian Paul [Fri, 23 Apr 2010 21:39:43 +0000 (15:39 -0600)]
gallium/failover: include u_memory.h for MALLOC, FREE
Brian Paul [Fri, 23 Apr 2010 16:57:34 +0000 (10:57 -0600)]
gallium/draw: remove old comment
Jakob Bornecrantz [Thu, 22 Apr 2010 17:20:31 +0000 (18:20 +0100)]
gallium: Convert some uses of get option to static
Jakob Bornecrantz [Thu, 22 Apr 2010 17:19:39 +0000 (18:19 +0100)]
gallium: Add static get option helpers
Jakob Bornecrantz [Thu, 22 Apr 2010 17:20:06 +0000 (18:20 +0100)]
gallium: Add option to not print options
José Fonseca [Fri, 23 Apr 2010 20:52:44 +0000 (21:52 +0100)]
gallium: s/free/FREE/ and same for friends.
Based on Stephen Johnson's feedback.
Brian Paul [Fri, 23 Apr 2010 19:13:27 +0000 (13:13 -0600)]
st/mesa: re-do binding flags in st_ChooseTextureFormat(), again
Try to specify render target bindings flags first. If that fails, try
again with just sampler view binding. Note that we try to create the
texture resource with render target binding flags later when we allocate
the texture. Then, in FBO validation, we check if we can actually render
to the textures. If that fails, we generate GL_FRAMEBUFFER_UNSUPPORTED_EXT.
Changes suggested by Jose.
Brian Paul [Fri, 23 Apr 2010 19:12:55 +0000 (13:12 -0600)]
st/mesa: replace 'usage' with 'bindings'
Brian Paul [Fri, 23 Apr 2010 19:05:13 +0000 (13:05 -0600)]
st/mesa: replace 'usage' with 'bindings' to be consistent
Plus, update comments and formatting.
Ian Romanick [Fri, 23 Apr 2010 18:52:14 +0000 (11:52 -0700)]
Merge branch '7.8'
Aaron Plattner [Thu, 22 Apr 2010 16:30:42 +0000 (09:30 -0700)]
Fix __glXInitializeVisualConfigFromTags's handling of unrecognized fbconfig tags.
__glXInitializeVisualConfigFromTags doesn't skip the payload of
unrecognized tags. Instead, it treats the value as if it were the
next tag, which can happen if the server's GLX extension is not
Mesa's. For example, this falls down when NVIDIA sends a
GLX_FLOAT_COMPONENTS_NV = 0 pair, causing
__glXInitializeVisualConfigFromTags to bail out early.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Stephen Johnson [Fri, 23 Apr 2010 18:34:21 +0000 (19:34 +0100)]
draw: use FREE() instead of free()
Brian Paul [Fri, 23 Apr 2010 18:28:55 +0000 (12:28 -0600)]
st/mesa: don't set RENDER_TARGET/DEPTH_STENCIL flag for compressed textures
Brian Paul [Fri, 23 Apr 2010 18:15:06 +0000 (12:15 -0600)]
st/mesa: get rid of default_deep_rgba_format()
This special-case code used to be used for the accum buffer but
the accum buffer implementation was changed some time ago.
Brian Paul [Fri, 23 Apr 2010 18:01:50 +0000 (12:01 -0600)]
mesa: make is_compressed_format() non-static
Brian Paul [Fri, 23 Apr 2010 17:58:52 +0000 (11:58 -0600)]
mesa: faster, simpler is_compressed_format()
Brian Paul [Fri, 23 Apr 2010 16:12:30 +0000 (10:12 -0600)]
llvmpipe: rename texture refs to resource refs
Alan Hourihane [Fri, 23 Apr 2010 18:26:03 +0000 (19:26 +0100)]
llvmpipe: update for half float formats
José Fonseca [Fri, 23 Apr 2010 16:07:14 +0000 (17:07 +0100)]
st/xlib: Try to propagate failure to create framebuffer.
Doesn't help much, since it is ignored by st_framebuffer_validate.
José Fonseca [Fri, 23 Apr 2010 16:04:06 +0000 (17:04 +0100)]
softpipe: YUV textures should be supported.
José Fonseca [Fri, 23 Apr 2010 16:03:10 +0000 (17:03 +0100)]
mesa/st: Remove dead members.
José Fonseca [Fri, 23 Apr 2010 15:56:55 +0000 (16:56 +0100)]
sw/xlib: Fallback to XPutImage when shmget fails.
After continuously running regression tests on Ubuntu for 2 days, shmget
mysteriously starts to fail. Even when the X server is reset.
This allow rendering to proceed, albeit using a slower presentation path.
Brian Paul [Fri, 23 Apr 2010 15:13:03 +0000 (09:13 -0600)]
llvmpipe: increase max 2D texture / surface size to 4K x 4K
Brian Paul [Fri, 23 Apr 2010 15:10:18 +0000 (09:10 -0600)]
llvmpipe: rename MAXWIDTH, MAXHEIGHT
Brian Paul [Fri, 23 Apr 2010 15:07:55 +0000 (09:07 -0600)]
llvmpipe: rename lp_tile_size.h to lp_limits.h
Collect the various driver limits in one place since.
Brian Paul [Fri, 23 Apr 2010 15:03:10 +0000 (09:03 -0600)]
llvmpipe: move LP_MAX_TEXTURE_x_LEVELS, etc to lp_tile_size.h
Jerome Glisse [Fri, 23 Apr 2010 10:08:36 +0000 (12:08 +0200)]
Merge remote branch 'origin/7.8'
Jerome Glisse [Fri, 23 Apr 2010 09:56:06 +0000 (11:56 +0200)]
r600: don't enable depth test if there is no depth buffer
If there is no depth buffer bound to current context don't
enable depth test. GL states that if depth test is enabled
without depth buffer it's as if depth buffer always pass.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Michel Dänzer [Fri, 23 Apr 2010 09:18:29 +0000 (11:18 +0200)]
Merge branch '7.8'
Michel Dänzer [Fri, 23 Apr 2010 09:14:13 +0000 (11:14 +0200)]
glx/dri2: Fix build with dri2proto which doesn't define X_DRI2SwapInterval.
Vinson Lee [Fri, 23 Apr 2010 07:59:12 +0000 (00:59 -0700)]
llvmpipe: Remove unused variable.
Eric Anholt [Thu, 22 Apr 2010 22:24:26 +0000 (15:24 -0700)]
i965: Fix assertion for surface tile offset usage on Ironlake.
Fixes assertion failure in fbo-generatemipmap-npot.
Eric Anholt [Tue, 20 Apr 2010 20:40:28 +0000 (13:40 -0700)]
i965: Fix scissoring when width or height is 0.
We would run into trouble due to the hardware using inclusive numbers
and the subtraction to handle that producing negative (meaning large
positive) coordinates.
Bug #27643.
Zack Rusin [Thu, 22 Apr 2010 22:36:07 +0000 (18:36 -0400)]
gallivm: implement indirect addressing over temporaries
a bit more involved than indirect addressing over consts, but still
fairly reasonable. we allocate an array instead of individual alloca's,
and we do it only if the shader does indirect addressing.
Zack Rusin [Thu, 22 Apr 2010 21:31:55 +0000 (17:31 -0400)]
gallivm: implement indirect addressing over constants
implement indirect addressing (ARL and ARR instructions) when used
with CONST's. indirect addressing over other vars (temps, inputs, outputs)
is not supported yet.
Tormod Volden [Thu, 22 Apr 2010 19:52:15 +0000 (21:52 +0200)]
radeon: 9800 SE has only one quadpipe
Although these cards have 2 pipelines on the silicon only
the first passed the QA and the other should be disabled.
http://www.digital-daily.com/video/ati-radeon9800se/
http://www.rojakpot.com/showarticle.aspx?artno=101&pgno=1
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Brian Paul [Thu, 22 Apr 2010 20:39:03 +0000 (14:39 -0600)]
gallium: use better param name
Brian Paul [Thu, 22 Apr 2010 20:35:54 +0000 (14:35 -0600)]
gallivm: remove Z/stencil special case code in lp_build_sample_offset()
Fixes progs/tests/zreaddraw.c and progs/demos/shadowtex.c
Brian Paul [Thu, 22 Apr 2010 20:35:21 +0000 (14:35 -0600)]
st/mesa: assert that binding flags are properly set for drawing surfaces
Brian Paul [Thu, 22 Apr 2010 20:34:22 +0000 (14:34 -0600)]
st/mesa: fix binding flags in st_ChooseTextureFormat()
See comment for more info.
Brian Paul [Thu, 22 Apr 2010 20:29:29 +0000 (14:29 -0600)]
progs/tests: asst. improvements to zreaddraw.c
Jesse Barnes [Thu, 22 Apr 2010 19:49:03 +0000 (12:49 -0700)]
DRI2/GLX: check for vblank_mode in DRI2 GLX code
Re-add support for the vblank_mode environment and configuration
variable. Useful for benchmarking and app control.
Jesse Barnes [Thu, 22 Apr 2010 19:47:41 +0000 (12:47 -0700)]
DRI2: add config query extension
Add a new DRI2 configuration query extension. Allows for DRI2 client
code to query for common DRI2 configuration options.
José Fonseca [Thu, 22 Apr 2010 19:38:36 +0000 (20:38 +0100)]
llvmpipe: Undo zs tiling changes.
tile_w/tile_h have different meaning there.
This partialy reverts commit
ccdc6b5913885866e100780bfd661672c9a5d23c.
José Fonseca [Thu, 22 Apr 2010 18:51:10 +0000 (19:51 +0100)]
gallium/docs: Unswap PIPE_BIND_SHARED's comment.
Brian Paul [Thu, 22 Apr 2010 18:44:40 +0000 (12:44 -0600)]
gallium/docs: many updates to screen.rst
Put PIPE_BIND_ and PIPE_TEXTURE_GEOM_ prefixes on token names so
that they can be found with grep. This needs to be done in more places.
Corrected/improved a lot of information and grammer.
I don't know how to properly format everything - someone else can take
care of that.
José Fonseca [Thu, 22 Apr 2010 18:24:30 +0000 (19:24 +0100)]
llvmpipe: Portability fixes.
José Fonseca [Thu, 22 Apr 2010 18:23:40 +0000 (19:23 +0100)]
llvmpipe: Fix rendering to non 32bpp formats.
Tiled layout always used 32bpp, therefore linear/tiled strides are not
related.
Zack Rusin [Thu, 22 Apr 2010 17:56:54 +0000 (13:56 -0400)]
gallivm: update comments
Zack Rusin [Thu, 22 Apr 2010 17:45:25 +0000 (13:45 -0400)]
gallivm: fix nested cont statements
Zack Rusin [Thu, 22 Apr 2010 17:43:37 +0000 (13:43 -0400)]
gallivm: fix nested break statemants
Zack Rusin [Thu, 22 Apr 2010 17:00:48 +0000 (13:00 -0400)]
gallivm: make sure we return the correct type when approximating log's
José Fonseca [Thu, 22 Apr 2010 17:22:22 +0000 (18:22 +0100)]
llvmpipe: Use resource_is_texture() consistently.
Otherwise slightly difference order causes assertion failures.
Also remove mentions of PIPE_BIND_SCANOUT/PIPE_BIND_SHARED. They are not
propoer bind flags and will likely be deprecated. If surfaces should
be passed to the winsys then they should have the DISPLAY_TARGET flag
set, which is a proper bind flag.
Brian Paul [Thu, 22 Apr 2010 17:33:26 +0000 (11:33 -0600)]
gallium: fix comment language, remove dangling comment
Brian Paul [Thu, 22 Apr 2010 17:04:04 +0000 (11:04 -0600)]
st/mesa: consolidate code for finding supported formats
Brian Paul [Thu, 22 Apr 2010 16:47:53 +0000 (10:47 -0600)]
st/mesa: refactor depth/stencil format selection code
Brian Paul [Thu, 22 Apr 2010 16:02:18 +0000 (10:02 -0600)]
mesa: sort texel fetch/store table by format index
Brian Paul [Thu, 22 Apr 2010 17:10:19 +0000 (11:10 -0600)]
Merge branch '7.8'
Conflicts:
src/mesa/state_tracker/st_format.c
Brian Paul [Thu, 22 Apr 2010 16:26:20 +0000 (10:26 -0600)]
st/mesa: add cases for MESA_FORMAT_Z24_X8, MESA_FORMAT_X8_Z24
Brian Paul [Thu, 22 Apr 2010 14:46:46 +0000 (08:46 -0600)]
mesa: fix conversion errors in signed_rgba8888[rev] texel fetch
Without the cast the returned texel colors were wrong.
Also, we don't need the "& 0xff" part anymore.
Bug found by Vinson Lee.
José Fonseca [Thu, 22 Apr 2010 17:06:05 +0000 (18:06 +0100)]
llvmpipe: Fix resource_is_texture.
It was missing PIPE_BIND_RENDER_TARGET, causing assertion failures for
pure render targets.
Also bind flags are too variable and complex for a good assessment for
whether the resource is a texture or not. Target is more concise.
José Fonseca [Thu, 22 Apr 2010 14:12:30 +0000 (15:12 +0100)]
llvmpipe: Do not advertise S3TC rendering support.
José Fonseca [Thu, 22 Apr 2010 14:11:57 +0000 (15:11 +0100)]
llvmpipe: Fix typo in assert.
José Fonseca [Thu, 22 Apr 2010 14:11:34 +0000 (15:11 +0100)]
u_format: Reduce code duplication.
Vinson Lee [Thu, 22 Apr 2010 07:45:27 +0000 (00:45 -0700)]
gallivm: Remove unused variable.
Alex Deucher [Thu, 22 Apr 2010 06:37:34 +0000 (02:37 -0400)]
r300g: fix vertex unit setup
RV3xx is 2, RV560,RV570 is 8
Noticed by Tormod Volden.
Alex Deucher [Thu, 22 Apr 2010 06:33:10 +0000 (02:33 -0400)]
r300: fix vertex unit setup
RV3xx is 2, RV560,RV570 is 8
Noticed by Tormod Volden.
Vinson Lee [Thu, 22 Apr 2010 01:45:44 +0000 (18:45 -0700)]
gallium/util: Fix deviation calculation in u_cache.
The approximate deviation calculation was using the entire cache's total
instead of each cache entry's total.
Vinson Lee [Thu, 22 Apr 2010 01:31:01 +0000 (18:31 -0700)]
gallium/tests: Add test case for u_cache.
Brian Paul [Thu, 22 Apr 2010 00:22:15 +0000 (18:22 -0600)]
gallivm: added some assertions in loop-gen code
We're hitting these assertions with nested loops...
Aaron Plattner [Thu, 22 Apr 2010 00:13:19 +0000 (18:13 -0600)]
progs/demos: Fix the progs/demos/rain help text
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Wed, 21 Apr 2010 23:58:26 +0000 (17:58 -0600)]
gallivm: fix copy&paste error: s/cont_stack_size/break_stack_size/
Brian Paul [Wed, 21 Apr 2010 23:57:44 +0000 (17:57 -0600)]
gallivm: emit_instruction() is boolean