| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
For luminance, we add R+G+B and it seems we should always clamp in case.
|
| |
|
| |
|
|
|
|
|
| |
EyeDirection -> SpotDirection
_NormDirection -> _NormSpotDirection
|
|
|
|
|
| |
In glLight() we're only supposed to transform the direction by the modelview
matrix, not normalized it too.
|
| |
|
|
|
|
|
|
|
|
|
| |
premature return in TexParameterf caused mesa to never call Driver.TexParameter
breaking drivers relying on this (fix bug #20966).
While here, also fix using ctx->ErrorValue when deciding to call
Driver.TexParameter. Errors are sticky and uncleared errors thus would cause
this to no longer get called. Since we thus need return value of
set_tex_parameter[if] can also optimize this to only call when value changed.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Use MAX_COMBINER_TERMS instead of 4.
Rename some vars.
Update comments.
|
|
|
|
|
| |
The code's cleaner and a step toward supporting float-valued texture sampling.
Some optimizations for common cases can be added and re-enabled...
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
need to respect the user-supplied base format, not the one derived from
the texture format actually used.
|
| |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This gets hit when glTexSubImage2D() is called with format==GL_DU8DV8_ATI.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
If GL_AUX[123] are passed to glRead/DrawBuffer() when those buffers don't
exist, need to generate GL_INVALID_OPERATION, not GL_INVALID_ENUM.
This regression came from commit 555f0a88182e2b1af809b2d97abdac02814a2f28
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The polygon stipple pattern, like the viewport and the
polygon face orientation, must be inverted on the i965
when rendering to a FBO (which itself has an inverted pixel
coordinate system compared to raw Mesa).
In addition, the polygon stipple offset, which orients
the stipple to the window system, disappears when rendering
to an FBO (because the window system offset doesn't apply,
and there's no associated FBO offset).
With these fixes, the conform triangle and polygon stipple
tests pass when rendering to texture.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
add new entrypoints, new texture format, etc
translate in texenvprogram.c for drivers using the mesa-generated tex env
fragment program
also handled in swrast, but not tested (cannot work due to negative texel
results not handled correctly)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the i965, the FBO coordinate system is inverted from the standard
OpenGL/Mesa coordinate system; that means that the viewport and the
polygon face orientation have to be inverted if rendering to a FBO.
The viewport was already being handled correctly; but polygon face
was not. This caused a conform failure when rendering to texture with
two-sided lighting enabled.
This fixes the problem in the i965 driver, and adds to the comment about
the gl_framebuffer "Name" field so that this isn't a surprise to other
driver writers.
|
| |
|
| |
|
|
|
|
| |
It was only used in one place in swrast.
|
| |
|
| |
|
|
|
|
| |
A bit of refactoring with an eye toward ES2 and GL 3.1
|