summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker
AgeCommit message (Collapse)Author
2010-01-11st/mesa: removed unused varBrian Paul
2010-01-11st/mesa: comments, whitespaceBrian Paul
2010-01-12st/mesa: Remove st_api.c.Chia-I Wu
st_api.c is supposed to define st_api_OpenGL to advertise OpenGL support. However, the linker discards the symbol because it has no user. It is better to leave this to other state trackers that link to libmesagallium.a. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-11st: Mark functions in st_public.h and vg_tracker.h as public.Chia-I Wu
These functions are the API of Gallium state tracker, and are used by EGL. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-11Fix compressed texture loads for non-minimal pitchesLuca Barbieri
The current glCompressedTexImage support in the state tracker assumes that compressed textures have minimal pitch. However, in some cases this is not true, such as for mipmaps of non-POT compressed textures on nVidia hardware. This patch adds a check and does a memcpy for each line instead of the whole image in that case. Signed-off-by: Keith Whitwell <keithw@vmware.com> Tweaks for C90 compilation.
2010-01-11st/dri: update dri2 drawables when viewport is changedBen Skeggs
Fixes gnome-shell on nouveau, as well as window resize with various other applications. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
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-05st/mesa: fix broken translation of negative register indexesBrian Paul
A src register's index can be negative if we're doing indirect addressing into the constant buffer. Ex: MOV OUT[1], CONST[ADDR[0].x-3] This fixes the piglit vp-arl-neg-array.vpfp test. Before this change we were going out of bounds of the t->constants[] array and getting garbage that later triggered an assertion.
2010-01-05st/mesa: added PROGRAM_LOCAL_PARAM case in src_register()Brian Paul
Fixes piglit vpfp-generic arl.vpfp failure when using gallium.
2010-01-04mesa: make texture BorderColor a union of float/int/uintBrian Paul
When we have integer-valued texture formats, the texture border color must also store integer and uint values. With GL 3.0, the new glTexParameterIiv() and glTexParameterIuiv() functions can set the border color to int or uint values.
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-04st/mesa: Only call st_texture_image_unmap() if texImage->Data is non-NULL.Michel Dänzer
This was already done in st_TexImage() but was missed between incremental changes to st_TexSubimage().
2010-01-03mesa: Cope with the degenerate case of zero length ranges.José Fonseca
Fixes assertion failures on glean's bufferObject test.
2009-12-31st/mesa: implement conditional renderingBrian Paul
2009-12-31st/mesa: move st_query_object type to header to make it publicBrian Paul
2009-12-31Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: configs/darwin src/gallium/auxiliary/util/u_clear.h src/gallium/state_trackers/xorg/xorg_exa_tgsi.c src/mesa/drivers/dri/i965/brw_draw_upload.c
2009-12-29st/mesa: add PIPE_FORMAT_Z24S8_UNORM in st_get_format_info()Brian Paul
Fixes progs/demos/fbotexture on Nouveau. Patch submitted by Luca Barbieri <luca@luca-barbieri.com>.
2009-12-29mesa: implement per-buffer color maskingBrian Paul
This is part of the GL_EXT_draw_buffers2 extension and part of GL 3.0. The ctx->Color.ColorMask field is now a 2-D array. Until drivers are modified to support per-buffer color masking, they can just look at the 0th color mask. The new _mesa_ColorMaskIndexed() function will be called by glColorMaskIndexedEXT() or glColorMaski().
2009-12-27Merge branch 'mesa_7_7_branch'Brian Paul
2009-12-27st/mesa: add missing case for PIPE_FORMAT_B8G8R8A8_UNORMBrian Paul
2009-12-25gallium: add geometry shader support to galliumZack Rusin
2009-12-23gallium: only create pipe buffer when size is nonzeroMaarten Maathuis
- This fixes a crash upon starting spring (a rts engine/game). Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
2009-12-22Merge branch 'gallium-edgeflags'Roland Scheidegger
Conflicts: src/mesa/state_tracker/st_draw.c
2009-12-22Merge branch 'i965g-restart'Keith Whitwell
Conflicts: configure.ac
2009-12-21Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/mesa/main/version.h src/mesa/state_tracker/st_atom_shader.c
2009-12-21Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul
Conflicts: configure.ac progs/demos/morph3d.c progs/demos/textures.c progs/glsl/shtest.c progs/glsl/texaaline.c progs/tests/packedpixels.c progs/xdemos/corender.c src/mesa/main/version.h
2009-12-21Merge commit 'origin/master' into i965g-restartKeith Whitwell
Conflicts: SConstruct configs/default configs/linux-dri
2009-12-21st/mesa: Check for single level mipmap trees.Younes Manton
The assert in util_gen_mipmap() caught it, although it does the right thing anyway.
2009-12-19gallium: don't use edgeflags if the app didn't supply themRoland Scheidegger
2009-12-19gallium: fix not generating new vp varient when polygon mode changesRoland Scheidegger
2009-12-18fix debug output mising from edgeflag changesRoland Scheidegger
2009-12-18gallium: fix mesa to tgsi translation for edgeflagsRoland Scheidegger
test apps (progs/trivial/tri-edgeflags and similar) seem to work now
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-17s/desc->type/desc->channel[0].type/Michal Krol
2009-12-16gallium: edgeflags change fixesRoland Scheidegger
use correct number of vertex inputs fix not running pipeline in case of edgeflags changes to mesa to tgsi translation still very broken
2009-12-16st/mesa: remove //-style commentsBrian Paul
2009-12-14gallium: more work for edgeflags changesRoland Scheidegger
fixes, cleanups, etc. not working yet
2009-12-12st/mesa: Silence uninitialized variables warnings in st_draw.c.Vinson Lee
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-09gallium: first steps to treat edgeflags as regular vertex elementKeith Whitwell
The idea here is to eliminate the set_edgeflags() call in pipe_context by treating edgeflags as a regular vertex element. Edgeflags provoke special treatment in hardware, which means we need to label them in some way, in this case we'll be passing them through the vertex shader and labelling the vertex shader output with a new TGSI semantic (TGSI_SEMANTIC_EDGEFLAG).
2009-12-09Revert "Simplify the redundant meaning of format layout."Michal Krol
This reverts commit eb926ddf9eee1095c7fc12013f0b8375bbaeca6f.
2009-12-09mesa: Move OES_read_format support from drivers into the core.Eric Anholt
The assertion is that the correct read type to be using is the native type of the underlying read renderbuffer. For some fallback paths, this may be worse than GL_RGBA/GL_UNSIGNED_BYTE for reads today, but it gets all drivers the expected GL_BGRA/GL_UNSIGNED_BYTE for ARGB8888 or GL_BGR//GL_UNSIGNED_SHORT_5_6_5_REV for rgb565 with no work. This fixes the intel (and other) DRI drivers to report read formats that should hit blit PBO readpixels paths.
2009-12-08Simplify the redundant meaning of format layout.Michal Krol
We really just need to know whether the format is compressed or not. For more detailed information format colorspace should suffice.
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-08Remove remaining pipe format utility functions.Michal Krol
Depricate pf_type(), pf_size_*(), pf_layout() and pf_exp2(). Map depricated PIPE_FORMAT_TYPE to new UTIL_FORMAT_ values: UNKNOWN = TYPE_VOID UNORM = TYPE_UNSIGNED + LAYOUT_ARITH SNORM = TYPE_SIGNED + LAYOUT_ARITH FIXED = TYPE_FIXED FLOAT = TYPE_FLOAT USCALED = TYPE_UNSIGNED + LAYOUT_ARRAY SSCALED = TYPE_SIGNED + LAYOUT_ARRAY SRGB = TYPE_COLORSPACE_SRGB
2009-12-18st/mesa: move assert on nr vs insns until after pos_invarient expansionKeith Whitwell
It is possible to have a 1-instruction vertex shader before expanding pos_invarient. Not sure what this assert achieved, but at least move it where it is correct.
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.