Jakob Bornecrantz [Sat, 24 Apr 2010 12:36:09 +0000 (13:36 +0100)]
st/dri: Add hooks for framebuffer functions
Jakob Bornecrantz [Sat, 24 Apr 2010 11:35:56 +0000 (12:35 +0100)]
st/dri: Make lookup_egl_image a hook
Jakob Bornecrantz [Sat, 24 Apr 2010 00:05:49 +0000 (01:05 +0100)]
st_api: Remove st_module
The struct st_module isn't needed as it is the same thing as the st_api
struct. That is they both represent the API. Instead just use a single
function entry point to the the API.
José Fonseca [Sun, 25 Apr 2010 23:32:13 +0000 (00:32 +0100)]
llvmpipe: Respect pipe_sampler_view::swizzle_r/g/b/a
This allows u_sampler_view_default_dx9_template to do its magic on DX9.
José Fonseca [Sun, 25 Apr 2010 20:43:49 +0000 (21:43 +0100)]
draw: Respect pipe_vertex_buffer::max_index in llvm generated code.
Everybody should respect max_index, specially llvm generated code, which
likes to eat vertices 4 at a time, so it may end up chew a bit a bit more
than actually exists.
José Fonseca [Sun, 25 Apr 2010 16:15:56 +0000 (17:15 +0100)]
llvmpipe: No need to flush the caches for buffers.
José Fonseca [Sun, 25 Apr 2010 16:03:48 +0000 (17:03 +0100)]
softpipe: Make softpipe transfers in-order.
Transfer, being now a context operation, should happen in order with
all other contexts operations. If there is rendering pending on the
resource then the driver must flush and potentially wait itself
internally.
Instead of avoiding using transfers internally (as done in llvmpipe) I've
opted to simply pass PIPE_TRANSFER_UNSYNCHRONIZED in all internal
transfers, to avoid infinite recursion.
José Fonseca [Sun, 25 Apr 2010 15:59:09 +0000 (16:59 +0100)]
llvmpipe: Cleanup/improve llvmpipe_flush_resource usage.
Recognize PIPE_TRANSFER_UNSYNCHRONIZED and PIPE_TRANSFER_DONTBLOCK.
Vinson Lee [Sun, 25 Apr 2010 20:10:02 +0000 (13:10 -0700)]
llvmpipe: Remove unused variable.
José Fonseca [Sun, 25 Apr 2010 14:49:03 +0000 (15:49 +0100)]
llvmpipe: llvmpipe_flush_texture -> llvmpipe_flush_resource
José Fonseca [Sun, 25 Apr 2010 14:40:06 +0000 (15:40 +0100)]
llvmpipe: Fix buffer overflow unswizzling several formats.
Array formats without for channels were being advanced as four channels,
causing buffer overflows.
José Fonseca [Sun, 25 Apr 2010 14:05:41 +0000 (15:05 +0100)]
softpipe: Hardcode TILE_CLEAR_OPTIMIZATION to 1.
The un-optimized path relies on surface_fill which can only handle formats
with depth <= 32, so it is pointless to keep it around.
José Fonseca [Sun, 25 Apr 2010 13:53:40 +0000 (14:53 +0100)]
llvmpipe: Replace tile_read/write with more descriptive swizzle/unswizzle verbs.
José Fonseca [Sun, 25 Apr 2010 13:52:27 +0000 (14:52 +0100)]
llvmpipe: Cleanup llvmpipe_is_format_supported().
It should be just cosmetic.
José Fonseca [Sun, 25 Apr 2010 13:51:33 +0000 (14:51 +0100)]
softpipe: More accurate softpipe_is_format_supported().
Unfortunately there are some heavy limitations on supported render target
formats due to the way clear values are used internally.
José Fonseca [Sun, 25 Apr 2010 11:12:54 +0000 (12:12 +0100)]
llvmpipe: Remove sp2lp.sh.
Irrelevant now that llvmpipe and softpipe grew so far apart.
José Fonseca [Sun, 25 Apr 2010 11:11:36 +0000 (12:11 +0100)]
llvmpipe: lp_tex_sample_llvm.c -> lp_tex_sample.c
'llvm' suffix unnecessary now that the C sampling version disappeared.
Vinson Lee [Sun, 25 Apr 2010 09:18:52 +0000 (02:18 -0700)]
st/dri: Add missing header.
Add GL/internal/dri_interface.h for __DRI_TEXTURE_FORMAT_RGB.
Vinson Lee [Sun, 25 Apr 2010 09:04:13 +0000 (02:04 -0700)]
gallivm: Rename variable info to opcode_info.
Avoid hiding existing variable already named info in outer scope.
Vinson Lee [Sun, 25 Apr 2010 06:41:59 +0000 (23:41 -0700)]
radeon: Remove NULL check of bo_legacy->tobj.
bo_legacy->tobj cannot be NULL before the call to driUpdateTextureLRU.
There is a NULL check earlier in the routine, and if bo_legacy->tobj is
NULL, memory is allocated.
Vinson Lee [Sun, 25 Apr 2010 06:31:35 +0000 (23:31 -0700)]
gallivm: Remove NULL check of pointer that can't be NULL.
info cannot be NULL at the call to debug_printf. emit_instruction
dereferences info, so at debug_printf it is either not NULL or the
program has already crashed.
Vinson Lee [Sun, 25 Apr 2010 06:14:27 +0000 (23:14 -0700)]
dri: Remove unnecessary header.
Vinson Lee [Sat, 24 Apr 2010 23:22:47 +0000 (16:22 -0700)]
nvfx: Add to SCons build.
Dave Airlie [Sat, 24 Apr 2010 21:48:48 +0000 (07:48 +1000)]
llvm: fix configure.ac harder
Vinson Lee [Sat, 24 Apr 2010 21:38:48 +0000 (14:38 -0700)]
nv50: Add to SCons build.
Vinson Lee [Sat, 24 Apr 2010 21:29:08 +0000 (14:29 -0700)]
llvmpipe: Remove unused variable.
Vinson Lee [Sat, 24 Apr 2010 21:19:47 +0000 (14:19 -0700)]
llvmpipe: Remove unnecessary header.
José Fonseca [Sat, 24 Apr 2010 20:00:45 +0000 (21:00 +0100)]
llvmpipe: Implement shader bias.
Fixes glean glsl1 test: texture2D(), with bias.
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.