summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw
AgeCommit message (Collapse)Author
2008-03-13gallium: added draw_need_pipeline() predicate functionBrian
To test if we need any pipeline stage, or whether we can go into passthrough mode.
2008-03-13gallium: added draw_enable_line_stipple() functionBrian
Allows drivers that implement line stipple to turn off this drawing stage.
2008-03-13gallium: remove dead code related to shader semantic input/output infoBrian Paul
2008-03-13gallium: fix bug in stip_first_tri()Brian Paul
Need to compute num_samplers after binding/creating the fragment shader.
2008-03-13gallium: remove semantic info from pipe_shader_stateBrian Paul
Brian's patch to clean up the shader interfaces.
2008-03-12gallium: fix polygon stippleBrian
Was broken by commit 4528287e040415c2071012d02f20979ff995c754 (bind all samplers/texures at once).
2008-03-12gallium: change draw_vertex_shader->state from pointer to structBrian
We were sometimes keeping a pointer to a stack-allocated object. Now make a copy of the pipe_shader_state object. This should fix some seemingly random memory errors/crashes.
2008-03-12gallium: reduce signed/unsigned warningsKeith Whitwell
2008-03-11gallium: rework CSO-related code in state trackerBrian
Use the code in cso_context.c rather than st_cache.c. Basically, binding of state objects now goes through the CSO module. But Vertex/fragment shaders go through pipe->bind_fs/vs_state() since they're not cached by the CSO module at this time. Also, update softpipe driver to handle NULL state objects in various places. This happens during context destruction. May need to update other drivers...
2008-03-11draw: don't free our copy of the render stage -- just borrowing it from vbuf ↵Keith Whitwell
stage
2008-03-11gallium: missing fileKeith Whitwell
2008-03-10fix compilationZack Rusin
2008-03-10draw: placeholder/prototype code for a passthrough draw pathKeith Whitwell
2008-03-10gallium: fix compiler warningKeith Whitwell
2008-03-10gallium: use the same bypass_clipping logic on all vs pathsKeith Whitwell
2008-03-10gallium: enable bug workaround in draw_vertex_cache_invalidateKeith Whitwell
2008-03-10gallium: WinCE portability fixes.José Fonseca
2008-03-09draw: cope with binding NULL vertex shader (on context delete, for instance)Keith Whitwell
2008-03-05gallium: michel's patch to rework texture/sampler binding interfaceKeith Whitwell
Bind all the samplers/textures at once rather than piecemeal. This is easier for drivers to understand.
2008-03-04draw: dont' compute clipmask or apply viewport when not clipping (rename ↵Keith Whitwell
bypass_clipping to coords_in_window_space?
2008-03-03draw: add fetch for bgra ubyte surfacesKeith Whitwell
2008-02-29gallium: fix line emit order for unfilled trisBrian Paul
A tri drawn with GL_LINE_LOOP and GL_POLYGON w/ fillmode=GL_LINE should produce the same results when line stipple is enabled. Results are correct now.
2008-02-29gallium: point rast coord tweakBrian Paul
2008-02-29gallium: need precalc_flat=1 for wide linesBrian Paul
2008-02-29gallium: tweak coords for wide linesBrian Paul
2008-02-29gallium: remove the ugly pipe->draw stage lookup code in ↵Brian
aaline/point/pstipple stages Added a void *draw ptr to pipe_context. Probably look for a better solution someday.
2008-02-28gallium: new wide point/line stages (missed in prev commit)Brian Paul
2008-02-28gallium: split draw_wide_prim stage into separate point/line stages.Brian Paul
This fixes a validation/code-path problem. Enabling the stage for the sake of wide points also inadvertantly caused wide lines to be converted to tris when we actually want them passed through, such as for the AA line stage. This is just cleaner now. Also, replace draw_convert_wide_lines() with draw_wide_line_threshold() as was done for points. Allows for 1-pixel lines to be converted too if needed.
2008-02-27gallium: added draw_num_vs_outputs() to query number of post-transform ↵Brian
vertex attribs
2008-02-27gallium: remove dependencies on pipe_shader_state's semantic infoBrian
Use tgsi_scan_shader() to populate a tgsi_shader_info struct and use that instead.
2008-02-27gallium: remove pipe_context->texture_create/release/get_tex_surface()Brian
These functions are now per-screen, not per-context.
2008-02-26gallium: updated prototype (missed in prev commit)Brian
2008-02-26gallium: replace draw_convert_wide_points() with draw_wide_point_threshold()Brian
Specifying a threshold size is a bit more flexible, and allows the option of converting even 1-pixel points to triangles (set threshold=0). Also, remove 0.25 pixel bias in wide_point().
2008-02-26gallium: disable debug codeBrian
2008-02-25gallium: rewrite AA point fragment shader to use a CMP instruction instead ↵Brian
of IF/ELSE/ENDIF Allows the shader to work on i915 hardware.
2008-02-25gallium: fix bad ptr assignmentBrian
2008-02-25gallium: modify draw_find_vs_output() to search vertex shader outputsBrian
This simplifies drivers using the draw module and removes the last dependency on vertex-shader "internals". Since the draw module is producing the post-transformed vertices, it makes sense to ask it where specific vertex attributes are located. This could also simplify some things in the state tracker code for selection, feedback, rasterpos...
2008-02-24Add new files.José Fonseca
2008-02-24gallium: Fix MSVC warnings.José Fonseca
2008-02-24gallium: MSVC fixes.José Fonseca
2008-02-22gallium: fix bug in which wide point stage overrode the aapoint stageBrian
Also, simplify the logic a bit.
2008-02-21gallium: new draw stage for polygon stipple.Brian
For hardware without native polygon stipple. Create a 32x32 alpha texture that encodes the stipple pattern. Modify the user's fragment program to sample the texture (with gl_FragCoord) and kill the fragment according to the texel value. Temporarily enabled in softpipe driver, replacing the sp_quad_stipple.c step.
2008-02-21gallium: new AA point drawing stageBrian
AA points are drawn by converting the point to a quad, then modifying the user's fragment shader to compute a coverage value. The final fragment color's alpha is modulated by the coverage value. Fragments outside the point's radius are killed.
2008-02-21draw: vertex cache reworkKeith Whitwell
Take a baby step to straightening out vertex paths.
2008-02-20gallium: re-fix some msvc warningsBrian
2008-02-19Remove src/mesa and src/mesa/main from gallium source include paths.José Fonseca
2008-02-19Add run-time cpu capabilities detection stubs.José Fonseca
2008-02-19Simplify makefile boilerplate code.José Fonseca
Don't define ASM_SOURCES variable globally -- reserve that variable to be defined locally by makefiles, together with C_SOURCES and CPP_SOURCES.
2008-02-19Use gallium's rtasm module.José Fonseca
2008-02-18gallium: remove the prototype/unused wide_line_aa() functionBrian