summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe/sp_context.c
AgeCommit message (Collapse)AuthorFilesLines
2009-04-28softpipe: return PIPE_UNREFERENCED in softpipe_is_buffer/texture_referenced()Brian Paul1-2/+2
This allows the engine demo to run again (avoid crash in VBO code). This stuff still needs to be revisited someday though...
2009-04-20softpipe: fix softpipe_is_buffer/texture_referenced() regressionBrian Paul1-2/+2
Return the conservative PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE value for now. This fixes a bunch of regressions seen in piglit and glean.
2009-04-18softpipe: Simplify softpipe_create's prototype.José Fonseca1-4/+2
2009-04-18softpipe: Fix softpipe_is_texture_referenced prototype.José Fonseca1-2/+1
2009-04-15gallium: Make sure we flush before some texture / buffer operations.Thomas Hellstrom1-0/+18
Also implement context member functions to optimize away those flushes whenever possible. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-03-04gallium: Remove some superfluous instances of #include "p_inlines.h".Michel Dänzer1-1/+0
2009-03-04gallium: Unify reference counting.Michel Dänzer1-2/+1
The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create().
2009-02-05gallium: No longer allow CPU mapping surfaces directly.Michel Dänzer1-6/+6
Instead, a new pipe_transfer object has to be created and mapped for transferring data between the CPU and a texture. This gives the driver more flexibility for textures in address spaces that aren't CPU accessible. This is a first pass; softpipe/xlib builds and runs glxgears, but it only shows a black window. Looks like something's off related to the Z buffer, so the depth test always fails.
2009-01-29gallium: give the screen priority when it comes to buffer allocationsZack Rusin1-2/+2
allows the driver to overwrite buffer allocation, first step on the way to making winsys interface internal to the drivers. state trackers and the code above it will go through the screen
2009-01-27gallium: standardize api on the prefix "nr"Zack Rusin1-3/+3
2008-12-17softpipe: fix vertex shader texture samplingBrian Paul1-6/+19
Need to disable/bypass lambda calculation since derivatives of texcoords are meaningless for adjacent vertices.
2008-12-04softpipe: plug in softpipe's texture samplers into draw module.Brian1-0/+11
2008-09-08softpipe: First attempts at multithreaded softpipe.Michal Krol1-22/+27
Configured for 2 cores.
2008-09-03gallium: Have pipe_buffer_* receive a pipe_screen instead of a pipe_context.José Fonseca1-1/+1
We want to use the pipe_buffer_* inlines everywhere, but a pipe context is not always available nor is it needed.
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul1-1/+1
Also, rename p_tile.[ch] to u_tile.[ch]
2008-08-22gallium: replace LOG2() macro with util_fast_log2() inline funcBrian Paul1-0/+3
2008-06-10softpipe: Replace GETENV by debug_get_bool_option.José Fonseca1-2/+2
2008-06-10gallium: Deprecate GETENV. Replace by debug_get_bool_option.José Fonseca1-2/+2
debug_get_bool_option will interpret "n", "no", "0", "f", or "false" as FALSE; and everything else as TRUE. The default value (used when the variable is not set) is received as a parameter.
2008-05-29draw: draw_range_elements trialKeith Whitwell1-0/+1
2008-05-28Merge branch 'gallium-vertex-linear' into gallium-tex-surfacesKeith Whitwell1-5/+16
2008-05-27softpipe: enable vbuf by defaultKeith Whitwell1-3/+5
The non-vbuf option is going away...
2008-05-12softpipe: add failure paths for context creationKeith Whitwell1-2/+11
2008-05-02Merge branch 'gallium-0.1' into gallium-tex-surfacesKeith Whitwell1-3/+1
2008-05-01gallium: remove the unused softpipe_winsys codeBrian Paul1-3/+1
The struct is still there though until all winsys layers are updated
2008-05-01gallium: tex surface checkpointKeith Whitwell1-3/+3
2008-04-29gallium: test for new PIPE_ARCH_X86Brian Paul1-1/+1
2008-04-24gallium: plug in softpipe_set_edgeflags() functionBrian Paul1-0/+2
2008-04-22softpipe: implement SP_NO_RAST env varKeith Whitwell1-0/+3
2008-04-07gallium: get rid of bufloop quad stageBrian1-2/+0
2008-03-29gallium: Set vertex state/buffers en-mass.Brian Paul1-2/+2
2008-03-14gallium: remove DOS carriage returnsBrian1-243/+243
2008-03-05gallium: michel's patch to rework texture/sampler binding interfaceKeith Whitwell1-243/+243
Bind all the samplers/textures at once rather than piecemeal. This is easier for drivers to understand.
2008-02-27gallium: move is_format_supported() to pipe_screen structBrian1-26/+0
2008-02-27gallium: start removing pipe_context->get_name/vendor/param/paramfBrian1-25/+0
These are now per-screen functions, not per-context. State tracker updated, code in drivers and p_context.h disabled.
2008-02-27gallium: implement pipe_screen for softpipe driverBrian1-54/+10
2008-02-27gallium: softpipe_init_texture_funcs(), make texture func staticBrian1-6/+1
2008-02-26gallium: replace draw_convert_wide_points() with draw_wide_point_threshold()Brian1-3/+0
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-21gallium: new draw stage for polygon stipple.Brian1-0/+5
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 stageBrian1-1/+5
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-20gallium: new pipe->texture_update() functionBrian1-0/+1
Called whenever texture data is changed (glTexImage, glTexSubImage, glCopyTexSubImage, etc).
2008-02-18gallium: antialiased line drawingBrian1-0/+3
New draw/prim stage: draw_aaline. When installed, lines are replaced by textured quads to do antialiasing. The current user-defined fragment shader is modified to do a texture fetch and modulate fragment alpha.
2008-02-15Code reorganization: update build.José Fonseca1-1/+1
Update the Makefiles and includes for the new paths. Note that there hasn't been no separation of the Makefiles yet, and make is jumping all over the place. That will be taken care shortly. But for now, make should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm might require some minor tweaks.
2008-02-15Code reorganization: move files into their places.José Fonseca1-0/+333
This is in a separate commit to ensure renames are properly preserved.