summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util/u_blit.c
AgeCommit message (Collapse)Author
2009-10-17gallium: Permit surface_copy and surface_fill to be NULL.Corbin Simpson
Uf. Lots of files touched. Would people with working vega, xorg, dri1, etc. please make sure you are not broken, and fix yourself up if you are. There were only two or three places where the code did not have painful fallbacks, so I would advise st maintainers to find less painful workarounds, or consider overhauling util_surface_copy and util_surface_fill. Per ymanton, darktama, and Dr_Jakob's suggestions, clear has been left as-is. I will not add PIPE_CAP_BLITTER unless it is deemed necessary.
2009-10-07util: do some more util_blit_pixels cases without temporariesKeith Whitwell
When the source surface is pointing at a 2d texture with only one mipmap level, use that directly rather than creating a temporary. Probably want to cover more cases, but this is a start.
2009-09-03util: add version of u_blit_pixels which takes a writemaskKeith Whitwell
Values outside the writemask are set in the destination to {0,0,0,1}
2009-08-07util: fix incorrect assertionBrian Paul
Check that the dest surface/format is renderable.
2009-08-07util: include u_surface.h, added commentBrian Paul
2009-08-07util: use util_same_surface() to compare surface pointersBrian Paul
2009-08-05util: added comment/question about blit clippingBrian Paul
2009-08-05util: added util_blit_pixels() overlap testBrian Paul
A comment alluded to this. Now it's checked.
2009-08-05util: fix util_blit_pixels() test for surface_copy() pathBrian Paul
For the surface_copy() path require same format, no flipping and no stretching. Fixes progs/tests/copypixrate -blit
2009-08-05util: reformatting and commentsBrian Paul
2009-04-20util: don't set unused blend stateKeith Whitwell
Try to avoid creating multiple blend atoms.
2009-04-09gallium: remove unneeded compressed=0 assignmentBrian Paul
2009-03-13gallium: consolidate bypass_vs and bypass_clipping flagsKeith Whitwell
The draw module provides a similar interface to the driver which is retained as various bits of hardware may be able to take on incremental parts of the vertex pipeline. However, there's no need to advertise all this complexity to the state tracker. There are basically two modes now - normal and passthrough/screen-coords.
2009-03-13gallium: no need to keep a copy of shader tokens in state trackerKeith Whitwell
Any driver who needs a copy of the shader tokens must organize to do so itself. This has been the case for a long time, but there was still defensive code in the state tracker, which is now removed. Any bugs resulting from this need to be fixed in the offending driver...
2009-03-13gallium: Remove do_flip argument from surface_copyJakob Bornecrantz
I should have gotten most uses and implementation correctly fixed, but things might break. Feel free to blame me.
2009-03-04gallium: Unify reference counting.Michel Dänzer
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-24gallium: Add pipe_buffer_write/read inlines.José Fonseca
Saves code, and will simplify future interface changes.
2009-02-18util: Move p_debug.h into util module.José Fonseca
The debug functions depend on several util function for os abstractions, and these depend on debug functions, so a seperate module is not possible.
2009-01-30gallium: make p_winsys internalZack Rusin
move it to pipe/internal/p_winsys_screen.h and start converting the state trackers to the screen usage
2009-01-27gallium: standardize api on the prefix "nr"Zack Rusin
2008-12-12gallium: avoid mapping same vertex buffer in subsequent framesKeith Whitwell
Quite a few util modules were maintaining a single vertex buffer over multiple frames, and potentially reusing it in subsequent frames. Unfortunately that would force us into syncrhonous rendering as the buffer manager would be forced to wait for the previous rendering to complete prior to allowing the map. This resolves that issue, but requires the state tracker to issue a few new flush() calls at the end of each frame.
2008-11-14util: Use OpenGL rasterization rules in blits and mipmap generation.Brian Paul
2008-09-04gallium: Use pipe_buffer_* inlines as much as possible.José Fonseca
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul
Also, rename p_tile.[ch] to u_tile.[ch]
2008-07-19gallium: Finer grained is_format_supported.José Fonseca
2008-07-03gallium: Don't forget to get overllaping blits working again.José Fonseca
2008-07-03gallium: Use surface_copy for 1:1 blits.José Fonseca
2008-06-27gallium: Drop pipe_texture->cpp and pipe_surface->cpp.José Fonseca
The chars-per-pixel concept falls apart with compressed and yuv images, where more than one pixel are coded in a single data block.
2008-06-24gallium: Fix whole source being used in u_blitJakob Bornecrantz
2008-06-23util: Blit can now copy from texture to surfaceJakob Bornecrantz
2008-06-14util: Use pf_get_size().Michal Krol
2008-05-02gallium: fix build after mergeKeith Whitwell
2008-05-02Merge branch 'gallium-0.1' into gallium-tex-surfacesKeith Whitwell
2008-05-01gallium: Notify driver of texture updates in util_blit_pixels().Michel Dänzer
2008-05-01gallium: tex surface checkpointKeith Whitwell
2008-04-29gallium: added some assertions to be sure the blit's surface formats are ↵Brian Paul
suitable
2008-04-22gallium: setup an identity viewportBrian Paul
This fixes broken blits.
2008-04-21use cso fs/vs handle functionsKeith Whitwell
2008-04-21gallium: Set all state via cso_context in blit/gen_mipmap utils.José Fonseca
cso_restore_* functions are implemented on top of cso_set_*, therefore they require full knowledge of the current pipe state to work correctly. Directly calling pipe's set_*_state functions will lead to undefined state. Also save and restore shaders.
2008-03-27gallium: return pipe_shader_state from the simple shader functionsBrian
Allows us to fix a mem leak (tokens array).
2008-03-27gallium: fix incorrect types for shadersBrian
2008-03-20gallium: set fb.width/heightBrian
2008-03-20gallium: create one vertex buffer and re-useBrian
2008-03-19gallium: explict float castsKeith Whitwell
2008-03-19gallium: implement CSO save/restore functions for use by meta operations ↵Brian
(blit, gen-mipmaps, quad-clear, etc) Also, additional cso_set_*() functions for viewport, framebuffer, blend color, etc. state.
2008-03-18gallium: new pixel blit codeBrian
Copy rectangular region from one surface to another w/ scaling. Disables most fragment operations.