Commit Graph

26607 Commits

Author SHA1 Message Date
Chia-I Wu dd81cc885c 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>
2009-09-30 08:15:30 -06:00
Chia-I Wu fa8df0c40d progs/egl: Replace EGL_i915 by EGL_DEFAULT_DISPLAY.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-09-30 08:15:30 -06:00
Brian Paul cb0de06301 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.
2009-09-29 10:38:02 -06:00
Brian Paul c7aee65bb9 mesa: added _mesa_nop_vertex/fragment_program()
For debug/test purposes.
2009-09-29 10:38:02 -06:00
José Fonseca baddcbc522 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.
2009-09-29 17:28:15 +01:00
José Fonseca a02ecdf8c2 llvmpipe: First verify LLVM IR, only then run optimizing passes. 2009-09-29 17:28:15 +01:00
José Fonseca 754f48871c llvmpipe: Runtime cpu checks for lp_build_min_simple too. 2009-09-29 17:28:15 +01:00
José Fonseca 741c40a232 llvmpipe: Implement non SSE4.1 versions of floor and round. 2009-09-29 17:28:15 +01:00
Brian Paul 124f5875ea 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
2009-09-29 09:46:49 -06:00
Brian Paul 69a3043f41 mesa: bump version to 7.6.1 2009-09-29 09:36:06 -06:00
Brian Paul 2d400d43bf docs: initial 7.6.1 release notes 2009-09-29 09:34:47 -06:00
Brian Paul 9b5541617f mesa: work-around glXCopyContext() bug in _mesa_copy_texture_state()
See bug 24217.
2009-09-29 09:32:40 -06:00
Brian Paul 564df9dc5f 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.
2009-09-29 08:51:00 -06:00
Brian Paul fbddc75aa2 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 a77226071f)

Conflicts:
	src/gallium/drivers/softpipe/sp_context.c
2009-09-29 08:21:54 -06:00
Chia-I Wu 170bd0c882 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>
2009-09-29 08:10:48 -06:00
Chia-I Wu d845f2754b egl: Add support for querying render buffer.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-09-29 08:10:48 -06:00
Chia-I Wu 55893b9439 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>
2009-09-29 08:10:47 -06:00
Chia-I Wu 56822b0812 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>
2009-09-29 08:10:47 -06:00
Chia-I Wu 95cdd697e7 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>
2009-09-29 08:10:47 -06:00
Chia-I Wu 358c5a8fd1 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>
2009-09-29 08:10:47 -06:00
José Fonseca 7cda8ea44c 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.
2009-09-29 13:59:16 +01:00
José Fonseca a81fb2a0d2 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.
2009-09-29 13:59:16 +01:00
José Fonseca 8210abb113 gallium: New PIPE_OS_UNIX to simplify code that is portable to all unices. 2009-09-29 13:59:16 +01:00
Vinson Lee 60f3f22a52 i915: Fix MSVC build. 2009-09-29 11:10:42 +01:00
José Fonseca 57d0fcba67 python: Update for surface_buffer_create change. 2009-09-29 11:09:55 +01:00
José Fonseca bd2e36a38f g3dvl: assert.h -> util/u_debug.h 2009-09-29 11:09:55 +01:00
José Fonseca 7db33440a8 g3dvl: Define PIPE_VIDEO_CODEC_UNKNOWN for failures.
gcc 4.4 seems particularly picky with int -> enum conversions.
2009-09-29 11:09:55 +01:00
Andre Maasikas ac9c8b6359 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>
2009-09-29 19:24:35 +10:00
Andre Maasikas 7c5f3c3d8a r600: user correct alpha blend factor
Signed-off-by: Dave Airlie <airlied@linux.ie>
2009-09-29 19:24:34 +10:00
Andre Maasikas a230ad2bc4 r600: clear position enable bit when when wpos is not used by FP
Makes doom3 alot nicer..
2009-09-29 16:02:00 +08:00
Jakob Bornecrantz 3a8d525373 st/xorg: Add debug for fallbacks 2009-09-28 21:34:45 -07:00
Jakob Bornecrantz e226bf8a5d st/xorg: Make debug printing optional 2009-09-28 21:26:13 -07:00
Eric Anholt d492e7b017 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.
2009-09-28 14:12:15 -07:00
Eric Anholt e885cb48a0 intel: Drop my generatemipmap code in favor of the new shared code. 2009-09-28 14:12:15 -07:00
Eric Anholt 8b23755ce9 intel: Remove some dead metaops code. 2009-09-28 14:12:09 -07:00
Brian Paul 6829ef7460 docs: update news.html file with 7.5.2 and 7.6 release 2009-09-28 13:20:15 -06:00
Ian Romanick 41865d991f Merge branch 'mesa_7_6_branch'
Conflicts:
	Makefile
	src/mesa/main/version.h
2009-09-28 12:03:23 -07:00
Ian Romanick d39fd9f641 Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
Conflicts:
	src/mesa/main/version.h
2009-09-28 12:02:39 -07:00
Ian Romanick 18f3afbe88 docs: 7.5.2 md5 sums 2009-09-28 11:41:23 -07:00
Ian Romanick b807d49f18 Prep for 7.5.2 release 2009-09-28 11:33:52 -07:00
Ian Romanick 86cd188f94 docs: 7.6 md5 sums 2009-09-28 11:29:25 -07:00
Ian Romanick f0dc378705 Prep for 7.6 release 2009-09-28 11:22:54 -07:00
Brian Paul 05bad193f5 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.
2009-09-28 10:03:58 -06:00
Brian Paul 8fda97afb8 Merge branch 'mesa_7_6_branch' 2009-09-28 10:02:20 -06:00
Brian Paul eeb7e04da6 Merge branch 'mesa_7_5_branch' into mesa_7_6_branch 2009-09-28 09:59:59 -06:00
Robert Noland d09941c8cc Fix build on non GLIBC platforms (FreeBSD at least)
Build was broken by commit 9666529b5a

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>
2009-09-28 09:48:45 -06:00
Brian Paul fc613848e6 docs: list additional 7.5.2 bug fixes 2009-09-28 09:43:42 -06:00
Brian Paul c7d0f0b46c docs: document gallium mipmap generation fix 2009-09-28 09:38:50 -06:00
Brian Paul c7fddaf612 st/mesa: fix st_generate_mipmap() issues
The main issue is we didn't always have a gallium texture object with
enough space to store the to-be-generated mipmap levels.  When that's
the case, allocate a new gallium texture and use st_texure_finalize()
to copy images from the old texture to the new one.

We also had the baseLevel parameter to st_render_mipmap() wrong.
2009-09-28 09:37:16 -06:00
Brian Paul e3a6f57ad6 st/mesa: fix/simplify st_texture_object::lastLevel calculation
Don't compute the st_texture_object::lastLevel field based on the texture
filters.  Use the _MaxLevel value that core Mesa computes for us.
When called from the GenerateMipmap path, we'll use the lastLevel field
as-is.
2009-09-28 09:35:08 -06:00