summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* Convert u_int*_t to C99 standard uint*_tAlan Coopersmith2009-03-251-1/+1
| | | | Signed-off-by: Alan Coopersmith <[email protected]>
* slang: ensure structure elements have their array length setAlan Hourihane2009-03-251-0/+1
|
* r300_cmdbuf.c: convert cast to a form supported by Sun ccAlan Coopersmith2009-03-251-1/+1
| | | | | | | Fixes Sun cc error: "r300_cmdbuf.c", line 142: invalid cast expression Signed-off-by: Alan Coopersmith <[email protected]>
* r300: Texture size limit cleanups.Michel Dänzer2009-03-254-6/+23
| | | | | | | | | Since core Mesa MAX_TEXTURE_LEVELS was bumped, we were incorrectly advertising a maximum texture size of 4096 on older chips, causing corrupted menu text in Extreme Tux Racer or Armagetron. Also make sure our texture image array can actually hold all the mipmap levels we support...
* mesa: bump MAX_PROGRAM_TEMPS to 256 (there's some big shaders out there)Alan Hourihane2009-03-241-1/+1
|
* mesa/st: bump gallium version to 0.3Keith Whitwell2009-03-241-13/+2
| | | | | | | | | 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.
* i965: fix point rasterization when rendering to FBORobert Ellison2009-03-242-1/+45
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* i965: Fix glFrontFacing in twoside GLSL demo.Eric Anholt2009-03-238-38/+79
| | | | | | | 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.
* i965: Fix fog coordinate g,b,a values when glFrontFacing isn't used.Eric Anholt2009-03-231-0/+50
| | | | | | | | | 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.
* i965: Clean up a bit of mess with unneeded variables in emit_interp.Eric Anholt2009-03-231-7/+2
|
* i965: Fix trailing "d" in debug output for 3DSTATE_VERTEX_ELEMENTS.Eric Anholt2009-03-231-1/+1
|
* i965: Fix occlusion query when no other WM state updates occur.Eric Anholt2009-03-231-2/+3
| | | | | | | | | 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 <[email protected]>
* gallium: Remove remnants of reference counting internals outside of p_refcnt.h.Michel Dänzer2009-03-231-1/+1
|
* gallium: remove remaining references to origin_lower_leftKeith Whitwell2009-03-211-3/+0
|
* st: Silence compiler warnings.Michal Krol2009-03-211-2/+2
|
* gallium: remove use of origin_lower_leftBrian Paul2009-03-204-24/+197
| | | | | | | | | | | | | | 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.
* mesa: add new internal state var for window sizeBrian Paul2009-03-202-0/+14
| | | | Actually, window width - 1, height - 1
* mesa: linear scan register allocation for shader programsBrian Paul2009-03-201-21/+407
| | | | | | | | | | | | | | 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).
* Fix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.Eric Anholt2009-03-206-15/+51
| | | | | | | | | | | | | | 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 <[email protected]>
* slang: Use _mesa_snprintf() wrapper.Michal Krol2009-03-201-1/+1
|
* slang: initialize the contextAlan Hourihane2009-03-191-2/+3
|
* slang: support uniform arraysAlan Hourihane2009-03-191-1/+13
|
* glslcompiler: added new options to override debug/optimization pragmasBrian Paul2009-03-191-7/+36
|
* glsl: change GLSL #pragma initializationBrian Paul2009-03-194-14/+25
| | | | | | 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.
* glsl: when debug pragma is on, emit comments about function calls/inlinesBrian Paul2009-03-193-0/+13
| | | | BTW, the debug pragma syntax is "#pragma debug(on)"
* mesa: check renderbuffer is defined before use.Alan Hourihane2009-03-191-8/+10
|
* st/gl: Only transfer needed parts in st_TexSubimageJakob Bornecrantz2009-03-191-4/+2
|
* slang: if/else/break & if/else/continue work for unrolled loopsAlan Hourihane2009-03-192-7/+38
|
* swrast: Silence compiler warnings, give better structure to the code as a ↵Michal Krol2009-03-192-61/+62
| | | | result.
* mesa: use the IROUND() macro in pixel packing codeBrian Paul2009-03-181-108/+108
| | | | | | 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.
* slang: redo the last commit for if/break & if/continue tests as itAlan Hourihane2009-03-181-1/+8
| | | | wasn't good enough for deeply nested if's.
* Revert "slang: if we detect an if/break or if/continue within a loop and we're"Alan Hourihane2009-03-181-28/+17
| | | | This reverts commit 752296b8f311c5e3844f3ce89d17ba57224ce5ba.
* slang: if we detect an if/break or if/continue within a loop and we'reAlan Hourihane2009-03-181-17/+28
| | | | trying to unroll, bail, and fallback to doing the real loop.
* st: call _glapi_check_multithread from st_make_currentKeith Whitwell2009-03-181-0/+5
| | | | | | | 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.
* st: need to free/realloc pipe texture when we're handed image level > last_levelBrian Paul2009-03-181-0/+1
| | | | Fixes progs/tests/tri-fbo-tex-mip.c
* st: clean up some if-statment codeBrian Paul2009-03-181-12/+11
|
* st: update texture commentsBrian Paul2009-03-181-7/+5
|
* Use the specified X11 headers for xlib mesaDan Nicholson2009-03-181-1/+2
| | | | | The xlib build was using the system's Xlib headers or bombing if they weren't available.
* swrast: use better _swrast_compute_lambda() functionBrian Paul2009-03-171-6/+6
| | | | | | | | | | 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 <[email protected]>
* mesa: update/fix doxygen commentsVinson Lee2009-03-1712-17/+16
|
* gallium: Use struct pipe_atomic for pipe refcounts.Thomas Hellstrom2009-03-161-1/+1
| | | | Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* mesa: Silence compiler warnings.Michal Krol2009-03-161-0/+1
|
* vbo: Silence integer-to-pointer warnings.Michal Krol2009-03-151-3/+3
|
* gallium: consolidate bypass_vs and bypass_clipping flagsKeith Whitwell2009-03-132-18/+6
| | | | | | | | | 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.
* gallium: no need to keep a copy of shader tokens in state trackerKeith Whitwell2009-03-134-25/+4
| | | | | | | | 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...
* mesa/st: add check for null front renderbufferKeith Whitwell2009-03-131-9/+12
| | | | | | 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.
* mesa/st: don't call finish in st_glFlush()Keith Whitwell2009-03-131-4/+7
| | | | | | | | | 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.
* i965: more register number assertionsmesa_20090313Brian Paul2009-03-131-0/+7
|
* i965: add some register number assertionsBrian Paul2009-03-131-0/+8
| | | | | Haven't seen failures yet, but if/when there are, more investigation will be done.
* i965: remove unused PROGRAM_INTERNAL_PARAM, added commentBrian Paul2009-03-131-3/+1
|