summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* swrast: do texture sampling/combining in floating pointBrian Paul2009-04-018-779/+512
| | | | | The code's cleaner and a step toward supporting float-valued texture sampling. Some optimizations for common cases can be added and re-enabled...
* glsl: implement compiling/linking of separate compilation unitsBrian Paul2009-04-016-23/+139
| | | | | | | | | 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.
* mesa: use correct tex unit lod bias for TXB instructionBrian Paul2009-04-011-2/+2
|
* swrast: fix glDrawBuffer(GL_FRONT_AND_BACK)Brian Paul2009-04-011-2/+8
| | | | We weren't putting the right colors into the back buffer in this mode.
* mesa: fix a recursive display list problemBrian Paul2009-04-011-1/+1
| | | | | | | | | | | | | 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.
* glsl: fix texgen state variable tokens in emit_statevars()Brian Paul2009-04-011-8/+16
| | | | | This fixes broken variable indexing into the gl_Eye/ObjectPlaneS/T/R/Q arrays. See bug 20986.
* mesa: minor tweaks in append_token() for printing state var stringsBrian Paul2009-04-011-8/+8
|
* mesa: fix bug in GPU codegen for fixed-function two-sided lightingBrian Paul2009-03-311-2/+12
| | | | | | | | | | | | | 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.
* mesa: minor reformatting, whitespace changesBrian Paul2009-03-311-25/+26
|
* Updated CPU_TO_LE32 to work on darwinJeremy Huddleston2009-03-311-1/+4
|
* gallium: Move pf_is_depth_stencil to p_format.h.José Fonseca2009-03-311-6/+0
|
* fix ugly copy/paste error in mipmap generation codeRoland Scheidegger2009-03-311-1/+1
|
* intel: Avoid mapping the texture image for CopyTex{,Sub}ImageAdam Jackson2009-03-301-11/+13
| | | | | | 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.
* i965: srgb texture fixesRoland Scheidegger2009-03-283-10/+27
| | | | | | | | 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.
* mesa: fix a glGetTexImage issue with base-converted texture formatsRoland Scheidegger2009-03-282-8/+9
| | | | | need to respect the user-supplied base format, not the one derived from the texture format actually used.
* i965: add support for signed rgba texture formatRoland Scheidegger2009-03-283-0/+9
|
* mesa: add _rev signed rgba texture formatRoland Scheidegger2009-03-284-5/+78
|
* glapi regenerateRoland Scheidegger2009-03-281-3008/+3015
|
* glapi: remove a couple accidental GL_ prefixesRoland Scheidegger2009-03-281-24/+24
|
* mesa: add new signed rgba texture formatRoland Scheidegger2009-03-2818-45/+342
| | | | | 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.
* fix various small intel blitter issuesRoland Scheidegger2009-03-281-11/+12
| | | | | | 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
* mesa: Support Z24S8 wherever S8Z24 is supported.José Fonseca2009-03-272-0/+48
|
* st: init the default texture to (0,0,0,1)Brian Paul2009-03-261-2/+12
| | | | | The default texture is used when a sampler uses an incomplete texture. This change fixes the piglit fp-incomplete test.
* gallium: Remove some little-used fields from struct pipe_surface.Michel Dänzer2009-03-263-44/+0
|
* r300: cleanup swtcl a littleMaciej Cencora2009-03-251-9/+1
| | | | | | - remove disabled code - silence compiler warnings (uinitialized values) - remove unneeded code
* 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)"