summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/svga
AgeCommit message (Collapse)Author
2010-01-07svga: Fix fs key size computation and key comparison.Michal Krol
This also allows us to have texture_target back as a bitfield and save us a few bytes.
2010-01-06svga: make texture_target a ubyte, not a bitfieldBrian Paul
gcc won't let us take the address of a bitfield in the svga_fs_key_size() function.
2010-01-06Make sure we use only signed/unsigned ints with bitfields.Michal Krol
Seems to be the only way to stay fully portable.
2010-01-06Merge remote branch 'origin/mesa_7_7_branch'José Fonseca
Conflicts: configs/default src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/mesa/main/version.h
2010-01-06gallium: remove PIPE_TEX_FILTER_ANISOLuca Barbieri
This patch removes PIPE_TEX_FILTER_ANISO. Anisotropic filtering is enabled if and only if max_anisotropy > 1.0. Values between 0.0 and 1.0, inclusive, of max_anisotropy are to be considered equivalent, and meaning to turn off anisotropic filtering. This approach has the small drawback of eliminating the possibility of enabling anisotropic filter on either minification or magnification separately, which Radeon hardware seems to support, is currently support by Gallium but not exposed to OpenGL. If this is actually useful it could be handled by splitting max_anisotropy in two values and adding an appropriate OpenGL extension. NOTE: some fiddling & reformatting by keithw to get this patch to apply. Hopefully nothing broken in the process.
2010-01-05svga: Remove stale references to delete shader results.José Fonseca
To ensure that a new result that happens to have the same address of the old one will be detected as a change.
2010-01-05svga: Rebind shaders when tokens change.José Fonseca
Even shader ID doesn't change. Otherwise the token change is not effective. This reverts regression from commit cdb445f3a9285e2d8f042a07021ade78b94e0156. Regression could be seen in Quake3's loading screen -- the upper right corner of the screen would be black.
2010-01-05Merge commit 'origin/gallium-draw-retval'Keith Whitwell
Conflicts: src/gallium/drivers/identity/id_context.c
2010-01-05Remove TGSI_OPCODE_SHR, map existing usage to TGSI_OPCODE_ISHR.Michal Krol
This is to differentiate it from its unsigned version, TGSI_OPCODE_USHR.
2010-01-04Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: docs/relnotes.html src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/r300/r300_cs.h src/mesa/drivers/dri/i965/brw_wm_surface_state.c src/mesa/main/enums.c
2010-01-04svga: Fix debug build crash when rendering to depth/stencil renderbuffer only.Michel Dänzer
2010-01-03svga: Use a shader id as low as possible.José Fonseca
2010-01-03svga: Rename error labels.José Fonseca
Make it easier to insert/remove error branches.
2009-12-26svga: Allow to dump an individual command.José Fonseca
2009-12-25gs: fix drivers so they work with geometry shadersZack Rusin
2009-12-25gallium: add geometry shader support to galliumZack Rusin
2009-12-22Merge branch 'gallium-edgeflags'Roland Scheidegger
Conflicts: src/mesa/state_tracker/st_draw.c
2009-12-21gallium: remove return value from draw callsKeith Whitwell
2009-12-21svga: fix typoRoland Scheidegger
2009-12-19gallium: fix up drivers for edgeflag changesRoland Scheidegger
several drivers which chose to ignore edgeflags might require some more work, while edgeflags never worked there they might now crash.
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-11Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/state_trackers/xorg/xorg_xv.c src/mesa/drivers/dri/intel/intel_span.c
2009-12-11svga: Add a missing dependency from the prescale state.José Fonseca
Thanks for Keith to finding this. Fixes Jedi Knight 2 menus.
2009-12-11svga: Always pass SVGA3D_SURFACE_HINT_DYNAMIC.José Fonseca
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.
2009-12-11svga: Keep tight control of texture handle ownership.José Fonseca
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.
2009-12-11svga: Fix mixed signed comparisons.José Fonseca
2009-12-08Merge branch 'gallium-strict-aliasing'Roland Scheidegger
2009-12-08gallium: fix more potential strict aliasing issuesRoland Scheidegger
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.
2009-12-07gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safeRoland Scheidegger
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.
2009-12-05svga: Dump SVGA_3D_CMD_BLIT_SURFACE_TO_SCREEN commands.José Fonseca
2009-12-05svga: Use _debug_printf, so that output may be dumped in release builds too.José Fonseca
The dump calls should be wrapped in #ifdef DEBUG .. #endif.
2009-12-04svga: fix another pipe_reference strict aliasing violationRoland Scheidegger
2009-12-04Merge branch 'gallium-noblocks'Roland Scheidegger
Conflicts: src/gallium/state_trackers/xorg/xorg_exa.c
2009-12-03gallium: fix reference counting functions to be strict-aliasing compliantRoland Scheidegger
Historically, parts of mesa code are not strict-aliasing safe, hence -fno-strict-aliasing is needed to compile (this got forgotten for scons builds for gallium, which indeed not only caused compiler warnings but also unexplicable crashes in non-debug builds). However, we should try to eliminate code not complying with strict-aliasing code at least for gallium. Hence change pipe_reference functions to make them strict-aliasing compliant. This adds a bit more complexity (especially for derived classes) but is the right thing to do, and it does in fact fix a segfault.
2009-12-03Move pf_get_bits/size() to u_format auxiliary module.Michal Krol
2009-12-03Move pf_is_compressed() to u_format auxiliary module.Michal Krol
2009-12-02Merge branch 'mesa_7_7_branch'Jakob Bornecrantz
2009-12-02gallium: adapt drivers to interface cleanupsRoland Scheidegger
2009-12-01svga: Add header files for overlay supportJakob Bornecrantz
2009-12-01Merge commit 'origin/tgsi-simplify-ext'Keith Whitwell
Conflicts: src/gallium/drivers/r300/r300_vs.c
2009-12-01Merge commit 'origin/mesa_7_7_branch'Keith Whitwell
Conflicts: src/gallium/drivers/svga/svga_screen_texture.c src/gallium/state_trackers/xorg/xorg_composite.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/mesa/main/texgetimage.c src/mesa/main/version.h
2009-12-01svga: Update for renamed sampler/texture state setters.Michal Krol
2009-11-27svga: fix for not using texture width/height/depth arraysRoland Scheidegger
2009-11-27svga: Re-add shader dumping.José Fonseca
2009-11-27svga: Handle comment tokens when dumping.José Fonseca
2009-11-27svga: Use consistent names for public symbol names of shader dumping facilities.José Fonseca
2009-11-27svga: Use consistent file names for dumping facilities.José Fonseca
2009-11-27svga: flush our command buffer after the 8th distinct render targetKeith Whitwell
This helps improve the surface cache behaviour in the face of the large number of single-use render targets generated by EXA and the xorg state tracker. Without this we can reference hundreds of individual render targets from a command buffer, which leaves little scope for sharing or reuse of those targets. Flushing early means we can start reusing textures much sooner. This shouldn't have much effect on normal 3d rendering as it's pretty rare to have a command buffer with >8 different render targets in that world.
2009-11-27svga: add DEBUG_CACHE optionKeith Whitwell