summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe
Commit message (Collapse)AuthorAgeFilesLines
* gallium: implement bounds checking for constant buffersBrian Paul2010-07-293-3/+7
| | | | | | Plumb the constant buffer sizes down into the tgsi interpreter where we can do bounds checking. Optional debug code warns upon out-of-bounds reading. Plus add a few other assertions in the TGSI interpreter.
* gallium: Avoid void pointer arithmetic.Chia-I Wu2010-07-291-2/+2
| | | | This fixes fdo bug #29286.
* gallium: Keep only pipe_context::draw_vbo.Chia-I Wu2010-07-293-190/+0
| | | | | | | That is, remove pipe_context::draw_arrays, pipe_context::draw_elements, pipe_context::draw_arrays_instanced, pipe_context::draw_elements_instanced, pipe_context::draw_range_elements.
* gallium: Implement draw_vbo and set_index_buffer for all drivers.Chia-I Wu2010-07-295-30/+86
| | | | | | | | | | | | | | | Some drivers define a generic function that is called by all drawing functions. To implement draw_vbo for such drivers, either draw_vbo calls the generic function or the prototype of the generic function is changed to match draw_vbo. Other drivers have no such generic function. draw_vbo is implemented by calling either draw_arrays and draw_elements. For most drivers, set_index_buffer does not mark the state dirty for tracking. Instead, the index buffer state is emitted whenever draw_vbo is called, just like the case with draw_elements. It surely can be improved.
* softpipe: Check for NULL pointer in sp_destroy_tile_cache().Michal Krol2010-07-231-8/+10
|
* softpipe: Check for NULL pointer in sp_destroy_tex_tile_cache().Michal Krol2010-07-231-11/+13
|
* softpipe: add missing support for PIPE_FORMAT_S8_USCALED surfacesBrian Paul2010-07-211-20/+20
| | | | | | And remove checks of surface depth bits. The state tracker should not turn on depth/stencil testing if the framebuffer doesn't have depth/stencil.
* softpipe: fix sp_tile_cache_flush_clear() regressionBrian Paul2010-07-211-5/+11
|
* softpipe: Support non-depth-stencil formats in sp_tile_cache_flush_clear().Michal Krol2010-07-201-2/+7
|
* softpipe: re-order drawing functions to get rid of prototypeBrian Paul2010-07-151-108/+102
|
* softpipe: fix incorrect blend func index passed to blend_quad()Brian Paul2010-07-021-8/+15
| | | | | | | | Need to pass the index indicating which blend terms to use, not which color buffer we're blending into. Rename the parameter to blend_quad() and add comments to be more clear about this.
* softpipe: better assertionsBrian Paul2010-07-021-7/+7
|
* mesa: initial support for ARB_geometry_shader4Zack Rusin2010-06-281-0/+3
| | | | | | laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
* softpipe: rename a varBrian Paul2010-06-251-4/+4
|
* softpipe: fix comment typoBrian Paul2010-06-251-1/+1
|
* gallium: add a timestamp disjoint queryZack Rusin2010-06-221-1/+13
| | | | | | allows application to not only request the frequency of the TIME_ELAPSED clock but also to detect if that frequency was consistent throughout the entire bracketed range of graphics commands.
* gallium: add a new queryZack Rusin2010-06-221-2/+10
| | | | to figure out if gpu is finished with all of the previously issues commands
* draw: rewrite stream output to handle all the dark cornersZack Rusin2010-06-161-4/+6
| | | | | register masks, multiple output buffers, multiple primitives, non-linear vertices (elts) and stride semantics.
* softpipe/gs: fix a crash when a gs isn't presentZack Rusin2010-06-151-16/+20
|
* softpipe: small cleanupZack Rusin2010-06-121-1/+3
|
* gallium/softpipe/draw: support samplers in geometry shadersZack Rusin2010-06-117-1/+135
|
* softpipe: make sure we don't fallback to assert on so stats queryZack Rusin2010-06-081-0/+2
| | | | spotted by Vinson
* softpipe: make sure that invalid calls to sosettargets don't crash usZack Rusin2010-06-081-0/+7
|
* softpipe: added sp_state_so.c to file listBrian Paul2010-06-081-0/+1
|
* gallium: add basic support for stream output queriesZack Rusin2010-06-083-2/+28
|
* gallium: adjust the query interface to support custom typesZack Rusin2010-06-081-1/+2
| | | | we need to change it to support composite types
* gallium: rename draw_auto to draw_stream_output, plus fix a commentZack Rusin2010-06-083-3/+3
| | | | Brian spotted those
* gallium: make draw auto work and add relevant caps and docsZack Rusin2010-06-082-0/+12
|
* gallium: add interface for DrawAuto and implement it in softpipeZack Rusin2010-06-085-1/+70
|
* gallium: a lot more complete implementation of stream outputZack Rusin2010-06-081-0/+106
| | | | | | | interface wise we have everything needed by d3d10 and gl transform feedback. the draw module misses implementation of some corner cases (e.g. when stream output wants different number of components per output than normal rendering paths)
* gallium: basic and initial implementation of the stream output interfaceZack Rusin2010-06-084-1/+29
| | | | aka transform feedback
* softpipe: use util_clear_render_target/depth_stencil fallbacksRoland Scheidegger2010-06-071-0/+2
|
* softpipe: remove assert on setting constbufs greater than zeroKeith Whitwell2010-06-071-1/+0
|
* mesa/st: add support for EXT_texture_swizzle.Dave Airlie2010-06-051-0/+2
| | | | | | | | | | | This passes on r300g, the only bit I'm not really sure about is the handling of the sampler_view in st_atom_texture.c, I unreference it there if the swizzle value changes and I also have to create a new set of functions to create a new one since the u_sampler.c ones don't handle swizzle so much. adds r300g + softpipe enables, I think other drivers could pass easily enough. Signed-off-by: Dave Airlie <[email protected]>
* Merge branch 'gallium-newclear'Roland Scheidegger2010-06-032-1/+2
|\ | | | | | | | | Conflicts: src/gallium/state_trackers/python/p_context.i
| * softpipe: adapt to clear interface changesRoland Scheidegger2010-05-292-1/+2
| |
* | softpipe: add PIPE_BUFFER to assertionBrian Paul2010-05-281-1/+2
|/ | | | Fixes regression from commit f2e05acac931889e0820e1cc5d7ea810048a6b5f.
* Merge branch 'gallium-msaa'Roland Scheidegger2010-05-215-16/+18
|\ | | | | | | | | | | Conflicts: src/mesa/state_tracker/st_gen_mipmap.c src/mesa/state_tracker/st_texture.c
| * gallium: implement set_sample_mask() in all driversRoland Scheidegger2010-05-183-0/+11
| | | | | | | | | | | | | | | | prevents segfault when state trackers try to set default mask. Other option would be to make this required only for drivers supporting multisampling, but this seems more clean. Only dummy implementations (for normal drivers) provided (no driver supports multisampling yet neither).
| * softpipe: adapt to interface changesRoland Scheidegger2010-05-172-16/+7
| |
* | Merge branch 'gallium-front-ccw'Keith Whitwell2010-05-212-31/+19
|\ \
| * | softpipe: restore culling codeKeith Whitwell2010-05-141-3/+21
| | |
| * | gallium: convert rasterizer state to use gl-style front/back conceptsKeith Whitwell2010-05-142-37/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use front/back instead of cw/ccw throughout. Also, use offset_point/line/fill instead of offset_cw/ccw. Brings gallium representation of this state into line with its main user, and also what turns out to be the most common hardware representation. This fixes a long-standing bias in the interface towards the architecture of the software rasterizer.
* | | softpipe: Calculate slice_stride field in get_transfer().Michal Krol2010-05-191-0/+4
| | |
* | | gallium: EXT_timer_query support.Mathias Fröhlich2010-05-172-4/+33
|/ / | | | | | | Signed-off-by: Corbin Simpson <[email protected]>
* | softpipe: Adverstise (tgsi_exec's) shader limits.José Fonseca2010-05-121-0/+31
| |
* | gallium: Make PIPE_CAP_xxx enums.José Fonseca2010-05-121-2/+2
| |
* | softpipe: fix dangling references to shaders in the TGSI executorBrian Paul2010-05-064-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a shader was bound to the fragment shader TGSI executor and it was then deleted and a new shader was allocated at the same address as the old shader, the new fragment shader would not get properly bound to the TGSI machine and we'd wind up using the old one. This would not have been a problem if shaders were refcounted. Now the TGSI machine is owned by the context rather than the quad pipeline's shader stage so that the softpipe_delete_fs_state() function can access it. Fixes sporadic failures of the piglit fp-long-alu test (fd.o bug 27989).
* | gallium: rename draw() to draw_elements() in vbuf codeBrian Paul2010-05-051-2/+2
| | | | | | | | | | Now we have draw_elements() and draw_arrays() to be consistent with the pipe_context drawing functions.
* | gallium: rework provoking vertex codeBrian Paul2010-05-052-115/+198
|/ | | | | | | | | | | | | | Builds on commit ddb0e18f6c5582d4d2cc59ffd16ad9c4639ed059 and fixes regressions in glean clipFlat test. We assume that Gallium drivers observe flatshade_first for all triangles and that all the assorted per-triangle calls in the 'draw' module also follow flatshade_first. Everything else builds on those rules. Gallium does not use follow flatshade_first for GL quads, quad strips and polygons; the "last" vertex is always the provoking vertex for those prims. So now there are separate QUAD_FIRST_PV and QUAD_LAST_PV macros in the draw primitive decomposition code instead of one QUAD macro.