OSDN Git Service
Chia-I Wu [Wed, 3 Nov 2010 08:07:23 +0000 (16:07 +0800)]
st/egl: Remove flush_frontbuffer and swap_buffers.
They are deprecated by native_surface::present and there is no user of
them.
Chia-I Wu [Wed, 3 Nov 2010 08:00:47 +0000 (16:00 +0800)]
d3d1x: Use native_surface::present.
Replace native_surface::flush_frontbuffer and
native_surface::swap_buffers calls by native_surface::present calls.
Chia-I Wu [Wed, 3 Nov 2010 07:57:06 +0000 (15:57 +0800)]
st/egl: Use native_surface::present callback.
Replace native_surface::flush_frontbuffer and
native_surface::swap_buffers calls by native_surface::present calls.
Chia-I Wu [Wed, 3 Nov 2010 07:22:36 +0000 (15:22 +0800)]
st/egl: Add native_surface::present callback.
The callback presents the given attachment to the native engine. It
allows the swap behavior and interval to be controlled. It will replace
native_surface::flush_frontbuffer and native_surface::swap_buffers
shortly.
Chia-I Wu [Tue, 2 Nov 2010 17:11:54 +0000 (01:11 +0800)]
egl: Set up the pthread key even TLS is used.
We have to rely on the pthread key destructor to free the current thread
info when a thread exits.
Vinson Lee [Wed, 3 Nov 2010 00:13:44 +0000 (17:13 -0700)]
st/vega: Remove unnecessary headers.
Brian Paul [Tue, 2 Nov 2010 23:40:58 +0000 (17:40 -0600)]
mesa: silence new warnings in texobj.c
Silences warning such as:
main/texobj.c:442:40: warning: ISO C99 requires rest arguments to be used
main/texobj.c:498:58: warning: ISO C99 requires rest arguments to be used
Vinson Lee [Tue, 2 Nov 2010 23:23:30 +0000 (16:23 -0700)]
savage: Remove unnecessary header.
Eric Anholt [Mon, 20 Sep 2010 21:10:20 +0000 (14:10 -0700)]
intel: For batch, use GTT mapping instead of writing to a malloc and copying.
No measurable performance difference on cairo-perf-trace, but
simplifies the code and should have cache benefit in general.
Eric Anholt [Tue, 2 Nov 2010 20:40:39 +0000 (13:40 -0700)]
mesa: Don't compute an unused texture completeness debug string.
This showed up at about 1% on cairo-gl firefox-talos-gfx, where
glClear() is called while a texture is incomplete.
Tilman Sauerbeck [Sun, 31 Oct 2010 14:55:51 +0000 (15:55 +0100)]
st/mesa: Reset the index buffer before destroying the pipe context.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Tilman Sauerbeck [Sun, 31 Oct 2010 14:51:55 +0000 (15:51 +0100)]
r600g: Destroy the winsys in r600_destroy_screen().
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Tilman Sauerbeck [Sun, 31 Oct 2010 11:16:25 +0000 (12:16 +0100)]
r600g: Fixed two memory leaks in winsys.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Tilman Sauerbeck [Sun, 31 Oct 2010 11:16:03 +0000 (12:16 +0100)]
r600g: Delete custom_dsa_flush on shutdown.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Tilman Sauerbeck [Sat, 30 Oct 2010 15:32:24 +0000 (17:32 +0200)]
r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Tilman Sauerbeck [Fri, 29 Oct 2010 17:30:57 +0000 (19:30 +0200)]
r600g: Made radeon_bo::map_count signed.
That way assert(map_count >= 0) can actually fail when we screwed up.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Tilman Sauerbeck [Fri, 29 Oct 2010 19:34:26 +0000 (21:34 +0200)]
r600g: Fixed unmap condition in radeon_bo_pb_destroy().
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Tilman Sauerbeck [Fri, 29 Oct 2010 17:29:54 +0000 (19:29 +0200)]
r600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().
This ensures that we increase bo->map_count when radeon_bo_map_internal()
returns successfully, which in turn makes sure we don't decrement
bo->map_count below zero later.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Tilman Sauerbeck [Thu, 28 Oct 2010 19:27:37 +0000 (21:27 +0200)]
r600g: Removed unused 'ptr' argument from radeon_bo().
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Jakob Bornecrantz [Tue, 2 Nov 2010 18:17:21 +0000 (18:17 +0000)]
graw: Tidy graw xlib scons file a bit
Brian Paul [Tue, 2 Nov 2010 17:53:14 +0000 (11:53 -0600)]
llvmpipe: add a cast
Brian Paul [Tue, 2 Nov 2010 17:49:10 +0000 (11:49 -0600)]
llvmpipe: assign context's frag shader pointer before using it
The call to draw_bind_fragment_shader() was using the old fragment
shader. This bug would have really only effected the draw module's
use of the fragment shader in the wide point stage.
Chad Versace [Mon, 1 Nov 2010 21:23:53 +0000 (14:23 -0700)]
mesa: Fix C++ includes in sampler.cpp
Some C++ header files were included in an extern "C" block. When building with
Clang, this caused the build to fail due to namespace errors. (GCC did not
report any errors.)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Keith Whitwell [Tue, 2 Nov 2010 16:29:10 +0000 (16:29 +0000)]
st/mesa: unbind constant buffer when not in use
Important as more constant buffers per shader start to get used.
Fix up r600 (tested) and nv50 (untested) to cope with this. Drivers
previously didn't see unbinds of constant buffers often or ever, so
this isn't always dealt with cleanly.
For r600 just return and keep the reference. Will try to do better in
a followup change.
Keith Whitwell [Tue, 2 Nov 2010 12:05:46 +0000 (12:05 +0000)]
llvmpipe: guard against NULL task->query pointer
This doesn't seem like it should be possible, but some test suites
manage to hit this case. Avoid crashing release builds under those
circumstances.
Keith Whitwell [Tue, 2 Nov 2010 14:20:20 +0000 (14:20 +0000)]
llvmpipe: avoid generating tri_16 for tris which extend past tile bounds
Don't trim triangle bounding box to scissor/draw-region until after
the logic for emitting tri_16. Don't generate tri_16 commands for
triangles with untrimmed bounding boxes outside the current tile.
This is important as the tri-16 itself can extend past tile bounds and
we don't want to add code to it to check against tile bounds (slow) or
restrict it to locations within a tile (pessimistic).
Brian Paul [Tue, 2 Nov 2010 15:56:04 +0000 (09:56 -0600)]
mesa: fix aux/accum comment and error message mixups
Brian Paul [Tue, 2 Nov 2010 15:40:55 +0000 (09:40 -0600)]
mesa: remove always-false conditional in check_compatible()
The two gl_config pointers can never be equal.
Brian Paul [Tue, 2 Nov 2010 15:30:47 +0000 (09:30 -0600)]
dri/util: add a bunch of comments
Brian Paul [Tue, 2 Nov 2010 15:05:16 +0000 (09:05 -0600)]
mesa: move the gl_config struct declaration
It was in the middle of the lighting-related structures before.
Also add some info about field sizes in this structure.
Brian Paul [Tue, 2 Nov 2010 14:22:40 +0000 (08:22 -0600)]
mesa: use GLubyte for edge flag arrays
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31310
José Fonseca [Tue, 2 Nov 2010 14:20:12 +0000 (14:20 +0000)]
scons: Propagate installation targets.
Fixes libgl-xlib target.
José Fonseca [Tue, 2 Nov 2010 13:49:35 +0000 (13:49 +0000)]
scons: i915 can't build on MSVC either.
I thought I had singled it out before, but apparently not.
José Fonseca [Tue, 2 Nov 2010 12:35:23 +0000 (12:35 +0000)]
scons: Add aliases for several pipe drivers.
José Fonseca [Tue, 2 Nov 2010 12:34:52 +0000 (12:34 +0000)]
r600g: List recently added files in SConscript.
Zhenyu Wang [Tue, 2 Nov 2010 03:08:58 +0000 (11:08 +0800)]
i965: refresh wm push constant also for BRW_NEW_FRAMENT_PROGRAM on gen6
Fix compiz crash.
https://bugs.freedesktop.org/show_bug.cgi?id=31124
Chia-I Wu [Tue, 26 Oct 2010 03:31:37 +0000 (11:31 +0800)]
mesa: Allow contexts of different APIs to coexist.
This effectively redoes
1741ddb747ca0be284315adb4b6fe67ddf292d03 in a
way that allows contexts of different APIs to coexist.
First, the changes to the remap table are reverted. The remap table
(driDispatchRemapTable) is always initialized in the same way regardless
of the context API.
es_generator.py is updated to use a local remap table, whose sole
purpose is to help initialize its dispatch table. The local remap table
and the global one are always different, as they use different
glapidispatch.h. But the dispatch tables initialized by both remap
tables are always compatible with glapi (libGL.so).
Finally, the semantics of one_time_init are changed to per-api one-time
initialization.
Chia-I Wu [Tue, 26 Oct 2010 08:16:14 +0000 (16:16 +0800)]
mesa: Select FEATURE_remap_table when multiple APIs are enabled.
Core mesa should query glapi for the positions of the functions in
_glapi_table when multiple APIs are supported. It does not know which
glapitable.h glapi used.
Tom Stellard [Tue, 2 Nov 2010 05:06:20 +0000 (22:06 -0700)]
r300/compiler: Don't track readers into an IF block.
This makes rc_get_readers_normal() more conservative than it needs to be,
but it fixes some incorrect behavior in the optimization passes.
Chia-I Wu [Mon, 1 Nov 2010 17:23:13 +0000 (01:23 +0800)]
egl: Rework _eglGetSearchPath.
So that the directory part of EGL_DRIVER, if exists, is prepended to the
search path. This commit also adds a sanity check to _eglLog.
José Fonseca [Mon, 1 Nov 2010 15:27:34 +0000 (15:27 +0000)]
scons: Disable python state tracker when swig is not present.
José Fonseca [Mon, 1 Nov 2010 14:37:18 +0000 (14:37 +0000)]
scons: Restore x11 tool behavior for backwards compatability.
José Fonseca [Mon, 1 Nov 2010 14:24:08 +0000 (14:24 +0000)]
scons: Some pipe drivers are not portable for MSVC
José Fonseca [Mon, 1 Nov 2010 13:56:16 +0000 (13:56 +0000)]
scons: Fix MinGW cross-compilation.
José Fonseca [Mon, 1 Nov 2010 13:30:22 +0000 (13:30 +0000)]
scons: Revamp how to specify targets to build.
Use scons target and dependency system instead of ad-hoc options.
Now is simply a matter of naming what to build. For example:
scons libgl-xlib
scons libgl-gdi
scons graw-progs
scons llvmpipe
and so on. And there is also the possibility of scepcified subdirs, e.g.
scons src/gallium/drivers
If nothing is specified then everything will be build.
There might be some rough corners over the next days. Please bare with me.
Francisco Jerez [Sun, 31 Oct 2010 21:05:16 +0000 (22:05 +0100)]
dri/nouveau: Re-emit the BO state when coming back from a software fallback.
Francisco Jerez [Sun, 31 Oct 2010 21:07:26 +0000 (22:07 +0100)]
dri/nouveau: Validate the framebuffer state on read buffer changes.
Francisco Jerez [Sun, 31 Oct 2010 18:00:31 +0000 (19:00 +0100)]
dri/nouveau: Fix type promotion issue on 32bit platforms.
Fixes some VTX protection errors introduced by
e89af209261.
Benjamin Franzke [Sun, 31 Oct 2010 15:01:52 +0000 (16:01 +0100)]
st/egl image: multiply drm buf-stride with blocksize
[olv: formatted for 80-column wrapping]
Chia-I Wu [Sun, 31 Oct 2010 13:14:20 +0000 (21:14 +0800)]
targets/egl: Fix a warning with --disable-opengl build.
API_DEFINES is the defines for libmesagallium.a. Append it to
egl_CPPFLAGS only when st_GL.so, which uses libmesagallium.a, is built.
Chia-I Wu [Sun, 31 Oct 2010 13:01:54 +0000 (21:01 +0800)]
autoconf: Tidy configure output for EGL.
Prefix EGL driver names by "egl_". Make it clear that EGL_CLIENT_APIS
is only used by egl_gallium.
Tom Stellard [Fri, 29 Oct 2010 22:59:43 +0000 (15:59 -0700)]
r300/compiler: Don't clobber presubtract sources during optimizations
https://bugs.freedesktop.org/show_bug.cgi?id=28294
Francisco Jerez [Fri, 29 Oct 2010 16:16:08 +0000 (18:16 +0200)]
dri/nouveau: Pipeline glTexSubImage texture transfers.
Francisco Jerez [Sat, 30 Oct 2010 23:37:47 +0000 (01:37 +0200)]
dri/nouveau: Keep small DYNAMIC_DRAW vertex buffers in system ram.
Francisco Jerez [Fri, 29 Oct 2010 19:36:42 +0000 (21:36 +0200)]
dri/nouveau: Optimize VBO binding re-emission.
Francisco Jerez [Fri, 29 Oct 2010 20:31:34 +0000 (22:31 +0200)]
dri/nouveau: Split out array handling to its own file.
Francisco Jerez [Fri, 29 Oct 2010 19:29:15 +0000 (21:29 +0200)]
dri/nouveau: Use a macro to iterate over the bound vertex attributes.
Francisco Jerez [Fri, 29 Oct 2010 19:14:49 +0000 (21:14 +0200)]
dri/nouveau: Avoid recursion in nouveau_bo_context_reset().
Francisco Jerez [Fri, 29 Oct 2010 19:56:50 +0000 (21:56 +0200)]
dri/nouveau: Split out the scratch helpers to a separate file.
Francisco Jerez [Fri, 29 Oct 2010 19:12:01 +0000 (21:12 +0200)]
dri/nouveau: Tell the vbo module we want real hardware BOs.
Francisco Jerez [Sat, 30 Oct 2010 23:30:55 +0000 (01:30 +0200)]
dri/nouveau: Honor the access flags in nouveau_bufferobj_map_range.
Francisco Jerez [Mon, 25 Oct 2010 19:35:54 +0000 (21:35 +0200)]
dri/nouveau: Call _mesa_update_state() after framebuffer invalidation.
Previously nouveau_state_emit() was being called directly, sometimes
that doesn't work because it doesn't update the derived GL context.
Francisco Jerez [Fri, 29 Oct 2010 19:53:56 +0000 (21:53 +0200)]
dri/nv25: Bind a hierarchical depth buffer.
Francisco Jerez [Fri, 29 Oct 2010 19:44:54 +0000 (21:44 +0200)]
dri/nouveau: Don't assert(0) on compressed internal formats.
Francisco Jerez [Sat, 23 Oct 2010 01:01:06 +0000 (03:01 +0200)]
dri/nv20: Clear with the 3D engine.
Chia-I Wu [Sat, 30 Oct 2010 17:13:27 +0000 (01:13 +0800)]
st/mesa: Unreference the sampler view in st_bind_surface.
Without this, update_textures may not pick up the new pipe_resource.
It is actually update_textures that should check
stObj->sampler_view->texture != stObj->pt, but let's follow st_TexImage
and others for now.
Brian Paul [Sat, 30 Oct 2010 16:10:52 +0000 (10:10 -0600)]
osmesa: fix renderbuffer memleak in OSMesaMakeCurrent()
Fixes fd.o bug 31128.
Chia-I Wu [Sat, 30 Oct 2010 06:26:01 +0000 (14:26 +0800)]
autoconf: st/vega requires --enable-openvg.
Make it a warning for now to smooth the transition.
Kenneth Graunke [Fri, 29 Oct 2010 18:42:22 +0000 (11:42 -0700)]
glsl: Remove unused ARRAY_SIZE macro.
It's also equivalent to Elements(...) which is already used elsewhere.
Eric Anholt [Fri, 29 Oct 2010 18:28:38 +0000 (11:28 -0700)]
mesa: Make metaops use program refcounts instead of names.
Fixes failure on restoring state when the program was active but
deleted, and the name no longer exists.
Bug #31194
Brian Paul [Fri, 29 Oct 2010 14:13:31 +0000 (08:13 -0600)]
mesa: remove dead code
José Fonseca [Fri, 29 Oct 2010 12:05:31 +0000 (13:05 +0100)]
mesa: Fix windows build (uint -> GLuint).
Chia-I Wu [Fri, 29 Oct 2010 04:59:45 +0000 (12:59 +0800)]
targets: Add missing quotes to Makefile.xorg.
Fix
$ make CC="ccache gcc"
Chia-I Wu [Fri, 29 Oct 2010 04:45:04 +0000 (12:45 +0800)]
Merge branch 'glapi-reorg'
Conflicts:
src/mapi/glapi/glapi_sparc.S
src/mapi/glapi/glapi_x86.S
src/mapi/glapi/glapidispatch.h
src/mapi/glapi/glapioffsets.h
src/mapi/glapi/glprocs.h
Chia-I Wu [Fri, 29 Oct 2010 04:34:44 +0000 (12:34 +0800)]
autoconf: Update configuration info.
Output API info first. Move GLU/GLw/GLUT and EGL near driver info.
Chia-I Wu [Thu, 28 Oct 2010 09:25:07 +0000 (17:25 +0800)]
docs: Update egl and openvg docs.
Chia-I Wu [Wed, 27 Oct 2010 08:14:27 +0000 (16:14 +0800)]
autoconf: Better client API selection.
Make autoconf decide the client APIs enabled first. Then when OpenGL
and OpenGL ES are disabled, there is no need to build src/mesa/; when
OpenGL is disabled, no $mesa_driver should be built. Finally, add
--enable-openvg to enable OpenVG.
With these changes, an OpenVG only build can be configured with
$ ./configure --disable-opengl --enable-openvg
src/mesa, src/glsl, and src/glx will be skipped, which saves a great
deal of compilation time.
And an OpenGL ES only build can be configured with
$ ./configure --disable-opengl --enable-gles-overlay
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: pixel transfer ops do not apply to integer-valued textures
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: additional integer formats in _mesa_bytes_per_pixel()
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: add const qualifier to _mesa_is_legal_format_and_type()
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: fix integer cases in _mesa_is_legal_format_and_type()
Some integer formats work with some packed datatypes.
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: fix incorrect type in _mesa_texstore_rgba_int16()
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: remove obsolete comment
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: add extension table entry for GL_EXT_gpu_shader4
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: clean-up array element code
Remove unnecessary GLAPIENTRY keywords, update comments, re-indent.
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: glArrayElement support for integer-valued arrays
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: state/queries for GL_MIN/MAX_PROGRAM_TEXEL_OFFSET_EXT
Brian Paul [Fri, 29 Oct 2010 03:17:42 +0000 (21:17 -0600)]
mesa: consolidate glVertex/Color/etcPointer() code
This removes a bunch of similar error checking code in all the vertex
pointer functions and puts nearly all the error checking in update_array().
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
mesa: add gl_client_array::Integer field and related vertex array state code
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
mesa: implement integer-valued vertex attribute functions
The integers still get converted to floats. That'll have to change someday.
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
mesa: add new GLvertexformat entries for integer-valued attributes
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
mesa: plug in more GL_EXT_gpu_shader4 functions
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
mesa: add glGetUniformuiv(), plug in uint glUniform funcs
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
mesa: plug in stubs for glBindFragDataLocation(), glGetFragDataLocation()
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
glapi: regenerated API files
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
glapi: include EXT_gpu_shader4.xml
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
glapi: xml spec file for GL_EXT_gpu_shader4
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
vbo: re-indent file
Brian Paul [Fri, 29 Oct 2010 03:17:41 +0000 (21:17 -0600)]
mesa: remove 'normalized' parameter from _mesa_VertexAttribIPointer()
Eric Anholt [Thu, 28 Oct 2010 23:09:41 +0000 (16:09 -0700)]
i965: Update the gen6 stencil ref state when stencil state changes.
Fixes 6 piglit tests about stencil operations.