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.
Eric Anholt [Thu, 28 Oct 2010 22:30:09 +0000 (15:30 -0700)]
i965: Upload required gen6 VS push constants even when using pull constants.
Matches pre-gen6, and fixes glsl-vs-large-uniform-array.
Eric Anholt [Thu, 28 Oct 2010 22:23:23 +0000 (15:23 -0700)]
i965: Update gen6 SF state when point state (sprite or attenuation) changes.
Eric Anholt [Wed, 27 Oct 2010 18:00:14 +0000 (11:00 -0700)]
i965: Add user clip planes support to gen6.
Fixes piglit user-clip, and compiz desktop switching when dragging a
window and using just 2 desktops. Bug #30446.
José Fonseca [Mon, 18 Oct 2010 13:24:30 +0000 (06:24 -0700)]
gallivm: Remove the EMMS opcodes.
Unnecessary now that lp_set_target_options() successful disables MMX code
emission.
José Fonseca [Mon, 25 Oct 2010 17:42:03 +0000 (18:42 +0100)]
gallivm: always enable LLVMAddInstructionCombiningPass()
José Fonseca [Thu, 28 Oct 2010 16:38:18 +0000 (17:38 +0100)]
gallium: Avoid using __doc__ in python scripts.
Vinson Lee [Thu, 28 Oct 2010 13:08:19 +0000 (06:08 -0700)]
st/mesa: Silence uninitialized variable warning.
Fixes this GCC warning.
state_tracker/st_program.c: In function 'st_print_shaders':
state_tracker/st_program.c:735: warning: 'sh' may be used uninitialized in this function
Tom Stellard [Fri, 22 Oct 2010 01:55:12 +0000 (18:55 -0700)]
r300/compiler: Use rc_get_readers_normal() for presubtract optimizations
Kenneth Graunke [Tue, 19 Oct 2010 00:28:56 +0000 (17:28 -0700)]
i965: Add bit operation support to the fragment shader backend.
Eric Anholt [Mon, 25 Oct 2010 19:52:29 +0000 (12:52 -0700)]
i965: Make FS uniforms be the actual type of the uniform at upload time.
This fixes some insanity that would otherwise be required for GLSL
1.30 bit ops or gen6 integer uniform operations in general, at the
cost of upload-time pain. Given that we only have that pain because
mesa's mangling our integer uniforms to be floats, this something that
should be fixed outside of the shader codegen.
Ian Romanick [Wed, 27 Oct 2010 20:45:29 +0000 (13:45 -0700)]
docs: add GL_EXT_separate_shader_objects to release notes
Ian Romanick [Wed, 13 Oct 2010 21:00:56 +0000 (14:00 -0700)]
intel: Enable GL_EXT_separate_shader_objects in Intel drivers
Ian Romanick [Wed, 13 Oct 2010 21:00:24 +0000 (14:00 -0700)]
swrast: Enable GL_EXT_separate_shader_objects in software paths
Ian Romanick [Wed, 13 Oct 2010 20:58:44 +0000 (13:58 -0700)]
Track separate programs for each stage
The assumption is that all stages are the same program or that
varyings are passed between stages using built-in varyings.
Ian Romanick [Mon, 11 Oct 2010 23:07:08 +0000 (16:07 -0700)]
mesa: Track an ActiveProgram distinct from CurrentProgram
ActiveProgram is the GL_EXT_separate_shader_objects state variable
used for glUniform calls. glUseProgram also sets this.
Ian Romanick [Wed, 13 Oct 2010 20:54:13 +0000 (13:54 -0700)]
mesa: Add display list support for GL_EXT_separate_shader_objects functions
Ian Romanick [Mon, 11 Oct 2010 22:50:04 +0000 (15:50 -0700)]
mesa: Skeletal support for GL_EXT_separate_shader_objects
Really just filling in the entry points. None of them do anything
other than validate their inputs.
Ian Romanick [Mon, 11 Oct 2010 22:09:41 +0000 (15:09 -0700)]
mesa: Add infrastructure to track GL_EXT_separate_shader_objects
Ian Romanick [Mon, 11 Oct 2010 22:07:43 +0000 (15:07 -0700)]
glapi: Commit files changed by previous commit
Ian Romanick [Mon, 11 Oct 2010 22:04:59 +0000 (15:04 -0700)]
glapi: Add GL_EXT_separate_shader_objects
Kenneth Graunke [Mon, 25 Oct 2010 20:52:58 +0000 (13:52 -0700)]
Fix build on systems where "python" is python 3.
First, it changes autoconf to use a "python2" binary when available,
rather than plain "python" (which is ambiguous). Secondly, it changes
the Makefiles to use $(PYTHON) $(PYTHON_FLAGS) rather than calling
python directly.
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: Matthew William Cox <matt@mattcox.ca>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Marek Olšák [Wed, 27 Oct 2010 19:13:41 +0000 (21:13 +0200)]
r300g: add a default channel ordering of texture border for unhandled formats
It should fix the texture border for compressed textures.
Broken since
8449a4772a73f613d9425b691cffba6a261df813.
Alex Deucher [Wed, 27 Oct 2010 18:30:50 +0000 (14:30 -0400)]
r600c: add missing radeon_prepare_render() call on evergreen
Alex Deucher [Wed, 27 Oct 2010 17:53:29 +0000 (13:53 -0400)]
r100: revalidate after radeon_update_renderbuffers
This is a port of
603741a86df0e43c0b52e8c202a35c7fe2fc1d9c
to r100.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Vinson Lee [Wed, 27 Oct 2010 17:16:18 +0000 (10:16 -0700)]
swrast: Print out format on unexpected failure in _swrast_ReadPixels.
Vinson Lee [Wed, 27 Oct 2010 16:51:11 +0000 (09:51 -0700)]
egl: Remove unnecessary headers.
Vinson Lee [Wed, 27 Oct 2010 16:38:33 +0000 (09:38 -0700)]
mesa: Remove unnecessary header.
Vinson Lee [Wed, 27 Oct 2010 16:33:13 +0000 (09:33 -0700)]
st/mesa: Remove unnecessary header.
Vinson Lee [Wed, 27 Oct 2010 16:26:27 +0000 (09:26 -0700)]
r600g: Silence uninitialized variable warnings.
Vinson Lee [Wed, 27 Oct 2010 16:09:47 +0000 (09:09 -0700)]
mesa: Remove unnecessary headers.
Vinson Lee [Wed, 27 Oct 2010 16:02:00 +0000 (09:02 -0700)]
r300g: Silence uninitialized variable warning.
Fixes this GCC warning.
r300_state_derived.c: In function 'r300_update_derived_state':
r300_state_derived.c:593: warning: 'r' may be used uninitialized in this function
r300_state_derived.c:593: note: 'r' was declared here
Tilman Sauerbeck [Sun, 24 Oct 2010 12:52:14 +0000 (14:52 +0200)]
r600g: Destroy the blitter.
This fix got lost in the state rework merge.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Tilman Sauerbeck [Sat, 23 Oct 2010 17:05:26 +0000 (19:05 +0200)]
r600g: In radeon_bo(), call LIST_INITHEAD early.
radeon_bo_destroy() will want to read the list field. Without this patch,
we'd end up evaluating the list pointers before they have been properly
set up when we destroyed the newly created bo if it cannot be mapped.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Chia-I Wu [Mon, 25 Oct 2010 20:25:45 +0000 (04:25 +0800)]
mesa: Remove unnecessary glapitable.h includes.
With
07b85457d95bcc70588584e9380c51cd63aa3a2b, glapitable.h is included
by core mesa only to know the size of _glapi_table. It is not necessary
as the same info is given by _gloffset_COUNT.
This change makes _glapi_table opaque to core mesa. All operations on
it are supposed to go through one of the SET/GET/CALL macros.
Chia-I Wu [Mon, 25 Oct 2010 16:35:35 +0000 (00:35 +0800)]
vbo: Use CALL_* macros.
Use macros to access _glapi_table consistently. There is no functional
change.
Chia-I Wu [Mon, 25 Oct 2010 16:16:49 +0000 (00:16 +0800)]
glapi: Merge glapioffsets.h into glapidispath.h.
Move defines in glapioffsets.h to glapidispatch.h. Rename
_gloffset_FIRST_DYNAMIC to _gloffset_COUNT, which is equal to the number
of entries in _glapi_table.
Consistently use SET_by_offset, GET_by_offset, CALL_by_offset, and
_gloffset_* to recursively define all SET/GET/CALL macros.
Chia-I Wu [Mon, 25 Oct 2010 14:27:17 +0000 (22:27 +0800)]
glapi: Do not use glapioffsets.h.
glapioffsets.h exists for the same reason as glapidispatch.h does. It
is of no use to glapi. This commit also drops the use of glapioffsets.h
in glx as glx is considered an extension to glapi when it comes to
defining public GL entries.
Brian Paul [Wed, 27 Oct 2010 02:30:40 +0000 (20:30 -0600)]
mesa: rename function to _mesa_is_format_integer_color()
Be a bit more clear about its operation.
Brian Paul [Wed, 27 Oct 2010 02:23:57 +0000 (20:23 -0600)]
mesa: fix bug in _mesa_is_format_integer()
We only want to return true if it's an integer _color_ format, not a
depth and/or stencil format.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31143
Chia-I Wu [Mon, 25 Oct 2010 19:42:09 +0000 (03:42 +0800)]
glapi: Move glapidispatch.h to core mesa.
It is a core mesa header, not a glapi header.
Chia-I Wu [Mon, 25 Oct 2010 14:05:20 +0000 (22:05 +0800)]
glapi: Do not use glapidispatch.h.
glapidispatch.h exists so that core mesa (libmesa.a) can be built for
DRI drivers or for non-DRI drivers as a compile time decision (whether
IN_DRI_DRIVER is defined). It is of no use to glapi. This commit also
drops the use of glapidispatch.h in glx and libgl-xlib as they are
considered extensions to glapi when it comes to defining public GL
entries.
Brian Paul [Wed, 27 Oct 2010 00:04:28 +0000 (18:04 -0600)]
mesa: remove the unused _mesa_is_fragment_shader_active() function
This reverts commit
013d5ffeec3af5665c81c6a7a8370d21699ca609.
Brian Paul [Wed, 27 Oct 2010 00:01:50 +0000 (18:01 -0600)]
mesa: call _mesa_valid_to_render() in glDrawPixels, glCopyPixels, glBitmap
This lets us simplify and consolidate some state checking code.
This implements the GL_INVALID_OPERATION check for all drawing commands
required by GL_EXT_texture_integer.
Brian Paul [Wed, 27 Oct 2010 00:01:06 +0000 (18:01 -0600)]
mesa: do integer FB / shader validation check in _mesa_valid_to_render()
Eric Anholt [Tue, 26 Oct 2010 21:49:38 +0000 (14:49 -0700)]
i965: Disable register spilling on gen6 until it's fixed.
Avoids GPU hang on glsl-fs-convolution-1.
Eric Anholt [Tue, 26 Oct 2010 21:36:18 +0000 (14:36 -0700)]
i965: Fix VS URB entry sizing.
I'm trying to clamp to a minimum of 1 URB row, not a maximum of 1.
Fixes:
glsl-kwin-blur
glsl-max-varying
glsl-routing
Eric Anholt [Tue, 26 Oct 2010 20:46:09 +0000 (13:46 -0700)]
i965: Drop the eot argument to read messages, which can never be set.
Eric Anholt [Tue, 26 Oct 2010 20:17:54 +0000 (13:17 -0700)]
i965: Add support for constant buffer loads on gen6.
Fixes glsl-fs-uniform-array-5.
Eric Anholt [Tue, 26 Oct 2010 20:15:01 +0000 (13:15 -0700)]
i965: Set up the constant buffer on gen6 when it's needed.
This was slightly confused because gen6_wm_constants does the push
constant buffer, while brw_wm_constants does pull constants.
Eric Anholt [Tue, 26 Oct 2010 19:19:46 +0000 (12:19 -0700)]
i965: Fix typo in comment about state flags.
Eric Anholt [Tue, 26 Oct 2010 18:23:27 +0000 (11:23 -0700)]
i965: Handle new ir_unop_round_even in channel expression splitting.