summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util/u_gen_mipmap.c
AgeCommit message (Collapse)Author
2010-03-01util: adapt blitter code to new vertex element csoRoland Scheidegger
The interface of util_draw_vertex_buffer looks a bit odd (calling code has to set vertex elements but not vertex buffers) but due to the way cso state handling generally works (can't re-bind original vertex element state easily there) I guess that's ok for now.
2010-02-02gallium: pipe/p_inlines.h -> util/u_inlines.hJosé Fonseca
2010-01-28Merge commit 'origin/perrtblend'Roland Scheidegger
Conflicts: src/gallium/drivers/softpipe/sp_screen.c src/gallium/include/pipe/p_defines.h
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
2010-01-21util: Use pipe_buffer_write_nooverlap in blits / mipmap generation.José Fonseca
2010-01-21gallium: adapt util code to blend changesRoland Scheidegger
2009-12-21util: draw cube mipmaps with TEX CUBEChristoph Bumiller
2009-12-17Move the remaining format pf_get_* functions to u_format.h.Michal Krol
Previously they depended on format blocks, but after removing those they started depending on format encoding.
2009-12-17Merge branch 'master' into pipe-format-simplifyMichal Krol
Conflicts: src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/auxiliary/draw/draw_pipe_pstipple.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_gen_mipmap.c src/gallium/auxiliary/util/u_surface.c src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c src/gallium/drivers/cell/ppu/cell_texture.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/r300/r300_emit.c src/gallium/drivers/r300/r300_texture.c src/gallium/drivers/softpipe/sp_texture.c src/gallium/drivers/softpipe/sp_tile_cache.c src/gallium/drivers/svga/svga_state_vs.c src/gallium/include/pipe/p_format.h src/gallium/state_trackers/dri/dri_drawable.c src/gallium/state_trackers/egl/egl_surface.c src/gallium/state_trackers/python/p_device.i src/gallium/state_trackers/python/st_softpipe_winsys.c src/gallium/state_trackers/vega/api_filters.c src/gallium/state_trackers/vega/image.c src/gallium/state_trackers/vega/mask.c src/gallium/state_trackers/vega/paint.c src/gallium/state_trackers/vega/renderer.c src/gallium/state_trackers/vega/vg_tracker.c src/gallium/state_trackers/xorg/xorg_crtc.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/state_trackers/xorg/xorg_exa.c src/gallium/state_trackers/xorg/xorg_renderer.c src/gallium/state_trackers/xorg/xorg_xv.c src/gallium/state_trackers/xorg/xvmc/surface.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_buffer.c src/gallium/winsys/egl_xlib/sw_winsys.c src/gallium/winsys/g3dvl/xlib/xsp_winsys.c src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c src/gallium/winsys/gdi/gdi_softpipe_winsys.c src/gallium/winsys/xlib/xlib_cell.c src/gallium/winsys/xlib/xlib_llvmpipe.c src/gallium/winsys/xlib/xlib_softpipe.c src/mesa/state_tracker/st_cb_fbo.c src/mesa/state_tracker/st_cb_texture.c src/mesa/state_tracker/st_texture.c
2009-12-15util: add a function which converts 2D coordinates to cubemap coordinatesMarek Olšák
The code was taken over from u_gen_mipmap.
2009-12-15util: add new fragment shaders to simple_shadersMarek Olšák
New shaders: * Fragment shader which writes depth sampled from a texture * Fragment shader which copies COLOR[0] to multiple render targets Additional improvements: * The fragment 'tex' shaders now take a sampler type (TGSI_TEXTURE_*) so that they can sample from any type of texture, not only from a 2D one.
2009-12-03Move pf_get_bits/size() to u_format auxiliary module.Michal Krol
2009-11-30gallium: interface cleanups, remove nblocksx/y from pipe_texture and moreRoland Scheidegger
This patch removes nblocksx, nblocksy arrays from pipe_texture (can be recalculated if needed). Furthermore, pipe_format_block struct is gone completely (again, contains just derived state). nblocksx, nblocksy, block are also removed from pipe_transfer, together with the format enum (can be obtained from the texture associated with the transfer).
2009-11-26gallium: fix more statetrackers/drivers for not using texture ↵Roland Scheidegger
width/height/depth arrays
2009-11-19gallium: don't use arrays for texture width,height,depthKeith Whitwell
2009-10-01gallium/util: silence uninitialized var warningBrian Paul
2009-09-28Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul
2009-09-28gallium/util: add sanity check assertionsBrian Paul
2009-08-27Merge branch 'mesa_7_5_branch'Brian Paul
2009-08-27gallium/util: added cases for SRGB formatsBrian Paul
2009-08-13util: remove unneeded includesKeith Whitwell
2009-06-10util: Single precision constants.José Fonseca
2009-05-05gallium: fix texcoords for cubemap mipmap generationBrian Paul
We need to use (s,t,r) cubemap coords when sampling from the cubemap texture so the rendered quad gets texture samples from the correct cube face.
2009-04-20util: don't set unused blend stateKeith Whitwell
Try to avoid creating multiple blend atoms.
2009-03-18util: avoid clashprone UINT, UBYTE enum valuesKeith Whitwell
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-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-18Merge branch 'gallium-texture-transfer'Michel Dänzer
Conflicts: src/gallium/drivers/softpipe/sp_tile_cache.c
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-02-05gallium: No longer allow CPU mapping surfaces directly.Michel Dänzer
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-02-02gallium: remove pipe_buffer from surfacesZack Rusin
this change disassociates, at least from the driver perspective, the surface from buffer. surfaces are technically now views on the textures so make it so by hiding the buffer in the internals of textures.
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-30gallium: Initialize var before use.José Fonseca
2008-12-19gallium: begin adapting Ian's 3D mipmap gen code to gallium utility libBrian Paul
Unfinished, a big no-op for now.
2008-12-19gallium: Fix typeo in mipmap filter for GL_UNSIGNED_SHORT_1_5_5_5_REVBrian Paul
This is copied from Ian's commit a330933bb75c38148668637cd22b90d75d39506f
2008-12-17gallium: fix memory corruption in u_gen_mipmap.cBrian Paul
Remove the old/initial vbuf allocation in util_create_gen_mipmap(). We were allocating a small vbuf at this point so get_next_slot() didn't have as large of buffer as it expected. So all but the first set_vertex_data() was writing out of bounds. Also added some comments.
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: Fix typo.José Fonseca
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-28Merge tgsi/exec and tgsi/util directories.José Fonseca
2008-07-19gallium: Finer grained is_format_supported.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-05-06Merge commit 'origin/gallium-0.1' into gallium-tex-surfacesKeith Whitwell
Conflicts: src/mesa/state_tracker/st_atom_sampler.c src/mesa/state_tracker/st_cb_texture.c
2008-05-02gallium: remove 0.5 vertex biases in set_vertex_data()Brian Paul
These should not be needed and were causing garbage to appear along the edges of the mipmap images.
2008-05-02Merge branch 'gallium-0.1' into gallium-tex-surfacesKeith Whitwell