José Fonseca [Sun, 2 May 2010 20:36:12 +0000 (21:36 +0100)]
llvmpipe: Fix alpha blending for formats without alpha channel.
Don't use the dst alpha channel from the swizzled tile when it does not
exist in the true format.
Xavier Chantry [Sun, 2 May 2010 21:25:43 +0000 (23:25 +0200)]
Update drisw state tracker to use new API aware context create
Even though swrast defines its own __DriverAPIRec it still shares the
driCreateNewContext() implementation from dri_util.c. So the CreateContext
prototypes have to match in the two __DriverAPIRecs.
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Vinson Lee [Sun, 2 May 2010 20:34:50 +0000 (13:34 -0700)]
svga: Include svga_surface.h in svga_screen.c.
Fixes svga_screen_init_surface_functions implicit declaration warning.
Vinson Lee [Sun, 2 May 2010 20:30:40 +0000 (13:30 -0700)]
r300g: Remove unnecessary header.
Xavier Chantry [Sun, 2 May 2010 20:27:25 +0000 (16:27 -0400)]
Update dri state tracker to use new API aware context create
Vinson Lee [Sun, 2 May 2010 20:21:42 +0000 (13:21 -0700)]
mesa: Include api_exec.h in dlist.c.
Fixes _mesa_alloc_dispatch_table implicit declaration warning.
Marek Olšák [Sun, 2 May 2010 15:31:06 +0000 (17:31 +0200)]
r300g: do not validate buffers in check_cs
It's already done in r300_emit_buffer_validate.
This also fixes Total Annihilation 3D on debug builds at least.
Marek Olšák [Sun, 2 May 2010 15:19:03 +0000 (17:19 +0200)]
r300g: fix surface_copy for compressed formats
No accelerated blitting for these, it's too messy.
Kristian Høgsberg [Sun, 2 May 2010 18:52:39 +0000 (14:52 -0400)]
configure.ac: Fix test for whether to build src/gles
Kristian Høgsberg [Sun, 2 May 2010 18:19:54 +0000 (14:19 -0400)]
mesa: Include mfeatures.h before testing feature macros
Kristian Høgsberg [Sun, 2 May 2010 18:09:52 +0000 (14:09 -0400)]
mesa: Only compile ES files when ES1 or ES2 are selected
This still requieres manual generation of the es1 and es2 glapis and is
disabled by default.
José Fonseca [Sun, 2 May 2010 15:10:40 +0000 (16:10 +0100)]
mesa: #ifdef out more remap_table related code when disabled.
Seems to get everything building again here.
José Fonseca [Sun, 2 May 2010 12:04:08 +0000 (13:04 +0100)]
retrace: Add sampler_view_destroy
José Fonseca [Sun, 2 May 2010 12:03:37 +0000 (13:03 +0100)]
trace: Fix typo in method name.
Kristian Høgsberg [Sun, 2 May 2010 14:17:07 +0000 (10:17 -0400)]
Merge branch 'gles2-2'
Conflicts:
src/mesa/drivers/dri/common/dri_util.h
Kristian Høgsberg [Sun, 2 May 2010 14:14:53 +0000 (10:14 -0400)]
Hook in install rules for es1 and es2
Kristian Høgsberg [Sun, 2 May 2010 13:51:13 +0000 (09:51 -0400)]
Add glesv2.pc and glesv1_cm.pc pkg-config files for ES 1 and 2
Kristian Høgsberg [Sun, 2 May 2010 13:27:51 +0000 (09:27 -0400)]
st/mesa: Create context for API_OPENGL as first priority
Marek Olšák [Sun, 2 May 2010 11:27:57 +0000 (13:27 +0200)]
r300g: always set the pitch of the first miplevel in the tiling flags
This further reduces the number of DRM calls and flushes.
Marek Olšák [Sun, 2 May 2010 05:06:35 +0000 (07:06 +0200)]
Revert "r300g: disable point sprites (again)"
This reverts commit
3e0f1719d411b34f77fd2a053ecf83b43bb836ca.
Marek Olšák [Sun, 2 May 2010 04:24:55 +0000 (06:24 +0200)]
r300g: merge VS output mapping state (VAP) to rasterizer block state (RS)
These two should be tied together because what's set in VAP or stuffed in GA
should be rasterized in RS. Not doing so causes a hardlock.
The reason for the merge is that if stuffed texture coordinates (e.g. point
sprite texgen) happen to occupy the texcoord slot dedicated to fog or wpos,
the two must be relocated to other free slots, which needs remapping the vertex
shader outputs.
The rasterizer code is now literally a sequence read-rasterize-write.
Marek Olšák [Sun, 2 May 2010 02:21:21 +0000 (04:21 +0200)]
r300g: inline update_derived_shader_state
Marek Olšák [Sat, 1 May 2010 23:55:44 +0000 (01:55 +0200)]
r300g: fix segfault when resizing a DRI2 framebuffer
Resetting tiling flags might happen after a texture is destroyed...
Looking at the kernel sources, we don't actually need to reset the tiling
flags.
Marek Olšák [Sat, 1 May 2010 23:48:57 +0000 (01:48 +0200)]
r300g: cache tiling flags to reduce the number of DRM calls
Vinson Lee [Sun, 2 May 2010 08:03:59 +0000 (01:03 -0700)]
mesa: s/sprintf/_mesa_snprintf/
Vinson Lee [Sun, 2 May 2010 07:21:04 +0000 (00:21 -0700)]
i965g: s/sprintf/util_snprintf/
Vinson Lee [Sun, 2 May 2010 05:01:28 +0000 (22:01 -0700)]
glsl: s/sprintf/_mesa_snprintf/
Vinson Lee [Sat, 1 May 2010 22:34:47 +0000 (15:34 -0700)]
glapi: s/strcpy/strncpy/
Vinson Lee [Sat, 1 May 2010 22:12:45 +0000 (15:12 -0700)]
llvmpipe: Remove unused variable.
Vinson Lee [Sat, 1 May 2010 22:07:45 +0000 (15:07 -0700)]
progs/tests: Remove meaningless const qualifiers.
Jakob Bornecrantz [Sat, 1 May 2010 10:29:20 +0000 (11:29 +0100)]
swrastg: Use trace
Vinson Lee [Sat, 1 May 2010 08:28:06 +0000 (01:28 -0700)]
progs/demos: Remove meaningless const qualifier in vao_demo.c.
Christoph Bumiller [Fri, 30 Apr 2010 20:57:23 +0000 (22:57 +0200)]
nv50: raise constant buffers size to maximum
Removed the param heaps, haven't been using them for a long
time now.
Christoph Bumiller [Thu, 29 Apr 2010 21:15:05 +0000 (23:15 +0200)]
nv50: relax restriction on surface_copy format equality a bit
Christoph Bumiller [Thu, 29 Apr 2010 20:48:00 +0000 (22:48 +0200)]
nv50: don't segfault on OPCODE_END for empty programs
Brian Paul [Fri, 30 Apr 2010 19:54:31 +0000 (13:54 -0600)]
llvmpipe: fix out-of-bounds texture sampling
If we're using a wrap mode in which border color sampling is possible
it means that texcoords may be outside of the texture image bounds.
Fetching the texel may result in a segfault.
Use the 'use_border' variable to catch such texcoords and replace
the texel offset with zero (which will be in bounds).
Fixes segfault in Lightsmark demo, fd.o bug 27877.
Brian Paul [Fri, 30 Apr 2010 19:53:54 +0000 (13:53 -0600)]
llvmpipe: added lp_build_sample_nop() for debugging
Kristian Høgsberg [Sat, 6 Mar 2010 00:01:43 +0000 (19:01 -0500)]
gles: Build libGLESv1_CM.so and libGLESv2.so from glapi files
Kristian Høgsberg [Tue, 27 Apr 2010 18:57:51 +0000 (14:57 -0400)]
intel: Only register ES2 extensions for ES2 contexts
Kristian Høgsberg [Tue, 27 Apr 2010 17:42:33 +0000 (13:42 -0400)]
configure.ac: Add options to enable GLES1/2 API support
Kristian Høgsberg [Wed, 28 Apr 2010 01:43:40 +0000 (21:43 -0400)]
intel: Advertise GLES1/2 for i915+ when enabled
Kristian Høgsberg [Tue, 27 Apr 2010 15:04:51 +0000 (11:04 -0400)]
dri: Add DRI entrypoints to create a context for a given API
Kristian Høgsberg [Tue, 27 Apr 2010 15:38:46 +0000 (11:38 -0400)]
egl_dri2: Use new DRI API to create a GLES1/2 context when asked to
Kristian Høgsberg [Tue, 27 Apr 2010 15:04:51 +0000 (11:04 -0400)]
dri: Add DRI entrypoints to create a context for a given API
Kristian Høgsberg [Tue, 27 Apr 2010 14:52:23 +0000 (10:52 -0400)]
st/mesa: Move st_cb_drawtex.c to the mesa state tracker
Kristian Høgsberg [Tue, 27 Apr 2010 13:00:31 +0000 (09:00 -0400)]
es: Drop es specific enums.c
Kristian Høgsberg [Tue, 27 Apr 2010 13:00:17 +0000 (09:00 -0400)]
glapi: Regenerate enums.c for all APIs
Kristian Høgsberg [Tue, 27 Apr 2010 12:57:56 +0000 (08:57 -0400)]
glapi: Update gl_enum.py to generate enum tables for multiple APIs
Kristian Høgsberg [Mon, 26 Apr 2010 13:55:41 +0000 (09:55 -0400)]
mesa: Drop unused _mesa_init_drawtex_dispatch()
Kristian Høgsberg [Mon, 26 Apr 2010 13:53:23 +0000 (09:53 -0400)]
mesa: Move drawtex functionality to main/
Kristian Høgsberg [Sun, 25 Apr 2010 00:36:49 +0000 (20:36 -0400)]
mesa: Move glQueryMatrixxOES() implementation to core mesa
Kristian Høgsberg [Sat, 24 Apr 2010 23:56:42 +0000 (19:56 -0400)]
mesa: Move GLES1 texgen functions to texgen.c
Kristian Høgsberg [Sat, 24 Apr 2010 23:34:57 +0000 (19:34 -0400)]
mesa: Move support for paletted textures to main/teximage.c
Kristian Høgsberg [Sat, 24 Apr 2010 23:18:35 +0000 (19:18 -0400)]
mesa: Handle GL_TEXTURE_GEN_STR_OES in _mesa_Enable()
Kristian Høgsberg [Sat, 24 Apr 2010 23:17:54 +0000 (19:17 -0400)]
mesa: Move get_es*.c to main/
Kristian Høgsberg [Sat, 24 Apr 2010 20:22:02 +0000 (16:22 -0400)]
es: Prefix the get* functions with _es1/2 so they don't conflict
Kristian Høgsberg [Fri, 23 Apr 2010 01:11:56 +0000 (21:11 -0400)]
mesa: Move GL_RGB565 workaround into fbobject.c
Kristian Høgsberg [Fri, 23 Apr 2010 00:52:21 +0000 (20:52 -0400)]
mesa: Move GLES1/2 vbo entrypoints to vbo_exec_api.c
This let's us drop stubs.c.
Kristian Høgsberg [Fri, 23 Apr 2010 00:34:33 +0000 (20:34 -0400)]
mesa: Move GLES2 shader stubs to main/shaders.c
Kristian Høgsberg [Fri, 23 Apr 2010 00:26:51 +0000 (20:26 -0400)]
mesa: Move api_exec_es*.c into mesa/main
This requires renaming a few functions to have unique names so that
they can all live within the same driver.
Kristian Høgsberg [Thu, 22 Apr 2010 17:30:03 +0000 (13:30 -0400)]
mesa: Move references to main/remap_helper.h to api_exec.c
Kristian Høgsberg [Thu, 22 Apr 2010 16:40:47 +0000 (12:40 -0400)]
mesa: Move struct _glapi_table allocation out of context.c
We now allocate the table from api_exec.c and dlist.c where we fill out
the table. This way, context.c doesn't need to know the actual contents
of struct _glapi_table.
Kristian Høgsberg [Thu, 22 Apr 2010 15:41:41 +0000 (11:41 -0400)]
mesa: Compute extension string according to API
We can now stop special casing glGetString() and drop specials_es*.c.
Kristian Høgsberg [Thu, 22 Apr 2010 12:27:51 +0000 (08:27 -0400)]
es2: Move over es2 code to compute extensions
Kristian Høgsberg [Thu, 22 Apr 2010 12:34:42 +0000 (08:34 -0400)]
main: Report GL_SHADING_LANGUAGE_VERSION according to API
Kristian Høgsberg [Wed, 21 Apr 2010 20:14:18 +0000 (16:14 -0400)]
mesa: Compute GL version according to API
Kristian Høgsberg [Thu, 22 Apr 2010 15:07:45 +0000 (11:07 -0400)]
mesa: Move API specific context intialization into context.c
Kristian Høgsberg [Thu, 22 Apr 2010 13:32:11 +0000 (09:32 -0400)]
st/mesa: Use API-aware context constructor
The mesa state tracker is currently the only place where we create a
context and expect it to implement GLES1/2. Use the API-aware constructor
to communicate this to core mesa.
Kristian Høgsberg [Thu, 22 Apr 2010 13:25:51 +0000 (09:25 -0400)]
mesa: Track the OpenGL API we're implementing in the context
This introduces a new way to create or initialize a context:
_mesa_create_context_for_api and
_mesa_initialize_context_for_api
which in addition to the current arguments take an api enum to indicate
which OpenGL API the context should implement. At this point the
API field in GLcontext isn't used anywhere, but later commits will
key certain functionality off of it.
The _mesa_create_context and _mesa_initialize_context functions are
kept in place as wrappers around the *_for_api versions, passing in
API_OPENGL to get the same behavior as before.
Vinson Lee [Thu, 22 Apr 2010 07:45:27 +0000 (00:45 -0700)]
gallivm: Remove unused variable.
Alex Deucher [Thu, 22 Apr 2010 06:37:34 +0000 (02:37 -0400)]
r300g: fix vertex unit setup
RV3xx is 2, RV560,RV570 is 8
Noticed by Tormod Volden.
Vinson Lee [Thu, 22 Apr 2010 01:45:44 +0000 (18:45 -0700)]
gallium/util: Fix deviation calculation in u_cache.
The approximate deviation calculation was using the entire cache's total
instead of each cache entry's total.
Vinson Lee [Thu, 22 Apr 2010 01:31:01 +0000 (18:31 -0700)]
gallium/tests: Add test case for u_cache.
Brian Paul [Thu, 22 Apr 2010 00:22:15 +0000 (18:22 -0600)]
gallivm: added some assertions in loop-gen code
We're hitting these assertions with nested loops...
Brian Paul [Wed, 21 Apr 2010 23:58:26 +0000 (17:58 -0600)]
gallivm: fix copy&paste error: s/cont_stack_size/break_stack_size/
Brian Paul [Wed, 21 Apr 2010 23:57:44 +0000 (17:57 -0600)]
gallivm: emit_instruction() is boolean
Brian Paul [Wed, 21 Apr 2010 22:30:04 +0000 (16:30 -0600)]
progs/glsl: better comments
Brian Paul [Wed, 21 Apr 2010 22:29:13 +0000 (16:29 -0600)]
llvmpipe: add missing dependency in Makefile
Brian Paul [Wed, 21 Apr 2010 22:27:23 +0000 (16:27 -0600)]
gallivm: implement TGSI KILP
As in tgsi_exec.c we don't actually rely on condition codes; we do
an unconditional kill. The only predication comes from the execution
mask which applies inside loops/conditionals.
José Fonseca [Wed, 21 Apr 2010 16:30:39 +0000 (17:30 +0100)]
draw: Make LLVM integration work without llvmpipe too (e.g. sofptipe).
Prevents the assertion failure.
Marek Olšák [Wed, 21 Apr 2010 20:53:11 +0000 (22:53 +0200)]
radeon: fix warning
Marek Olšák [Wed, 21 Apr 2010 20:48:07 +0000 (22:48 +0200)]
r300g: raise the max index for generic varyings to 32
This should fix an assertion failure in the game Heroes of Newearth.
Yes, the game seems to generate semantic indices greater than 15.
Brian Paul [Wed, 21 Apr 2010 20:23:42 +0000 (14:23 -0600)]
softpipe: call draw_wide_point_sprites()
Brian Paul [Wed, 21 Apr 2010 20:24:26 +0000 (14:24 -0600)]
gallium/draw: fix point sprite handling
New draw API function to indicate whether or not to convert points to
quads for sprite rasterization.
Fix point-to-quad conversion regression in the wide-point stage. We
need to check the pipe_rasterizer_state::point_quad_rasterization flag.
Brian Paul [Wed, 21 Apr 2010 20:16:02 +0000 (14:16 -0600)]
gallium/draw: use local var to simplify code
Brian Paul [Wed, 21 Apr 2010 16:30:53 +0000 (10:30 -0600)]
llvmpipe: consolidate texture memory allocation code
And fix incorrect allocation of linear memory for display targets.
This fixes fd.o bugs 27761 and 27762.
Brian Paul [Wed, 21 Apr 2010 15:58:15 +0000 (09:58 -0600)]
st/glx: variable 'i' is an enum
Now we can get see 'i' as an enum name instead of a plain integer in gdb.
Jakob Bornecrantz [Wed, 21 Apr 2010 13:48:54 +0000 (14:48 +0100)]
targets: Don't check if we should use trace
Trace does its own checking, and it used the GALLIUM_TRACE variable
as well, but expected a file and not a bool argument.
José Fonseca [Wed, 21 Apr 2010 09:19:39 +0000 (11:19 +0200)]
mesa/st: Translate a few more mesa/gallium formats.
These endup used by Xvnc.
Vinson Lee [Wed, 21 Apr 2010 05:56:39 +0000 (22:56 -0700)]
llvmpipe: Remove unused variable.
Brian Paul [Wed, 21 Apr 2010 03:17:35 +0000 (21:17 -0600)]
mesa: do version checking for GL 3.x queries
Brian Paul [Wed, 21 Apr 2010 03:02:09 +0000 (21:02 -0600)]
mesa: API and state for GL 3.1 primitive restart
Brian Paul [Wed, 21 Apr 2010 02:52:56 +0000 (20:52 -0600)]
mesa: add GL 3.2 GL_CONTEXT_PROFILE_MASK query
Brian Paul [Wed, 21 Apr 2010 02:44:54 +0000 (20:44 -0600)]
mesa: remove some comments
Zhenyu Wang [Mon, 19 Apr 2010 08:27:10 +0000 (16:27 +0800)]
intel: Add Sandybridge mobile chipset id
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Zhenyu Wang [Mon, 19 Apr 2010 07:51:50 +0000 (15:51 +0800)]
intel: Clean up chipset name and gen num for Ironlake
Rename old IGDNG to Ironlake, and set 'gen' number for
Ironlake as 5, so tracking the features with generation num
instead of special is_ironlake flag.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Vinson Lee [Wed, 21 Apr 2010 01:48:04 +0000 (18:48 -0700)]
gallivm: Remove unnecessary headers.
Vinson Lee [Wed, 21 Apr 2010 00:22:26 +0000 (17:22 -0700)]
i965g: s/inttypes.h/stdint.h/
MSVC doesn't have either but Mesa has stdint.h at include/c99.
Jakob Bornecrantz [Wed, 21 Apr 2010 00:13:36 +0000 (01:13 +0100)]
svga: Fix index offset
Brian Paul [Thu, 29 Apr 2010 21:32:36 +0000 (15:32 -0600)]
st/mesa: ignore gl_texture_object::BaseLevel when allocating gallium textures
Previously, when we created a gallium texture for a corresponding Mesa
texture we'd only allocate space for mipmap levels >= BaseLevel.
This patch undoes that mechanism. This fixes a render-to-texture bug
when rendering to level 0 when BaseLevel=1.
Also, it makes sense to allocate the whole texture object memory when
BaseLevel > 0 since a common use of GL_TEXTURE_BASE_LEVEL is to
progressively load/render mipmaps. Eventually, the app almost always
fills in the level=0 mipmap image.
Finally, the texture image code is bit easier to understand now.