summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* Move the remaining format pf_get_* functions to u_format.h.Michal Krol2009-12-1726-134/+152
| | | | | Previously they depended on format blocks, but after removing those they started depending on format encoding.
* Merge branch 'master' into pipe-format-simplifyMichal Krol2009-12-1797-1593/+2688
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * llvmpipe: add LP_DEBUG env varJosé Fonseca2009-12-163-59/+151
| | | | | | | | Cherry-picked from dec35d04aeb398eef159aaf8cde5e0d04622b811.
| * llvmpipe: fix broken TGSI_OPCODE_FRC codegenBrian Paul2009-12-161-1/+1
| |
| * llvmpipe: fix broken lp_build_abs()Brian Paul2009-12-161-1/+2
| |
| * r300g: fix emission of which textures are enabledMarek Olšák2009-12-151-1/+12
| | | | | | | | | | | | It fixes most of the "Bad CS" issues in piglit/texCombine and piglit/fbo. Some other issues of this kind will get fixed in the kernel soon (depth-only rendering, S3TC, and RGTC).
| * r300g: clean up the invariant stateMarek Olšák2009-12-151-10/+3
| |
| * r300g: clamp vertex indices to [min,max] everywhereMarek Olšák2009-12-152-7/+6
| |
| * r300g: if no colorbuffers are set, disable blending and set the color mask to 0Marek Olšák2009-12-152-3/+11
| | | | | | | | This seems to be the only way to disable the first colorbuffer.
| * r300g: set the number of colorbuffers in RB3D_CCTLMarek Olšák2009-12-153-3/+6
| |
| * r300g: remove unnecessary flush in set_sampler_texturesMarek Olšák2009-12-151-2/+0
| |
| * r300g: add Z24X8 to the list of unsupported sampler formats on R3xx-R4xxMarek Olšák2009-12-151-1/+7
| |
| * r300g: add acceleration of the clear, surface_copy, and surface_fill functionsMarek Olšák2009-12-157-45/+162
| |
| * llvmpipe: Fix yet another copynpaste typo in lp_build_log2_approx.José Fonseca2009-12-151-1/+1
| | | | | | | | Now fslight looks perfect.
| * llvmpipe: Fix lp_build_polynomial comment.José Fonseca2009-12-151-1/+1
| |
| * llvmpipe: Fix typo in lp_build_log constant.José Fonseca2009-12-151-1/+1
| |
| * llvmpipe: Fix bad SI -> FP conversion into lp_build_log2_approx.José Fonseca2009-12-151-1/+1
| | | | | | | | | | It should be a bitcast as the integer value is actually an encoded FP already.
| * nouveau: avoid running out of relocsMaarten Maathuis2009-12-1411-18/+76
| | | | | | | | | | | | | | - Added flush notify functions for NV30 and NV40. - Flushing mid frame will call flush notify, which will resubmit all relocs. - We don't try to recover from reloc failure yet.
| * nv50: be more cautious about using reg_instanceChristoph Bumiller2009-12-141-17/+10
| | | | | | | | | | | | Trying to free part of nv50_pc->reg_instances[] for an nv50_reg representing an indirect constant resulted in a segmentation fault.
| * nv50: store immediates as uint32Christoph Bumiller2009-12-142-33/+31
| | | | | | | | | | | | | | Sometimes we want non-float immediates, hacking them into floats isn't nice. Sorry, this should have already been committed before.
| * nouveau: nv50: Add missing ctor_immd_4u32 functionPatrice Mandin2009-12-131-2/+15
| |
| * nv50: add proper zslice offset in miptree_surfaceChristoph Bumiller2009-12-132-20/+21
| |
| * nv50: use m2mf z pos instead of calculating offset manuallyChristoph Bumiller2009-12-131-13/+10
| |
| * nv50: add craziness for non-constant TXB and TXLChristoph Bumiller2009-12-131-44/+204
| | | | | | | | | | | | If lod or bias can be non-constant across a quad of fragments, we need to execute TEX separately for each value. Don't ask why.
| * Revert "nouveau: nv30: Disable swizzled surface usage if any dimension is 1 ↵Patrice Mandin2009-12-121-3/+0
| | | | | | | | | | | | (Warsow creates a 1x1 front buffer)" This reverts commit ec7844537ecdb0b598447e37bf0b7120acd029f3.
| * nouveau: nv30: Disable swizzled surface usage if any dimension is 1 (Warsow ↵Patrice Mandin2009-12-121-0/+3
| | | | | | | | creates a 1x1 front buffer)
| * nv50: support TXB and TXLChristoph Bumiller2009-12-122-57/+108
| | | | | | | | | | | | ... and don't set the 'live' flag for TEX anymore, we'd have to know if results affect the inputs for another TEX, and I'm not going to do that kind of analysis now.
| * nv50: add S8Z24 depth texture format tooChristoph Bumiller2009-12-123-0/+3
| |
| * nv50: fix depth comparison func TSC bitsChristoph Bumiller2009-12-121-2/+3
| | | | | | | | | | | | Unfortunately it seems that if depth comparison is active and we read a 2D texture, i.e. provide only 2 inputs, the second is used for comparison ...
| * nv50: add src_mask case for IF opcodeChristoph Bumiller2009-12-121-0/+2
| |
| * nv50: plug memory leak in miptree creation/destructionChristoph Bumiller2009-12-121-0/+6
| | | | | | | | | | | | Keeping this dynamically allocated for texture arrays. Since we don't use it to store zslice offsets anymore it's either 1 or 6 integers (cube) ...
| * nv50: use copies of tgsi src nv50_regsChristoph Bumiller2009-12-121-26/+22
| | | | | | | | | | So we can use the 'mod' member without concern if a source is used multiple times in 1 insn.
| * nv50: support vertex program texturesChristoph Bumiller2009-12-125-74/+156
| |
| * Merge branch 'mesa_7_7_branch'Brian Paul2009-12-114-19/+39
| |\ | | | | | | | | | | | | | | | Conflicts: src/gallium/state_trackers/xorg/xorg_xv.c src/mesa/drivers/dri/intel/intel_span.c
| | * svga: Add a missing dependency from the prescale state.José Fonseca2009-12-111-1/+2
| | | | | | | | | | | | | | | | | | Thanks for Keith to finding this. Fixes Jedi Knight 2 menus.
| | * svga: Always pass SVGA3D_SURFACE_HINT_DYNAMIC.José Fonseca2009-12-111-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since we're reusing buffers we're effectively transforming all of them into dynamic buffers. It would be nice to not cache long lived static buffers. But there is no way to detect the long lived from short lived ones yet. A good heuristic would be buffer size.
| | * svga: Keep tight control of texture handle ownership.José Fonseca2009-12-112-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The texture owns the surface handle. All derivatives need to keep a reference to texture. This fixes several assertions failures starting up Jedi Knight 2. Should cause no change for DRM surface sharing -- reference count still done as before there.
| | * svga: Fix mixed signed comparisons.José Fonseca2009-12-111-1/+1
| | |
| * | r300g: fix routing of vertex streams if TCL is bypassedMarek Olšák2009-12-094-25/+29
| | | | | | | | | | | | Generating mipmaps finally works, among other things. Yay!
| * | r300g: always disable unused colorbuffersMarek Olšák2009-12-091-1/+14
| | |
| * | r300g: make pow(0,0) return 1 instead of NaN in the R500 fragment shaderMarek Olšák2009-12-091-1/+1
| | | | | | | | | | | | | | | Unfortunately we can't fix this easily in the R300 fragment shader, and it's probably not worth the effort.
| * | r300g: clean up r300_emit_aosMarek Olšák2009-12-093-26/+59
| | |
| * | nouveau: use boolean instead of boolRoland Scheidegger2009-12-086-6/+6
| | |
| * | cell: use boolean instead of boolRoland Scheidegger2009-12-081-1/+1
| | |
| * | Merge branch 'gallium-strict-aliasing'Roland Scheidegger2009-12-0810-21/+29
| |\ \
| | * | gallium: fix more potential strict aliasing issuesRoland Scheidegger2009-12-082-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, gcc man page warns that union a_union { int i; double d; }; int f() { double d = 3.0; return ((union a_union *) &d)->i; } "might" not be ok (why not?), even though it doesn't seem to generate any warnings. Hence don't use this and do the extra step to actually use assignment to get the values in/out of the union. This changes parts of 3456f9149b3009fcfce80054759d05883d3c4ee5.
| | * | gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safeRoland Scheidegger2009-12-076-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use pointer to union instead of void pointer. gcc complained a lot, depending what the pointer originally actually was. Looks like it's in fact maybe legal to cast for instance uint pointers to union pointers as long as union contains a uint type, hence use this with some callers, other just use union util_color in the first place.
| | * | identity: fix copy&paste errorRoland Scheidegger2009-12-041-1/+1
| | | |
| | * | svga: fix another pipe_reference strict aliasing violationRoland Scheidegger2009-12-041-1/+2
| | | |
| | * | gallium: fix remaining users of pipe_reference functionRoland Scheidegger2009-12-031-1/+2
| | | |