summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2009-03-24mesa: bump MAX_PROGRAM_TEMPS to 256 (there's some big shaders out there)Alan Hourihane
2009-03-24mesa/st: bump gallium version to 0.3Keith Whitwell
To distinguish from the -0.2 version still being maintained on the gallium-mesa-7.4 branch. There are already greater interface changes between these two branches than there were between -0.2 and -0.1. Also stop injecting Tungsten into the vendor string - the Gallium in the renderer string should be sufficient.
2009-03-24i965: fix point rasterization when rendering to FBORobert Ellison
The FBO pixel coordinate system, with (0,0) as the upper-left pixel, is inverted in Y compared to the normal OpenGL pixel coordinate system, which has (0,0) as its lower-left pixel. Viewport and polygon stipple are sensitive to this inversion; so is point rasterization. The basic fix is simple: when rendering to an FBO, instead of the normal RASTRULE_UPPER_RIGHT that's appropriate for OpenGL windows, use the Y inversion RASTRULE_LOWER_RIGHT. Unfortunately, current Intel documentation has this value listed as "Reserved, but not seen as useful". It does work on at least some i965-class devices, though; and the worst that could happen if an older device didn't support it would be incorrect point rasterization to FBOs, which is what happens already, so this fix is at least no worse than what happens presently, and is better for some (and possibly all) i965-class devices.
2009-03-23i965: Fix glFrontFacing in twoside GLSL demo.Eric Anholt
This also cuts instructions by just using the existing bit in the payload rather than computing it from the determinant in the SF unit and passing it as a varying down to the WM. Something still goes wrong with getting the backface color right, but a simpler shader appears to get the right result.
2009-03-23i965: Fix fog coordinate g,b,a values when glFrontFacing isn't used.Eric Anholt
Previously, we would sample (f,glFrontFacing,undef,undef) instead of the (f,0,0,1) that fragment.fogcoord is supposed to return. Due to glFrontFacing's presence in FOGC.y, we'll still give bad results there when glFrontFacing is used. Bug #19122, piglit testcase fp-fog.
2009-03-23i965: Clean up a bit of mess with unneeded variables in emit_interp.Eric Anholt
2009-03-23i965: Fix trailing "d" in debug output for 3DSTATE_VERTEX_ELEMENTS.Eric Anholt
2009-03-23i965: Fix occlusion query when no other WM state updates occur.Eric Anholt
Turns out that XXX comment was important. We weren't flagging the WM to re-update with the statistics enable, so we got zeroes out of our query. Bug #20740, fixes piglit occlusion_query test. Signed-off-by: Eric Anholt <eric@anholt.net>
2009-03-23gallium: Remove remnants of reference counting internals outside of p_refcnt.h.Michel Dänzer
2009-03-21gallium: remove remaining references to origin_lower_leftKeith Whitwell
2009-03-21st: Silence compiler warnings.Michal Krol
2009-03-20gallium: remove use of origin_lower_leftBrian Paul
This was used to indicate OpenGL's lower-left origin for fragment window coordinates for polygon stipple and gl_FragCoord. Now: - fragment coordinate origin is always upper-left corner - GL polygon stipple is inverted and shifted before given to gallium - GL fragment programs that use INPUT[WPOS] are modified to use an inverted window coord which is placed in a temp register. Note: the origin_lower_left field still exists in pipe_rasterizer_state. Remove it when all the drivers, etc. no longer reference it.
2009-03-20mesa: add new internal state var for window sizeBrian Paul
Actually, window width - 1, height - 1
2009-03-20mesa: linear scan register allocation for shader programsBrian Paul
This is a check-point commit; not turned on yet. Use the linear scan register allocation algorithm to re-allocate temporary registers. This is done by computing the live intervals for registers and reallocating temps with that information. For some shaders this dramatically reduces the number of temp registers needed. For the time being we give up on a few cases such as relative-indexed temps and subroutine calls (but we inline most GLSL functions anyway).
2009-03-20Fix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.Eric Anholt
This requires upgrading the interface so that the argument to glXBindTexImageEXT isn't just dropped on the floor. Note that this only fixes the accelerated path on Intel, as Mesa's texture format support is missing x8r8g8b8 support (right now, GL_RGB textures get uploaded as a8r8gb8, but in this case we're not doing the upload so we can't really work around it that way). Fixes bugs with compositors trying to use shaders that use alpha channels, on windows without a valid alpha channel. Bug #19910 and likely others as well. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2009-03-20slang: Use _mesa_snprintf() wrapper.Michal Krol
2009-03-19slang: initialize the contextAlan Hourihane
2009-03-19slang: support uniform arraysAlan Hourihane
2009-03-19glslcompiler: added new options to override debug/optimization pragmasBrian Paul
2009-03-19glsl: change GLSL #pragma initializationBrian Paul
Initialize the shader's pragma settings before calling the compiler. Added pragma "Ignore" fields to allow overriding the #pragma directives found in shader source code.
2009-03-19glsl: when debug pragma is on, emit comments about function calls/inlinesBrian Paul
BTW, the debug pragma syntax is "#pragma debug(on)"
2009-03-19mesa: check renderbuffer is defined before use.Alan Hourihane
2009-03-19st/gl: Only transfer needed parts in st_TexSubimageJakob Bornecrantz
2009-03-19slang: if/else/break & if/else/continue work for unrolled loopsAlan Hourihane
2009-03-19swrast: Silence compiler warnings, give better structure to the code as a ↵Michal Krol
result.
2009-03-18mesa: use the IROUND() macro in pixel packing codeBrian Paul
It turns out some tests are sensitive to rounding vs. truncating when converting float color values to integers in glReadPixels(). In particular, this matters when the destination format is 5/6/5 or 4/4/4/4, etc.
2009-03-18slang: redo the last commit for if/break & if/continue tests as itAlan Hourihane
wasn't good enough for deeply nested if's.
2009-03-18Revert "slang: if we detect an if/break or if/continue within a loop and we're"Alan Hourihane
This reverts commit 752296b8f311c5e3844f3ce89d17ba57224ce5ba.
2009-03-18slang: if we detect an if/break or if/continue within a loop and we'reAlan Hourihane
trying to unroll, bail, and fallback to doing the real loop.
2009-03-18st: call _glapi_check_multithread from st_make_currentKeith Whitwell
This function is called from many OS-dependent versions of MakeCurrent. Move the check for multithreading to this central location to avoid having to make this check from all the callers.
2009-03-18st: need to free/realloc pipe texture when we're handed image level > last_levelBrian Paul
Fixes progs/tests/tri-fbo-tex-mip.c
2009-03-18st: clean up some if-statment codeBrian Paul
2009-03-18st: update texture commentsBrian Paul
2009-03-18Use the specified X11 headers for xlib mesaDan Nicholson
The xlib build was using the system's Xlib headers or bombing if they weren't available.
2009-03-17swrast: use better _swrast_compute_lambda() functionBrian Paul
The MAX-based function can produce values that are non-monotonic for a span which causes glitches in texture filtering. The sqrt-based one avoids that. This is perhaps slightly slower than before, but the difference probably isn't noticable given we're doing software mipmap filtering. Issue reported by Nir Radian <nirr@horizonsemi.com>
2009-03-17mesa: update/fix doxygen commentsVinson Lee
2009-03-16gallium: Use struct pipe_atomic for pipe refcounts.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-03-16mesa: Silence compiler warnings.Michal Krol
2009-03-15vbo: Silence integer-to-pointer warnings.Michal Krol
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-13mesa/st: add check for null front renderbufferKeith Whitwell
Not sure if this indicates a problem elsewhere, but without this check trivial/tri-fbo.c segfaults on resize. With the patch, it renders correctly.
2009-03-13mesa/st: don't call finish in st_glFlush()Keith Whitwell
It is not the state tracker's responsibilty to inject sleeps and pessimize performance in the hope of avoiding buffer synchronization issues in buggy drivers. Calling finish() here will just hide problems that need to be fixed elsewhere.
2009-03-13i965: more register number assertionsBrian Paul
2009-03-13i965: add some register number assertionsBrian Paul
Haven't seen failures yet, but if/when there are, more investigation will be done.
2009-03-13i965: remove unused PROGRAM_INTERNAL_PARAM, added commentBrian Paul
2009-03-13i965: move declarations before codeBrian Paul
2009-03-13i965: debug code, use gl_register_file typeBrian Paul
2009-03-13mesa: glUseProgram() debug code (disabled)Brian Paul
2009-03-13mesa: improve another _mesa_problem() callBrian Paul