summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
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).
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.