summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* st/vega: Add DRAWTEX renderer state.Chia-I Wu2010-12-012-116/+103
| | | | | | | | | This state provides glDrawTex-like function. It can be used for vgSetPixels. Rather than modifying every user of the renderer, this commit instead modifies renderer_copy_surface to use DRAWTEX or COPY state internally depending on whether the destination is the framebuffer.
* st/vega: Overhaul renderer with renderer states.Chia-I Wu2010-12-012-254/+496
| | | | | | | | | | | | | Renderer states are high-level states to perform specific tasks. The renderer is initially in INIT state. In that state, the renderer is used for OpenVG pipeline. This commit adds a new COPY state to the renderer. The state is used for copying between two pipe resources using textured drawing. It can be used for vgCopyImage, for example. Rather than modifying every user of the renderer, this commit instead modifies renderer_copy_texture to use the COPY state internally.
* llvmpipe: Fix build errors on x86.Chia-I Wu2010-12-012-4/+5
| | | | | The errors were introduced by efc82aef35a2aac5d2ed9774f6d28f2626796416.
* docs: Fix MESA_drm_image typoKristian Høgsberg2010-11-301-1/+1
|
* gallivm/llvmpipe: squash merge of the llvm-context branchBrian Paul2010-11-3083-2261/+2912
| | | | | | | | | | | | | | This branch defines a gallivm_state structure which contains the LLVMBuilderRef, LLVMContextRef, etc. All data structures built with this object can be periodically freed during a "garbage collection" operation. The gallivm_state object has to be passed to most of the builder functions where LLVMBuilderRef used to be used. Conflicts: src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c src/gallium/drivers/llvmpipe/lp_state_setup.c
* r300g: fix texture border color once againMarek Olšák2010-11-301-2/+37
| | | | | | | | | I made the texwrap test be more thorough and realized that this driver code had not been quite right. This commit fixes the border color for depth textures, compressed textures, and 16-bits-per-channel textures with up to 2 channels (R16, RG16). NOTE: This is a candidate for the 7.9 branch.
* glsl/linker: Free any IR discarded by optimization passes.Kenneth Graunke2010-11-301-4/+19
| | | | | | | | | | | Previously, IR for a linked shader was allocated directly out of the gl_shader object - meaning all of it lived as long as the shader. Now, IR is allocated out of a temporary context, and any -live- IR is reparented/stolen to (effectively) the gl_shader. Any remaining IR can be freed. NOTE: This is a candidate for the 7.9 branch.
* glsl: Remove anti-built-in hacks from the print visitor.Kenneth Graunke2010-11-301-7/+0
| | | | | Now that we only import built-in signatures that are actually used, printing them is reasonable.
* glsl: Lazily import built-in function prototypes.Kenneth Graunke2010-11-303-31/+40
| | | | | | | | This makes a very simple 1.30 shader go from 196k of memory to 9k. NOTE: This -may- be a candidate for the 7.9 branch, as the benefit is substantial. However, it's not a simple change, so it may be wiser to wait for 7.10.
* glsl: Refactor out cloning of function prototypes.Kenneth Graunke2010-11-303-27/+24
| | | | This allows us to reuse some code and will be useful later.
* glsl: fix matrix type check in ir_algebraicAras Pranckevicius2010-11-301-2/+2
| | | | Fixes glsl-mat-mul-1.
* glsl: Quiet unreachable no-return-from-function warning.Eric Anholt2010-11-301-0/+2
|
* scons: add alias for identityZack Rusin2010-11-301-0/+2
|
* glsl: Fix structure and array comparisions.Eric Anholt2010-11-301-2/+70
| | | | | | | | | | | | | | | We were trying to emit a single ir_expression to compare the whole thing. The backends (ir_to_mesa.cpp and brw_fs.cpp so far) expected ir_binop_any_nequal or ir_binop_all_equal to apply to at most a vector (with matrices broken down by the lowering pass). Break them down to a bunch of ORed or ANDed any_nequals/all_equals. Fixes: glsl-array-compare glsl-array-compare-02 glsl-fs-struct-equal glsl-fs-struct-notequal Bug #31909
* glsl: Add a helper constructor for expressions that works out result type.Eric Anholt2010-11-302-0/+104
| | | | | | This doesn't cover all expressions or all operand types, but it will complain if you overreach and it allows for much greater slack on the programmer's part.
* llvmpipe: shortcircuit some calls to set_scene_stateKeith Whitwell2010-11-301-1/+1
|
* llvmpipe: remove misleading debug stringKeith Whitwell2010-11-301-1/+0
|
* llvmpipe: raise dirty flag on transfers to bound constbufKeith Whitwell2010-11-301-0/+5
| | | | | Need this to trigger the scene to update its shadow of the constant state.
* wgl: More complete WGL_ARB_pbuffer support.José Fonseca2010-11-304-11/+169
|
* wgl: Stub WGL_ARB_pbuffer support.José Fonseca2010-11-304-0/+89
| | | | See http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt
* scons: Alias for svgaJosé Fonseca2010-11-301-0/+2
|
* svga: Use consistent hexadecimal representation on debug output.José Fonseca2010-11-301-1/+1
|
* util: rename u_mempool -> u_slabMarek Olšák2010-11-309-95/+95
|
* gallivm: fix storing of the addr registerZack Rusin2010-11-301-1/+1
| | | | | we store into the index specified by the register index, not an indirect register.
* glsl: Make the symbol table's add_variable just use the variable's name.Eric Anholt2010-11-297-15/+15
|
* glsl: Make the symbol table's add_function just use the function's name.Eric Anholt2010-11-296-9/+9
|
* i965: Fix type of gl_FragData[] dereference for FB write.Eric Anholt2010-11-291-1/+3
| | | | | Fixes glsl-fs-fragdata-1, and hopefully Eve Online where I noticed this bug in the generated shader. Bug #31952.
* drivers/x11: unifdef XFree86ServerAdam Jackson2010-11-2914-401/+10
| | | | | | | This code was for the old GLcore build of the software rasteriser. The X server switched to a DRI driver for software indirect GLX long ago. Signed-off-by: Adam Jackson <[email protected]>
* st/mesa: fix texture border color for RED and RG base formatsMarek Olšák2010-11-291-0/+12
| | | | | | | The spec says the border color should be consistent with the internal format. Signed-off-by: Brian Paul <[email protected]>
* mesa: check for posix_memalign() errorspontus lidman2010-11-291-1/+2
| | | | Signed-off-by: Brian Paul <[email protected]>
* r600g: it looks like r600 can handle dword offsets in the indices.Dave Airlie2010-11-291-7/+0
| | | | | Tested with piglit + ut2004 still seems to render okay (and it definitely does this)
* u_blitter: interpolate clear color using a GENERIC varying instead of COLORMarek Olšák2010-11-283-25/+22
| | | | | | | | | | | There are also some u_simple_shaders changes. On r300, the TGSI_SEMANTIC_COLOR varying is a fixed-point number clamped to the range [0,1] and limited to 12 bits of precision. Therefore we can't use it for passing through a clear color in order to clear high precision texture formats. This also makes u_blitter use only one vertex shader instead of two.
* r600g: Fix the PIPE_FORMAT_A8_UNORM color swap for Evergreen as well.Henri Verbeet2010-11-271-0/+1
|
* r600g: Fix the PIPE_FORMAT_L8A8_UNORM color swaps.Henri Verbeet2010-11-272-0/+2
|
* st/mesa: Set PIPE_TRANSFER_DISCARD for GL_MAP_INVALIDATE_RANGE/BUFFFER_BITMathias Fröhlich2010-11-261-0/+6
| | | | | | Signed-off-by: Brian Paul <[email protected]> Note: this is a candidate for the 7.9 branch.
* st/mesa: fix mapping of zero-sized buffer objectsBrian Paul2010-11-261-12/+18
| | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31934
* xorg/vmwgfx: Don't clip video to viewportThomas Hellstrom2010-11-261-1/+10
| | | | | | | Since the viewport is not updated on RandR12 mode switches anymore, clipping to viewport may incorrectly clip away the video. Signed-off-by: Thomas Hellstrom <[email protected]>
* xorg/vmwgfx: Flush even if we don't autopaint the color keyThomas Hellstrom2010-11-261-6/+6
| | | | | | | This may help paint the colorkey before overlay updates in some situations where the app paints the color key (mainly xine). Signed-off-by: Thomas Hellstrom <[email protected]>
* r300/compiler: move util functions to radeon_compiler_utilMarek Olšák2010-11-2610-89/+108
| | | | | | | The compiler seriously needs a cleanup as far as the arrangement of functions is concerned. It's hard to know whether some function was implemented or not because there are so many places to search in and it can be anywhere and named anyhow.
* r300/compiler: add a function for swizzling a maskMarek Olšák2010-11-262-6/+15
|
* r300/compiler: remove duplicate function rc_mask_to_swzMarek Olšák2010-11-263-14/+2
|
* r300/compiler: fix rc_rewrite_depth_out for it to work with any instructionMarek Olšák2010-11-261-21/+8
| | | | | | It looks like the function was originally written for ARB_fragment_program. NOTE: This is a candidate for the 7.9 branch.
* u_blitter: use PIPE_TRANSFER_DISCARD to prevent cpu/gpu stallMarek Olšák2010-11-251-2/+5
| | | | | But the driver must be smart here and follow PIPE_TRANSFER_DISCARD, as it should.
* nvfx: reset nvfx->hw_zetaXavier Chantry2010-11-251-1/+3
| | | | | | | | | | | | If nvfx_framebuffer prepare and validate were called successively with fb->zsbuf not NULL and then NULL, nvfx->hw_zeta would contain garbage and this would cause failures in nvfx_framebuffer_relocate/OUT_RELOC(hw_zeta). This was triggered by piglit/texwrap 2D GL_DEPTH_COMPONENT24 and caused first a 'write to user buffer!!' error in libdrm and then worse things. Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
* nvfx: fb->nr_cbufs <= 1 on nv30Xavier Chantry2010-11-251-1/+1
| | | | | | | | 7e1bf946316ff99feaa3f2e85f70b45bd9a77ade changed PIPE_CAP_MAX_RENDER_TARGETS to 1 on nv30. Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
* glsl: Add a virtual as_discard() method.Kenneth Graunke2010-11-251-0/+6
| | | | NOTE: This is candidate for the 7.9 branch.
* glsl: Use do_common_optimization in the standalone compiler.Kenneth Graunke2010-11-251-20/+1
| | | | NOTE: This is a candidate for the 7.9 branch.
* glsl: Don't inline function prototypes.Kenneth Graunke2010-11-251-0/+2
| | | | | | | | | | | | Currently, the standalone compiler tries to do function inlining before linking shaders (including linking against the built-in functions). This resulted in the built-in function _prototypes_ being inlined rather than the actual function definition. This is only known to fix a bug in the standalone compiler; most programs should be unaffected. Still, it seems like a good idea. NOTE: This is a candidate for the 7.9 branch.
* r300/compiler: Move declaration before code.Vinson Lee2010-11-241-1/+1
| | | | | | Fixes this GCC warning with linux-x86 build. radeon_pair_regalloc.c: In function ‘compute_live_intervals’: radeon_pair_regalloc.c:222: warning: ISO C90 forbids mixed declarations and code
* r300/compiler: Move declaration before code.Vinson Lee2010-11-241-1/+1
| | | | | | Fixes this GCC warning with linux-x86 build. radeon_pair_regalloc.c: In function ‘compute_live_intervals’: radeon_pair_regalloc.c:221: warning: ISO C90 forbids mixed declarations and code