Eric Anholt [Wed, 29 Jul 2009 20:00:09 +0000 (13:00 -0700)]
i915: Add optional support for ARB_fragment_shader under a driconf option.
Other vendors have enabled ARB_fragment_shader as part of OpenGL 2.0
enablement even on hardware like the 915 with no dynamic branching or
dFdx/dFdy support. But for now we'll leave it disabled because we don't
do any flattening of ifs or loops, which is rather restrictive.
This support is not complete, and may be unstable depending on your shaders.
It passes 10/15 of the piglit glsl tests, but hangs on glean glsl1.
Eric Anholt [Thu, 30 Jul 2009 03:44:39 +0000 (20:44 -0700)]
i915: Add support or fallbacks for GLSL fragment shader opcodes.
Eric Anholt [Thu, 1 Oct 2009 21:00:28 +0000 (14:00 -0700)]
i915: Add support for varying inputs.
Eric Anholt [Wed, 29 Jul 2009 19:15:14 +0000 (12:15 -0700)]
i915: Enable ARB_vertex_shader for both i915 and i830.
Since the TNL is all done in software anyway, it should be the same to
the user who's probably using ARB_vertex_program otherwise, but gives them
a nicer programming environment.
Eric Anholt [Thu, 30 Jul 2009 07:03:21 +0000 (00:03 -0700)]
i915: Increase maximum program size to the hardware limits.
This fixes potential heap trashing if the program of choice exceeds limits,
and fixes the native instructions limit being lower than what can be
used by valid programs.
Eric Anholt [Thu, 30 Jul 2009 06:37:04 +0000 (23:37 -0700)]
i915: Update and translate the fragment program along with state updates.
Previously, we were doing it in the midst of the pipeline run, which gave
an opportunity to enable/disable fallbacks, which is certainly the wrong
time to be doing so. This manifested itself in a NULL dereference for PutRow
after transitioning out of a fallback during a run_pipeline in glean glsl1.
Eric Anholt [Thu, 30 Jul 2009 05:46:14 +0000 (22:46 -0700)]
Revert "i915: don't validate PS program when falling back to software"
This reverts commit
e7044d552c6d16389447880b8744a51de1cf0199. It
prevented the driver from ever recovering from a software fallback due
to a program error. The original bug it claimed to fix doesn't appear to
exist post-revert.
Eric Anholt [Thu, 30 Jul 2009 05:39:15 +0000 (22:39 -0700)]
i915: Bail when the fragment program has too many total instructions.
Previously, we'd go trashing the heap.
Eric Anholt [Thu, 30 Jul 2009 19:32:40 +0000 (12:32 -0700)]
i915: Let i915_program_error take a format string, and don't use _mesa_problem.
It's misleading to report things like the program having too many native
instructions as a Mesa implementation error, when the program may just be
too big for the hardware.
Brian Paul [Thu, 1 Oct 2009 19:35:42 +0000 (13:35 -0600)]
Merge branch 'mesa_7_6_branch'
Vinson Lee [Thu, 1 Oct 2009 19:33:20 +0000 (13:33 -0600)]
mesa: Return -FLT_MAX instead of 0 for LG2(0).
lim x->0 log(x) = -inf so -FLT_MAX is a better approximation than 0
for LG2(0).
Brian Paul [Thu, 1 Oct 2009 19:14:16 +0000 (13:14 -0600)]
objviewer: remove disabled code
Brian Paul [Thu, 1 Oct 2009 19:13:28 +0000 (13:13 -0600)]
objviewer: mouse/keyboard info in README file
Brian Paul [Thu, 1 Oct 2009 19:11:38 +0000 (13:11 -0600)]
docs: added objviewer to release notes
Brian Paul [Thu, 1 Oct 2009 19:11:25 +0000 (13:11 -0600)]
mesa: add objviewer to PROGRAM_DIRS
Brian Paul [Thu, 1 Oct 2009 19:11:13 +0000 (13:11 -0600)]
mesa: add progs/objviewer to tarball list
Brian Paul [Thu, 1 Oct 2009 19:07:01 +0000 (13:07 -0600)]
objview: clean up drawing VBO code
Brian Paul [Thu, 1 Oct 2009 19:05:25 +0000 (13:05 -0600)]
objview: set skybox texture filter
Brian Paul [Thu, 1 Oct 2009 19:05:13 +0000 (13:05 -0600)]
objview: check GL version/extension
Brian Paul [Thu, 1 Oct 2009 18:58:36 +0000 (12:58 -0600)]
progs/objviewer: Wavefront .obj file loader/viewer demo
Adapted from code written by Nate Robins. See README.txt.
Michel Dänzer [Thu, 1 Oct 2009 14:45:11 +0000 (16:45 +0200)]
st/xorg: Check that ms->api->destroy is not NULL before calling it.
Fixes potential crash on X server shutdown.
Robert Noland [Wed, 30 Sep 2009 17:14:38 +0000 (10:14 -0700)]
util: Enable sockets on BSD
I think this should be safe for all of the BSDs.
Signed-off-by: Robert Noland <rnoland@2hip.net>
Signed-off-by: Brian Paul <brianp@vmware.com>
Robert Noland [Wed, 30 Sep 2009 16:36:18 +0000 (09:36 -0700)]
util: define PIPE_OS_FREEBSD to correct u_cpu_detect on FreeBSD.
Since the various BSDs use some different features here,
define PIPE_OS_OPENBSD and PIPE_OS_NETBSD as well
Signed-off-by: Robert Noland <rnoland@2hip.net>
Brian Paul [Wed, 30 Sep 2009 15:30:27 +0000 (09:30 -0600)]
mesa: better debug message
Keith Whitwell [Thu, 1 Oct 2009 13:34:23 +0000 (14:34 +0100)]
gallium: remove depth.occlusion_count flag
This was redundant as drivers can just keep track of whether they are
inside a begin/end query pair. We want to add more query types later
and also support nested queries, none of which map well onto a flag like
this. No driver appeared to be using the flag.
Cooper Yuan [Thu, 1 Oct 2009 09:54:27 +0000 (17:54 +0800)]
st/mesa: fix non-mipmap lastLevel calculation.
reviewed by Brian Paul.
Brian Paul [Tue, 29 Sep 2009 16:24:27 +0000 (10:24 -0600)]
glx: fix glXQueryContext(GLX_RENDER_TYPE)
The renderType parameter to CreateContext() was never used. Also, it
was often passed as zero. Now when it's zero we check if the context
is RGBA or CI mode and set it accordingly.
Fixes bug 24211.
Eric Anholt [Thu, 12 Feb 2009 11:54:58 +0000 (03:54 -0800)]
i965: Fix massive memory allocation for streaming texture usage.
Once we've freed a miptree, we won't see any more state cache requests
that would hit the things that pointed at it until we've let the miptree
get released back into the BO cache to be reused. By leaving those
surface state and binding table pointers that pointed at it around, we
would end up with up to (500 * texture size) in memory uselessly consumed
by the state cache.
Bug #20057
Bug #23530
Michel Dänzer [Wed, 30 Sep 2009 16:01:46 +0000 (18:01 +0200)]
st/xorg: Fix debug option function call typo.
Chia-I Wu [Sat, 12 Sep 2009 10:59:13 +0000 (18:59 +0800)]
mesa/main: New feature FEATURE_beginend.
This feature corresponds to the Begin/End paradigm. Disabling this
feature also eliminates the use of GLvertexformat completely.
Chia-I Wu [Wed, 9 Sep 2009 07:00:08 +0000 (15:00 +0800)]
mesa/main: Make FEATURE_dlist follow feature conventions.
As shown in mfeatures.h, this allows users of dlist.h to work without
knowing if the feature is available.
Chia-I Wu [Tue, 8 Sep 2009 02:25:22 +0000 (10:25 +0800)]
mesa/main: Make FEATURE_evaluators follow feature conventions.
As shown in mfeatures.h, this allows users of eval.h to work without
knowing if the feature is available.
Chia-I Wu [Tue, 8 Sep 2009 09:45:59 +0000 (17:45 +0800)]
mesa/main: New feature FEATURE_queryobj.
It merges FEATURE_ARB_occlusion_query and FEATURE_EXT_timer_query, and
follows the feature conventions.
Chia-I Wu [Tue, 8 Sep 2009 06:32:08 +0000 (14:32 +0800)]
mesa/main: New feature FEATURE_arrayelt.
This allows the removal of AEcontext.
Chia-I Wu [Tue, 8 Sep 2009 03:01:19 +0000 (11:01 +0800)]
mesa/main: Make FEATURE_texgen follow feature conventions.
As shown in mfeatures.h, this allows users of texgen.h to work without
knowing if the feature is available.
Chia-I Wu [Tue, 8 Sep 2009 02:52:01 +0000 (10:52 +0800)]
mesa/main: Make FEATURE_feedback follow feature conventions.
As shown in mfeatures.h, this allows users of feedback.h to work without
knowing if the feature is available.
Chia-I Wu [Tue, 8 Sep 2009 02:15:06 +0000 (10:15 +0800)]
mesa/main: Make FEATURE_drawpix follow feature conventions.
As shown in mfeatures.h, this allows users of drawpix.h to work
without knowing if the feature is available.
Chia-I Wu [Tue, 8 Sep 2009 02:05:36 +0000 (10:05 +0800)]
mesa/main: New feature FEATURE_rastpos.
It is separated from FEATURE_drawpix and made to follow the feature
conventions.
Chia-I Wu [Mon, 7 Sep 2009 10:06:00 +0000 (18:06 +0800)]
mesa/main: Make FEATURE_histogram follow feature conventions.
As shown in mfeatures.h, this allows users of histogram.h to work without
knowing if the feature is available.
Chia-I Wu [Mon, 7 Sep 2009 10:20:10 +0000 (18:20 +0800)]
mesa/main: Make FEATURE_attrib_stack follow feature conventions.
As shown in mfeatures.h, this allows users of attrib.h to work without
knowing if the feature is available.
Chia-I Wu [Mon, 7 Sep 2009 09:51:42 +0000 (17:51 +0800)]
mesa/main: Make FEATURE_accum follow feature conventions.
As shown in mfeatures.h, this allows users of accum.h to work without
knowing if the feature is available.
Chia-I Wu [Wed, 30 Sep 2009 04:32:22 +0000 (12:32 +0800)]
progs/egl: Make demo3 work again.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Wed, 30 Sep 2009 04:13:34 +0000 (12:13 +0800)]
progs/egl: Check EGL_MESA_screen_surface is supported in demo2.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Wed, 30 Sep 2009 04:28:01 +0000 (12:28 +0800)]
progs/egl: Fix a crash in demo1.
The variable "configs" in main() is used without initialization.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Wed, 30 Sep 2009 03:36:01 +0000 (11:36 +0800)]
st/egl: Fix a double free in drm_destroy_context.
st_destroy_context has destroyed the pipe context for us.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Wed, 30 Sep 2009 03:32:36 +0000 (11:32 +0800)]
st/egl: Fix a crash when unbinding current context.
This fixes a NULL-pointer dereference when
eglMakeCurrent(dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT)
is called.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Wed, 30 Sep 2009 03:13:16 +0000 (11:13 +0800)]
progs/egl: Replace EGL_i915 by EGL_DEFAULT_DISPLAY.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Brian Paul [Wed, 30 Sep 2009 01:05:04 +0000 (19:05 -0600)]
docs: document GLSL sqrt(0) fix
Brian Paul [Wed, 30 Sep 2009 00:59:37 +0000 (18:59 -0600)]
glsl: regenerated file
Brian Paul [Wed, 30 Sep 2009 00:57:13 +0000 (18:57 -0600)]
glsl: rewrite sqrt(x) intrinsic to handle x=0
Since sqrt() is basically implemented in terms of RSQ/RCP we'll do a
divide by zero if x=0 and wind up with unpredictable results.
Now use CMP instruction to test for x<=0 and return zero in that case.
Brian Paul [Wed, 30 Sep 2009 00:51:49 +0000 (18:51 -0600)]
glsl: add support for CMP instruction
Brian Paul [Tue, 29 Sep 2009 18:18:41 +0000 (12:18 -0600)]
docs: fixed glXQueryContext(GLX_RENDER_TYPE)
Brian Paul [Tue, 29 Sep 2009 18:17:11 +0000 (12:17 -0600)]
gallium/xlib: fix GLX_RENDER_TYPE query
Return GLX_RGBA_TYPE or GLX_COLOR_INDEX_TYPE.
Brian Paul [Tue, 29 Sep 2009 18:16:12 +0000 (12:16 -0600)]
mesa/xlib: fix GLX_RENDER_TYPE query
Return GLX_RGBA_TYPE or GLX_COLOR_INDEX_TYPE.
Brian Paul [Tue, 29 Sep 2009 16:22:32 +0000 (10:22 -0600)]
mesa: added nopfrag/nopvert options for MESA_GLSL
These options can be used to force vertex/fragment shaders to be no-op
shaders (actually, simple pass-through shaders). For debug/test purposes.
Brian Paul [Mon, 28 Sep 2009 21:26:12 +0000 (15:26 -0600)]
mesa: added _mesa_nop_vertex/fragment_program()
For debug/test purposes.
José Fonseca [Tue, 29 Sep 2009 16:26:20 +0000 (17:26 +0100)]
llvmpipe: Workaround for bug in llvm 2.5.
The combination of fptosi
and sitofp (necessary for trunc/floor/ceil/round implementation)
somehow becomes invalid code.
Skip the instruction combining pass when SSE4.1 is not available.
José Fonseca [Tue, 29 Sep 2009 16:22:39 +0000 (17:22 +0100)]
llvmpipe: First verify LLVM IR, only then run optimizing passes.
José Fonseca [Tue, 29 Sep 2009 16:21:34 +0000 (17:21 +0100)]
llvmpipe: Runtime cpu checks for lp_build_min_simple too.
José Fonseca [Tue, 29 Sep 2009 15:59:13 +0000 (16:59 +0100)]
llvmpipe: Implement non SSE4.1 versions of floor and round.
Brian Paul [Tue, 29 Sep 2009 15:58:47 +0000 (09:58 -0600)]
glx: indentation fixes
Brian Paul [Tue, 29 Sep 2009 15:46:49 +0000 (09:46 -0600)]
Merge branch 'mesa_7_6_branch'
Conflicts:
Makefile
configs/default
docs/relnotes.html
src/gallium/drivers/softpipe/sp_context.c
src/gallium/drivers/softpipe/sp_tile_cache.c
src/mesa/main/version.h
Brian Paul [Tue, 29 Sep 2009 15:36:06 +0000 (09:36 -0600)]
mesa: bump version to 7.6.1
Brian Paul [Tue, 29 Sep 2009 15:34:47 +0000 (09:34 -0600)]
docs: initial 7.6.1 release notes
Brian Paul [Tue, 29 Sep 2009 15:32:37 +0000 (09:32 -0600)]
mesa: work-around glXCopyContext() bug in _mesa_copy_texture_state()
See bug 24217.
Brian Paul [Tue, 29 Sep 2009 14:50:56 +0000 (08:50 -0600)]
softpipe: initialize the clear_flags bitvector in sp_create_tile_cache()
This silences tons of valgrind warnings in programs that don't call
glClear(), such as progs/demos/gamma.
Brian Paul [Tue, 29 Sep 2009 14:21:54 +0000 (08:21 -0600)]
softpipe: Grab a ref when the fb is set.
Nasty bug when the surface is freed and another is allocated right on
top of it. The next time we set the fb state SP thinks it's the same
surface and doesn't flush, and when the flush eventually happens the
surface belongs to a completely different texture.
(cherry picked from commit
a77226071f6814a53358a5d6caff685889d0e4ec)
Conflicts:
src/gallium/drivers/softpipe/sp_context.c
Chia-I Wu [Sun, 27 Sep 2009 08:40:43 +0000 (16:40 +0800)]
egl_xdri: Report full list of supported configs.
Call _eglConfigFromContextModesRec to convert __GLcontextModes to
_EGLConfig. Single-buffered configs are no longer skipped.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Sun, 27 Sep 2009 09:00:51 +0000 (17:00 +0800)]
egl: Add support for querying render buffer.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Sun, 27 Sep 2009 08:14:36 +0000 (16:14 +0800)]
egl: Add a function to convert __GLcontextModes to _EGLConfig.
_eglConfigFromContextModesRec is used to convert a __GLcontextModes to a
_EGLConfig. Note that the config is not validated. An invalid mode
is likely to give an invalid config.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Fri, 25 Sep 2009 15:43:49 +0000 (23:43 +0800)]
egl: Rework config lookup.
Make it similiar to how contexts and surfaces are looked up. It should
be slightly faster, and work better with multiple displays.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Fri, 25 Sep 2009 15:24:03 +0000 (23:24 +0800)]
egl: Rework configuration management.
This mainly implements the algorithms for configuration selection and
sorting, described in the spec. User errors should also be correctly
detected and reported.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Fri, 25 Sep 2009 14:54:34 +0000 (22:54 +0800)]
egl: Introduce config keys.
Config keys are almost config attributes. A valid config attribute is a
valid config key, but a valid config key may not be a valid config
attribute.
This commit does not distinguish the differences.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
José Fonseca [Tue, 29 Sep 2009 12:58:58 +0000 (13:58 +0100)]
llvmpipe: Emit SSE intrinsics based on runtime cpu capability check.
Note that llvmpipe still doesn't run on any processor yet: if you don't
have a recent processor with SSE4.1 you will still likely end up
hitting a code path for which a generic non-sse4 version is not
implemented yet.
José Fonseca [Tue, 29 Sep 2009 12:25:08 +0000 (13:25 +0100)]
util: Cleanup u_cpu_detect, build. Support X86_64 and detect SSE4.1 too.
I was waiting for the need to use this code to arise, and it finally came.
I've tested building this on Linux and Windows, both x86 and x64_64. But
it might break other platforms. Please bear with me and help me fix it.
Many thanks to Dennis Smit who submitted this, and Eric Anholt whose
work this was based on.
José Fonseca [Tue, 29 Sep 2009 12:17:36 +0000 (13:17 +0100)]
gallium: New PIPE_OS_UNIX to simplify code that is portable to all unices.
Vinson Lee [Tue, 29 Sep 2009 09:38:47 +0000 (10:38 +0100)]
i915: Fix MSVC build.
José Fonseca [Mon, 28 Sep 2009 18:44:30 +0000 (19:44 +0100)]
python: Update for surface_buffer_create change.
José Fonseca [Mon, 28 Sep 2009 18:02:34 +0000 (19:02 +0100)]
g3dvl: assert.h -> util/u_debug.h
José Fonseca [Mon, 28 Sep 2009 18:01:49 +0000 (19:01 +0100)]
g3dvl: Define PIPE_VIDEO_CODEC_UNKNOWN for failures.
gcc 4.4 seems particularly picky with int -> enum conversions.
Andre Maasikas [Mon, 28 Sep 2009 08:23:49 +0000 (11:23 +0300)]
r600: use CB_TARGET_MASK instead of CB_SHADER_MASK for setting color mask
makes blend functions work better
Signed-off-by: Dave Airlie <airlied@linux.ie>
Andre Maasikas [Mon, 28 Sep 2009 07:42:35 +0000 (10:42 +0300)]
r600: user correct alpha blend factor
Signed-off-by: Dave Airlie <airlied@linux.ie>
Andre Maasikas [Tue, 29 Sep 2009 06:46:29 +0000 (09:46 +0300)]
r600: clear position enable bit when when wpos is not used by FP
Makes doom3 alot nicer..
Jakob Bornecrantz [Mon, 28 Sep 2009 18:19:26 +0000 (11:19 -0700)]
st/xorg: Add debug for fallbacks
Jakob Bornecrantz [Sun, 27 Sep 2009 21:03:24 +0000 (14:03 -0700)]
st/xorg: Make debug printing optional
Eric Anholt [Mon, 28 Sep 2009 21:03:40 +0000 (14:03 -0700)]
meta: Fix invalid PBO access from DrawPixels when trying to just alloc.
This whole reuse of buffers (TexSubImage instead of TexImage, SubData
instead of Data) is bad for hardware drivers, but it's even worse when
we accidentally try to access the 2x2 PBO to fill the new 16x16 texture
we're creating, producing GL errors.
Fixes piglit pbo-drawpixels. Bug #14163.
Eric Anholt [Mon, 28 Sep 2009 18:42:31 +0000 (11:42 -0700)]
intel: Drop my generatemipmap code in favor of the new shared code.
Eric Anholt [Tue, 22 Sep 2009 00:13:31 +0000 (17:13 -0700)]
intel: Remove some dead metaops code.
Brian Paul [Mon, 28 Sep 2009 19:19:57 +0000 (13:19 -0600)]
docs: update news.html file with 7.5.2 and 7.6 release
Ian Romanick [Mon, 28 Sep 2009 19:03:23 +0000 (12:03 -0700)]
Merge branch 'mesa_7_6_branch'
Conflicts:
Makefile
src/mesa/main/version.h
Ian Romanick [Mon, 28 Sep 2009 19:02:39 +0000 (12:02 -0700)]
Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
Conflicts:
src/mesa/main/version.h
Ian Romanick [Mon, 28 Sep 2009 18:41:23 +0000 (11:41 -0700)]
docs: 7.5.2 md5 sums
Ian Romanick [Mon, 28 Sep 2009 18:33:52 +0000 (11:33 -0700)]
Prep for 7.5.2 release
Ian Romanick [Mon, 28 Sep 2009 18:29:25 +0000 (11:29 -0700)]
docs: 7.6 md5 sums
Ian Romanick [Mon, 28 Sep 2009 18:22:54 +0000 (11:22 -0700)]
Prep for 7.6 release
Brian Paul [Mon, 28 Sep 2009 16:03:58 +0000 (10:03 -0600)]
st/mesa: check gl_texture_object::GenerateMipmap field when allocating texmem
In guess_and_alloc_texture() use the gl_texture_object::GenerateMipmap
field as another hint as to whether to allocate space for a whole mipmap.
Brian Paul [Mon, 28 Sep 2009 16:02:20 +0000 (10:02 -0600)]
Merge branch 'mesa_7_6_branch'
Brian Paul [Mon, 28 Sep 2009 15:59:59 +0000 (09:59 -0600)]
Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
Robert Noland [Tue, 22 Sep 2009 18:49:57 +0000 (11:49 -0700)]
Fix build on non GLIBC platforms (FreeBSD at least)
Build was broken by commit
9666529b5a5be1fcde82caadc2fe2efa5ea81e49
I'm not certain that this is entirely the correct fix since the demo
from bug #23774 seemed to work before the commit that broke the build.
Signed-off-by: Robert Noland <rnoland@2hip.net>
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Mon, 28 Sep 2009 15:43:42 +0000 (09:43 -0600)]
docs: list additional 7.5.2 bug fixes