summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* vl: move dirty area handling into winsys abstractionChristian König2012-03-017-10/+56
| | | | | | Fixing uninitialized areas in SwapBuffers mode. Signed-off-by: Christian König <[email protected]>
* vl: hide X latency by using asynchronous requestsChristian König2012-03-011-11/+37
| | | | Signed-off-by: Christian König <[email protected]>
* vl: use SwapBuffers instead of CopyBuffersChristian König2012-03-014-45/+14
| | | | | | | | | This should speed things up a bit, but also shows some bugs with the kernel implementation. v2: require xcb-dri2 version 1.8 Signed-off-by: Christian König <[email protected]>
* st/xvmc: remove dst buffer texture workaroundChristian König2012-03-013-23/+11
| | | | Signed-off-by: Christian König <[email protected]>
* vl: rewrite vl DRI backend using XCBChristian König2012-03-017-861/+150
| | | | | | v2: also set array_size of texture Signed-off-by: Christian König <[email protected]>
* egl: Don't include strings.h on Windows.José Fonseca2012-03-012-1/+1
| | | | | strings.h is needed for the declaration of strcasecmp(), but only on non-Windows platforms.
* mesa: let GL3 buf obj queries not depend on opengl major versionYuanhan Liu2012-03-011-6/+6
| | | | | | | | | | | | | | | | | While the ARB_map_buffer_range extension spec says nothing about these queries -- they were added in GL 3.0 --, it seems like this could be an error in the extension spec. This is one of the extensions, like ARB_framebuffer_object, that "back ports" OpenGL 3.0 functionality to previous versions. These extensions are supposed to provide identical functionality to OpenGL 3.0. The other cases of mismatches have been determined to be bugs in the extension specs. And tools like apitrace rely on such queries to function properly. Signed-off-by: Yuanhan Liu <[email protected]> Signed-off-by: José Fonseca <[email protected]> Acked-by: Brian Paul <[email protected]> Acked-by: Ian Romanick <[email protected]>
* gallivm: Update comments and prototype of vector-selects.José Fonseca2012-03-011-20/+31
| | | | | No runtime behavior change. As vector selects are still not very well supported by LLVM.
* docs: remove mention of components no longer in main Mesa treeBrian Paul2012-02-291-10/+0
|
* st/mesa: remove old assertionBrian Paul2012-02-291-3/+0
|
* r300g: init chan=0 to silence warningBrian Paul2012-02-291-1/+1
|
* i965: Disable PrimitiveID upload.Kenneth Graunke2012-02-291-1/+1
| | | | | | | | | | | We currently don't support gl_PrimitiveID, and I believe asking the hardware to generate it results in vertex cache invalidations. This could result in slowdowns for applications that use gl_InstanceID, which would be counter-productive. Just turn it off for now. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Enable the GL_ARB_draw_instanced extension.Kenneth Graunke2012-02-292-2/+3
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Fix swizzles for system values such as gl_InstanceID.Kenneth Graunke2012-02-291-0/+4
| | | | | | | | | | | | | | | visit(ir_variable *) sets dst_reg::writemask to the appropriate channel for system values. Unfortunately, visit(ir_dereference_variable *) then calls swizzle_for_size, which for a float, sets the swizzle to .x. This works for gl_VertexID, since we store it in the .x component (see brw_draw_upload.c:732 - VID), but fails for gl_InstanceID (IID) since we store it in the .y channel. To fix this, avoid calling swizzle_for_size on ir_var_system_values. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glsl: Make gl_InstanceID available with GL_ARB_draw_instanced extensionIan Romanick2012-02-291-1/+13
| | | | | | | | | | | Originally ARB_draw_instanced only specified that ARB decorated name. Since no vendor actually implemented that behavior and some apps use the undecorated name, the extension now specifies that both names are available. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mesa: Add missing error check for first < 0 in glDrawArraysInstanced().Eric Anholt2012-02-291-0/+6
| | | | | | Fixes piglit GL_ARB_draw_instanced/negative-arrays-first-negative. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Fix display lists for draw_elements_base_vertex with draw_instanced.Eric Anholt2012-02-291-2/+16
| | | | | | Fixes piglit GL_ARB_draw_elements_base_vertex/dlist-arb_draw_instanced Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Fix display list handling for GL_ARB_draw_instanced.Eric Anholt2012-02-292-6/+28
| | | | | | | | | When you called them in a display list compile before, you would just end up calling through NULL. Fixes piglit GL_ARB_draw_instanced/dlist. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Fix typo in comment.Eric Anholt2012-02-291-1/+1
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Fix Gen6+ dynamic state upper bound on older kernels.Kenneth Graunke2012-02-291-2/+1
| | | | | | | | | | | | | | | | | | | | | Kernels prior to 271d81b84171d84723357ae6d172ec16b0d8139c (March 2011) don't support relocations outside of the target buffer object. Rather than guarding this with a I915_PARAM_HAS_RELAXED_DELTA check, just smash the bound to 0xfffff001 like we do on Ironlake. This effectively gives us no upper bound check, just like we did prior to commit 271d81b84171d84723357ae6d172ec16b0d8139c. Daniel Vetter would also like to mention that this relies on the guard page at the end of the GTT. NOTE: This is a candidate for release branches. Fixes a regression since 271d81b84171d84723357ae6d172ec16b0d8139c. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46766 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
* egl/drivers: Convert to automake.Eric Anholt2012-02-297-105/+99
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* egl/main: Convert to automake.Eric Anholt2012-02-2914-242/+217
| | | | | | | | The drivers/ walk-through-subdirs makefile is converted as well so I didn't need to keep EGL_DRIVERS_DIRS along with the per-driver HAVE_EGL_DRIVER_WHATEVER. Reviewed-by: Kenneth Graunke <[email protected]>
* egl: Clean up some flow of EGL platform handling.Eric Anholt2012-02-291-18/+15
| | | | | | | | The default case code was set up in a separate way, while this makes it more normal. I wanted to add code to the explicit x11 platform and default x11 platform cases in the next commit. Reviewed-by: Kenneth Graunke <[email protected]>
* egl: Drop the non-builtin-drivers support.Eric Anholt2012-02-292-30/+2
| | | | | | | The two drivers both did builtin mode, so drop the non-builtin build system. Reviewed-by: Kenneth Graunke <[email protected]>
* egl: Drop _EGL_MAIN entrypoint obfuscation.Eric Anholt2012-02-295-5/+2
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* glx: Convert to automake.Eric Anholt2012-02-295-121/+131
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Push the shine table into the tnl module.Mathias Fröhlich2012-02-2910-179/+183
| | | | | | | | | | All users of the shine table outside of the tnl module are gone. Move the implementation into the tnl module and prefix the public functions with _tnl. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Do not invalidate shine tables in compute light positions.Mathias Fröhlich2012-02-291-3/+0
| | | | | | | | | | | | Since the shine tables are now only used in the tnl lighting stage, where they are validated through the tnl driver function NotifyMaterialChange called in tnl/t_vb_light.c, we can not omit calling _mesa_validate_all_lighting_tables (which only validates the shine tables) in main/light.c. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Avoid revalidating shine tables in _tnl_RasterPos.Mathias Fröhlich2012-02-291-2/+0
| | | | | | | | | Now that _tnl_RasterPos no longer uses the shine tables, avoid revalidating them. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Avoid using the shine table for _tnl_RasterPosMathias Fröhlich2012-02-291-1/+5
| | | | | | | | | | | | | Use direct computation of pow for computing the shininess in _tnl_RasterPos. Since the _tnl_RasterPos function is still used by plenty drivers that do only need the shine table for _tnl_RasterPos but do not make use of swtnl computations, this enables pushing down the shine table computation and validation into the tnl module, which will happen in a followup change. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Avoid explicit invalidation of shine tables.Mathias Fröhlich2012-02-291-27/+0
| | | | | | | | | | Since the shine tables are implicitly invalidated by having a different shininess value than the current one, we can omit the explicit invalidation of the shine table. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Remove gl_light_attrib::_Flags.Mathias Fröhlich2012-02-293-6/+4
| | | | | | | | This variable is only used locally in _mesa_update_lighting. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* mesa: Remove _CosCutoffNeg from light state.Mathias Fröhlich2012-02-292-6/+2
| | | | | | | | | It is only used as a temporary variable during computation of _CosCutoff. So, don't store it. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Froehlich <[email protected]>
* util: replace format equality test with compatibility test in blit codeBrian Paul2012-02-291-1/+21
| | | | | | | | | | This lets us use the resource_copy_region() path when blitting from R8G8B8A8 to R8G8B8x8, for example. v2: be smarter when src_format==dst_format Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* util: better comment for util_is_format_compatible()Brian Paul2012-02-291-2/+3
|
* mesa: use arrayObj var in more places in client_state()Brian Paul2012-02-291-3/+3
|
* mesa: asst. fixes for texture arrays and bordersBrian Paul2012-02-291-12/+20
| | | | | For 1D array textures, there is no border on the height dimension. For 2D array textures, there is no border on the depth dimension.
* mesa: check for no state change in VertexAttribDivisor()Brian Paul2012-02-291-2/+8
| | | | Reviewed-by: José Fonseca <[email protected]>
* util: fix assertions in u_blitter.c codeBrian Paul2012-02-291-11/+11
| | | | | | | Assertions of the form assert(a && b) should be written as separate assertions so that you can actually tell which part is false when there's a failure. Reviewed-by: Marek Olšák <[email protected]>
* mesa: reorder things in mtypes.hBrian Paul2012-02-291-160/+169
| | | | | | Move structs, enums, etc so they're in more logical order. In particular, the shader and transform feedback-related structs/enums were pretty scattered around.
* svga: fix max_lod clamping in update_tss_binding()Brian Paul2012-02-291-2/+2
| | | | | | | | | After biasing we need to clamp to be sure we don't exceed the number of levels in the mipmap. This fixes an assertion at svga_sampler_view.c:70 v2: simplify the biasing, clamping code per Jose's suggestion. Reviewed-by: José Fonseca <[email protected]>
* st/vdpau: fix use of *.o in Makefile.vdpauChristian König2012-02-291-2/+2
| | | | Signed-off-by: Christian König <[email protected]>
* st/xvmc: fix use of *.o in Makefile.xvmcChristian König2012-02-291-2/+2
| | | | Signed-off-by: Christian König <[email protected]>
* i965: Avoid blocking on the GPU for setting the HiZ op vertex data.Eric Anholt2012-02-284-60/+9
| | | | | | | | | | | | We need to allocate new space every time to avoid blocking on the last HiZ op completing. There are two easy ways to do this: brw_state_batch() and intel_upload_data(). brw_state_batch() is simpler and avoids another buffer allocation. Improves Unigine Tropics performance 0.376416% +/- 0.148722% (n=7). Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glcpp: Don't strlen() the output for every token being printed.Kenneth Graunke2012-02-282-24/+28
| | | | | | | | | | | | | The ralloc string appending functions were originally intended for simple, non-hot-path uses like printing to an info log. Cuts Unigine Tropics load time by around 20% (6 seconds). v2: Avoid strlen() on every newline, too. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> [v1] Acked-by: José Fonseca <[email protected]> [v1]
* ralloc: Make rewrite_tail increase "start" by the new text's length.Kenneth Graunke2012-02-284-16/+18
| | | | | | | | | | | | | | | | | | Both callers of rewrite_tail immediately compute the new total string length by adding the (known) length of the existing string plus the length of the newly appended text. Unfortunately, callers generally won't know the length of the new text, as it's printf-formatted. Since ralloc already computes this length, it makes sense to add it in and save the caller the effort. This simplifies both existing callers, but more importantly, will allow for cheap-appending in the next commit. v2: The link_uniforms code needs both the old and new length. Apply the obvious fix (which sadly makes it less of a cleanup). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> [v1] Acked-by: José Fonseca <[email protected]> [v1]
* gallivm: add major integer opcodes to the tgsi action handlerDave Airlie2012-02-281-1/+382
| | | | | | | | | | | | | | | This adds support for all the opcodes needed for native integer support with GLSL 1.20 enabled, and some of the ones for GLSL1.30 support. I've split them between non-cpu and cpu along the same lines Tom's code did for the other ones I think, but I'm open to review on which ones should go where. With instance ids fixed I get no regressions on my box here with LLVM 2.8, will test with later LLVMs as well. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: drop deprecated opcodesDave Airlie2012-02-281-8/+0
| | | | | | These are integer opcodes not deprecated ones. Signed-off-by: Dave Airlie <[email protected]>
* gallivm: only do rcp/mul for floatingDave Airlie2012-02-281-1/+2
| | | | | | | rcp asserts on type.floating so don't go passing non-floating things into it. Signed-off-by: Dave Airlie <[email protected]>
* svga: Advertise SVGA3D_DEVCAP_MAX_POINT_SIZE.José Fonseca2012-02-284-7/+15
| | | | | | | | | | | Backends usually advertise a SVGA3D_DEVCAP_MAX_POINT_SIZE between 63 and 256, so an hardcoded max point size of 80 is often incorrect. This limitation does not apply for anti-aliased points (as they are done via draw module) but we still advertise the same limit for both, because all others pipe drivers do. Reviewed-by: Brian Paul <[email protected]>