summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2009-04-01mesa: simplify ycbcr->rgb conversion codeBrian Paul
2009-04-01mesa: convert more texture fetch functions to return GLfloatBrian Paul
2009-04-01mesa: switch texel fetch functions from GLchan to GLfloatBrian Paul
2009-04-01swrast: use float4_array typedef to simplify the code a bitBrian Paul
2009-04-01mesa: texture combine clean-upsBrian Paul
Use MAX_COMBINER_TERMS instead of 4. Rename some vars. Update comments.
2009-04-01swrast: refactor depth/shadow sampling codeBrian Paul
2009-04-01swrast: general clean-up of texture combine codeBrian Paul
2009-04-01swrast: do texture sampling/combining in floating pointBrian Paul
The code's cleaner and a step toward supporting float-valued texture sampling. Some optimizations for common cases can be added and re-enabled...
2009-04-01glsl: implement compiling/linking of separate compilation unitsBrian Paul
A shader program may consist of multiple shaders (source code units). If we find there are unresolved functions after compiling the unit that defines main(), we'll concatenate all the respective vertex or fragment shaders then recompile. This isn't foolproof but should work in most cases.
2009-04-01mesa: use correct tex unit lod bias for TXB instructionBrian Paul
2009-04-01swrast: fix glDrawBuffer(GL_FRONT_AND_BACK)Brian Paul
We weren't putting the right colors into the back buffer in this mode.
2009-04-01mesa: fix a recursive display list problemBrian Paul
This fixes an issue when compiling glCallList() into another display list when the mode is GL_COMPILE_AND_EXECUTE. Before, the call to glCallList() called _mesa_save_CallList() which called neutral_CallList() which then called _mesa_save_CallList() again. In the end, the parent display list contained two calls to the child display list instead of one. Let's be on the lookout for regressions caused by this change for a while before we cherry-pick this elsewhere.
2009-04-01glsl: fix texgen state variable tokens in emit_statevars()Brian Paul
This fixes broken variable indexing into the gl_Eye/ObjectPlaneS/T/R/Q arrays. See bug 20986.
2009-04-01mesa: minor tweaks in append_token() for printing state var stringsBrian Paul
2009-03-31mesa: fix bug in GPU codegen for fixed-function two-sided lightingBrian Paul
The 'dots' register wasn't getting properly un-negated and un-swizzled after emitting the code for back-face lighting. So, if more than one light source was enabled, the specular exponent for the next light source was wrong. During execution we were evaluating pow(x, y) where y was negative instead of positive. This led to the outcome being zero or NaN. This fixes the occasional black triangles seen in isosurf when hacked to enable two-sided lighting.
2009-03-31mesa: minor reformatting, whitespace changesBrian Paul
2009-03-31Updated CPU_TO_LE32 to work on darwinJeremy Huddleston
2009-03-31gallium: Move pf_is_depth_stencil to p_format.h.José Fonseca
2009-03-31fix ugly copy/paste error in mipmap generation codeRoland Scheidegger
2009-03-30intel: Avoid mapping the texture image for CopyTex{,Sub}ImageAdam Jackson
We don't upload the pixels with the CPU in that case, so the map will only serve as a way of triggering cache flushes over a bunch of data we don't touch.
2009-03-28i965: srgb texture fixesRoland Scheidegger
i965 can either do SRGBA8_REV format or SARGB8 format, but not SRGBA8. Could add SRGBA8_REV support to mesa, but simply use SARGB8 for now. While here, also add true srgb luminance / luminance_alpha support - unfortunately the published docs fail to mention which asics support this, tested on g43 so assume this works on any g4x.
2009-03-28mesa: fix a glGetTexImage issue with base-converted texture formatsRoland Scheidegger
need to respect the user-supplied base format, not the one derived from the texture format actually used.
2009-03-28i965: add support for signed rgba texture formatRoland Scheidegger
2009-03-28mesa: add _rev signed rgba texture formatRoland Scheidegger
2009-03-28glapi regenerateRoland Scheidegger
2009-03-28glapi: remove a couple accidental GL_ prefixesRoland Scheidegger
2009-03-28mesa: add new signed rgba texture formatRoland Scheidegger
This is a (partial) backport of the signed texture format support in OGL 3.1. Since it wasn't promoted from an existing extension roll our own.
2009-03-28fix various small intel blitter issuesRoland Scheidegger
use color format constants instead of magic numbers remove handling of cpp 0 or 3 (neither is possible) in various places don't misconfigure 8 bit surface blits as rgb565
2009-03-27mesa: Support Z24S8 wherever S8Z24 is supported.José Fonseca
2009-03-26st: init the default texture to (0,0,0,1)Brian Paul
The default texture is used when a sampler uses an incomplete texture. This change fixes the piglit fp-incomplete test.
2009-03-26gallium: Remove some little-used fields from struct pipe_surface.Michel Dänzer
2009-03-25r300: cleanup swtcl a littleMaciej Cencora
- remove disabled code - silence compiler warnings (uinitialized values) - remove unneeded code
2009-03-25Convert u_int*_t to C99 standard uint*_tAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-03-25slang: ensure structure elements have their array length setAlan Hourihane
2009-03-25r300_cmdbuf.c: convert cast to a form supported by Sun ccAlan Coopersmith
Fixes Sun cc error: "r300_cmdbuf.c", line 142: invalid cast expression Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-03-25r300: Texture size limit cleanups.Michel Dänzer
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...
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).