| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
This was never fully fleshed out and hasn't been used.
|
| |
|
|
|
|
| |
Signed-off-by: Alan Coopersmith <[email protected]>
|
|
|
|
| |
Useful for debugging to override an application's shader.
|
|
|
|
| |
Otherwise two threads might think each made the refcount go zero.
|
|
|
|
| |
Windows threads block if one over-unlocks them.
|
| |
|
| |
|
|
|
|
|
| |
Namelly, FlushMappedBufferRange takes a subrange relative to the original
range.
|
|
|
|
|
|
|
|
| |
When a hw driver fell back to swrast, swrast wasn't always getting informed
of program changes. When fixed function is translated into shaders, flags
like _NEW_LIGHT, _NEW_TEXTURE, etc. should really signal _NEW_PROGRAM.
In this case, swrast wasn't seeing _NEW_PROGRAM when new fragment shaders
were generated.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
scons/gallium.py
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
src/gallium/include/pipe/p_defines.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_exec_draw.c
|
| |
| |
| |
| |
| |
| | |
Will be needed in coming GL extensions (GL_map_buffer_range, GL 3.0).
Will be used by the vbo module to avoid reallocating vbo's at each
draw primitive call.
|