Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gallivm: Support 4 x unorm8 in lp_build_fetch_rgba_aos(). | José Fonseca | 2010-07-01 | 1 | -71/+159 |
| | | | | Uses code and ideas from Brian Paul. | ||||
* | gallivm: Allow to conversions to/from registers of different sizes. | José Fonseca | 2010-07-01 | 1 | -4/+16 |
| | | | | | | Allow for example to convert from 4 x float32 to 4 x unorm8 and vice versa. Uses code and ideas from Brian Paul. | ||||
* | llvmpipe: Remove lp_build_swizzle2_aos(). | José Fonseca | 2010-07-01 | 1 | -22/+19 |
| | | | | Unnecessary special case. | ||||
* | llvmpipe: another null pointer check | Brian Paul | 2010-06-30 | 1 | -1/+1 |
| | |||||
* | llvmpipe: use dummy tile when out of memory | Brian Paul | 2010-06-30 | 3 | -14/+33 |
| | |||||
* | llvmpipe: added new lp_memory.[ch] files | Brian Paul | 2010-06-30 | 4 | -0/+99 |
| | | | | Functions for using dummy tiles when we detect OOM conditions. | ||||
* | llvmpipe: Add a new scene state to describe scenes which only have state ↵ | José Fonseca | 2010-06-30 | 2 | -19/+26 |
| | | | | | | | | | changes. It's a rare condition, but it may happen if all primitives are clipped/culled. For now we just do a no-op rasterization, but we could bypass it. | ||||
* | llvmpipe: Don't reset the bin when there's a zsbuf bound. | José Fonseca | 2010-06-30 | 1 | -1/+2 |
| | | | | | | The previous rendering may have secondary effects on the zsbuf. Fixes the missing tiles on gearbox. | ||||
* | llvmpipe: don't crash/assert on out of memory | Brian Paul | 2010-06-29 | 3 | -13/+16 |
| | | | | Check for null pointers and return early, etc. | ||||
* | llvmpipe: restore call to lp_setup_update_state() | Brian Paul | 2010-06-29 | 1 | -0/+6 |
| | | | | | | | | | This undoes part of commit 8be645d53a0d5d0ca50e4e9597043225e2231b6d and fixes fd.o bug 28822 as well as other regressions. The 'draw' module may issue additional state-change commands while we're inside the draw_arrays/elements() call so it's important to check for updated state at this point. | ||||
* | mesa: initial support for ARB_geometry_shader4 | Zack Rusin | 2010-06-28 | 1 | -0/+2 |
| | | | | | | laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left. | ||||
* | llvmpipe: set WRITE_ALL only a per-tile basis in lp_resource_copy(). | José Fonseca | 2010-06-28 | 1 | -9/+17 |
| | |||||
* | llvmpipe: Actually flush in lp_resource_copy() | José Fonseca | 2010-06-28 | 1 | -2/+2 |
| | | | | The cpu_access is redundant in a software rasterizer. | ||||
* | llvmpipe: Ensure outdated framebuffer state is not reused in ↵ | José Fonseca | 2010-06-28 | 2 | -4/+9 |
| | | | | | | | | | | | | | | | | lp_setup_bind_framebuffer(). We were starting a scene whenever lp_setup_get_vertex_info() was called by the draw module. So when when all primitives were culled/clipped, not only did we create a new scene for nothing, but we end up using the old scene with the old framebuffer state instead of a new one. Fix consists in: - don't call lp_setup_update_state() in lp_setup_get_vertex_info() -- no longer necessary - always setting the scene state before binning a command -- query commands were bypassing it - assert no old scene is reused in lp_setup_bind_framebuffer() | ||||
* | llvmpipe: fix comment typo | Brian Paul | 2010-06-25 | 1 | -1/+1 |
| | |||||
* | llvmpipe: Remove unnecessary header. | Vinson Lee | 2010-06-23 | 1 | -1/+0 |
| | |||||
* | llvmpipe: Ignores | Jakob Bornecrantz | 2010-06-22 | 1 | -0/+1 |
| | |||||
* | llvmpipe: make geometry shaders and stream output work | Zack Rusin | 2010-06-22 | 8 | -3/+180 |
| | |||||
* | llvmpipe: s/lpfs/shader/ | José Fonseca | 2010-06-21 | 2 | -5/+5 |
| | |||||
* | llvmpipe: Fix pointer dereference after free. | José Fonseca | 2010-06-18 | 1 | -1/+2 |
| | |||||
* | llvmpipe: limit the number of fragment shader variants kept around | Roland Scheidegger | 2010-06-18 | 5 | -35/+107 |
| | | | | | | | | | | | | | | | | | | llvmpipe can create a large number of shader variants for a single shader (which are quite big), and they were only ever deleted if the shader itself was deleted. This is especially apparent in things like glean blendFunc where a new variant is created for every different subtest, chewing up all memory. This change limits the numbers of fragment shader variants (for all shaders) which are kept around to a fixed number. If that would be exceeded a fixed portion of the cached variants is deleted (since without tracking the used variants this involves flushing we don't want to delete only one). Always the least recently used variants (from all shaders together) are deleted. For now this is all per-context. Both the number of how many variants are cached (1024) as well as how many will be deleted at once (1/4 of the cache size) are just rough guesses and subject to further optimization. | ||||
* | llvmpipe: fix copy & paste bug in clear logic | Roland Scheidegger | 2010-06-09 | 1 | -1/+1 |
| | | | | fixes bug 28450. | ||||
* | gallium: adjust the query interface to support custom types | Zack Rusin | 2010-06-08 | 1 | -1/+2 |
| | | | | we need to change it to support composite types | ||||
* | llvmpipe: Add geom shader file to make build | Jakob Bornecrantz | 2010-06-08 | 1 | -0/+1 |
| | |||||
* | llvmpipe: Remove unnecessary header. | Vinson Lee | 2010-06-07 | 1 | -1/+0 |
| | |||||
* | llvmpipe: use util_clear_render_target/depth_stencil fallbacks | Roland Scheidegger | 2010-06-07 | 1 | -0/+2 |
| | |||||
* | llvmpipe: hook up basic gs and multiple constant buffer support | Keith Whitwell | 2010-06-07 | 8 | -10/+135 |
| | |||||
* | Revert "llvmpipe: handle PIPE_CAP_TEXTURE_SWIZZLE query" | Roland Scheidegger | 2010-06-05 | 1 | -2/+0 |
| | | | | | This reverts commit acb20e7208341fb6a2b81ac10aa01f17e93a1dea. Oops should check commits after rebase... | ||||
* | llvmpipe: handle PIPE_CAP_TEXTURE_SWIZZLE query | Roland Scheidegger | 2010-06-05 | 1 | -0/+2 |
| | | | | asserts on unknown caps | ||||
* | llvmpipe: Expose PIPE_CAP_TEXTURE_SWIZZLE. | José Fonseca | 2010-06-05 | 1 | -0/+2 |
| | |||||
* | llvmpipe: new -s option to run single test | Brian Paul | 2010-06-04 | 7 | -3/+63 |
| | | | | | Put specific test code in the test_single() function and pass -s to execute that code. | ||||
* | llvmpipe: Do unswizzling in parallel when flushing for transfers. | José Fonseca | 2010-06-04 | 1 | -0/+7 |
| | |||||
* | llvmpipe: Fix uninitialized variable on non-debug builds. | Vinson Lee | 2010-06-03 | 1 | -0/+1 |
| | |||||
* | Merge branch 'gallium-newclear' | Roland Scheidegger | 2010-06-03 | 8 | -28/+113 |
|\ | | | | | | | | | Conflicts: src/gallium/state_trackers/python/p_context.i | ||||
| * | llvmpipe: adapt to clear interface changes | Roland Scheidegger | 2010-05-29 | 8 | -28/+113 |
| | | | | | | | | | | with some newfangled code, should support separate depth/stencil clears. Needs some testing. | ||||
* | | llvmpipe: Number shaders/variants for more reproducible function names in ↵ | José Fonseca | 2010-06-03 | 2 | -7/+28 |
| | | | | | | | | the IR. | ||||
* | | gallium: silence all debug_named_value related warnings | Joakim Sindholt | 2010-06-03 | 1 | -11/+11 |
| | | |||||
* | | llvmpipe: Fix bad logic. | José Fonseca | 2010-06-02 | 1 | -1/+1 |
| | | | | | | | | Courtesy of Vinson and coverity. | ||||
* | | llvmpipe: Remove unnecessary header. | Vinson Lee | 2010-06-02 | 1 | -1/+0 |
| | | |||||
* | | llvmpipe: Fix typo in assert. | José Fonseca | 2010-06-02 | 1 | -1/+1 |
| | | |||||
* | | llvmpipe: Per quad interpolation. | José Fonseca | 2010-06-02 | 2 | -190/+136 |
| | | | | | | | | | | | | | | | | | | | | First interpolate the 4 quads upper left corners, then sub-interpolate each quad pixel. Do the perspective divide once per quad. Saves some muls and reciprocates. But doesn't seem to make a noticeable improvement. It make the code simpler and more compact, so commiting anyway. | ||||
* | | llvmpipe: Minor cleanup to the interpolator. | José Fonseca | 2010-06-02 | 2 | -46/+54 |
| | | |||||
* | | llvmpipe: Centralize all position interpolation in lp_bld_interp.c. | José Fonseca | 2010-06-02 | 3 | -51/+43 |
| | | |||||
* | | llvmpipe: Obey color interpolation. | José Fonseca | 2010-06-01 | 1 | -16/+17 |
| | | | | | | | | | | Don't force color to be linearly interpolated when that's not being requested. | ||||
* | | llvmpipe: Use struct lp_shader_input in the interpolator. | José Fonseca | 2010-06-01 | 6 | -110/+160 |
| | | | | | | | | | | | | | | | | Eliminates all this identical yet slightly different code to decide how shader inputs should be interpolated. As bonus, don't interpolate the position twice when it is listed in the TGSI shader inputs. | ||||
* | | llvmpipe: Don't waste time interpolating unused input channels. | José Fonseca | 2010-06-01 | 6 | -49/+47 |
| | | |||||
* | | llvmpipe: Show fs's TGSI when LP_DEBUG=tgsi is set. | José Fonseca | 2010-05-31 | 1 | -1/+2 |
| | | |||||
* | | llvmpipe: Remove unused framebuffer stuff from the rasterizer. | José Fonseca | 2010-05-30 | 2 | -18/+6 |
| | | |||||
* | | llvmpipe: Don't force a linear to tiled conversion after rasterization on ↵ | José Fonseca | 2010-05-30 | 1 | -12/+14 |
| | | | | | | | | | | | | debug builds. Only do this if runtime debugging flags to show subtiles/tiles are set. | ||||
* | | llvmpipe: Call llvmpipe_set_texture_tile_layout only when necessary. | José Fonseca | 2010-05-30 | 1 | -2/+4 |
| | | | | | | | | Like the other places. |