Age | Commit message (Collapse) | Author |
|
I believe this is the last of the shader-related functions that needed
display list treatment.
|
|
|
|
Note: there are more glUniform functions to compile...
|
|
Fixes bug 23746
|
|
We were passing the address of a float to functions that would deref the
pointer as an array.
|
|
|
|
|
|
Allocate dlist images after error checking.
Record GL_OUT_OF_MEMORY when we can't make a copy of an image.
|
|
Only short-circuit material call if *all* statechanges from this call
are cached. Some material calls (eg with FRONT_AND_BACK) change more
than one piece of state -- need to check all of them before returning.
Also, Material calls are legal inside begin/end pairs, so don't need
to be as careful about begin/end state as with regular statechanges
(like ShadeModel) when caching. Take advantage of this and do better
caching.
|
|
Statechanges which occur before the first End in a display list may
not be replayed when the list is called, in particular if it is called
from within a begin/end pair.
Recognize vulnerable statechanges and do not use them to fill in the
state cache.
|
|
When compiling a display list containing a CallList, it is necessary to
invalidate any assumption about the GL state after the recursive call
completes.
|
|
Reorganization of ShadeModel to avoid flushing vertices too often
ended up never flushing vertices due to omitted line of code.
|
|
Currently, state-changes in mesa display lists are more or less
a verbatim recording of the GL calls made during compilation.
This change introduces a minor optimization to recognize and eliminate
cases where the application emits redundant state changes, eg:
glShadeModel( GL_FLAT );
glBegin( prim )
...
glEnd()
glShadeModel( GL_FLAT );
glBegin( prim )
...
glEnd()
The big win is when we can eliminate all the statechanges between two
primitive blocks and combine them into a single VBO node.
This commit implements state-change elimination for Material and ShadeModel
only. This is enough to make a start on debugging, etc.
|
|
(cherry picked from commit 4dc426c01627a240bd5b148c1804c45b0d5ecd6c)
|
|
Be clearer that this is the number of generic vertex program/shader
attributes, not counting the legacy attributes (pos, normal, color, etc).
(cherry picked from commit 4a95185c9f30c2de7a03bb1a0653f51b53b1111d)
|
|
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.
|
|
|
|
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)
|
|
This trims down and cleans up imports.h and glheader.h quite a bit.
|
|
|
|
Remove some unneeded fields. Rename some function parameters.
|
|
Rename some structs and fields to be more consistant with the rest of mesa.
|
|
|
|
|
|
|
|
|
|
|
|
framebuffer.c
(cherry picked from commit 9091015a9782ad15e58540a8fd61df83ea2bfe31)
|
|
Primitive begin in one dlist, end in another.
|
|
|
|
Use floor() to convert to int (per Mark Kildard and the SI).
Also, change translate_id() to return a signed integer since we may be
offsetting from GL_LIST_BASE.
|
|
More such shader functions are needed...
|
|
these should be the same functions (as per spec).
|
|
|
|
|
|
|
|
As glPixelStore(GL_UNPACK) affect the bits into a stipple pattern,
hence 128 bytes used to store the pattern in a display list aren't
enough sometimes.
|
|
of -I flags.
|
|
|
|
|
|
Conflicts:
src/mesa/main/texcompress_s3tc.c
src/mesa/tnl/t_array_api.c
|
|
|
|
Remove display list opcodes for INDEX and EDGEFLAG, handle them
through the regular ATTRIB mechanism now that Mesa understands them
to just be regular attribs.
|
|
OpenGL 2.0 function of the same name.
|
|
glDeleteTextures and glDeleteTexturesEXT were erroneously listed as
aliases of each other. For anything /except/ GLX protocol they are
aliases. This set of changes allows functions that are functionally
identical but have different GLX protocol to be listed as aliases.
When building with GLX_INDIRECT_RENDERING set, different static
functions are used. These functions determine whether the current
context is direct rendering or not. If the context is direct
rendering, the aliased function (e.g., glDeleteTextures in the case of
glDeleteTexturesEXT) is called. If the context is not direct
rendering, the correct GLX protocol is sent.
For a deeper explanation of what is changed, please see:
http://dri.freedesktop.org/wiki/PartiallyAliasedFunctions
|
|
The functions for GL_EXT_paletted_texture that do not share GLX
protocol with GL_ARB_imaging are supposed to alias the similar
functions from GL_SGI_color_table. They didn't. This patch corrects
this problem and enables GLX protocol for both extensions.
Since this removes 3 entries from the dispatch table, this change
creates a lot of changes in the generated files.
|
|
|
|
either GL_ARB_vertex_program or GL_ARB_fragment_program should enable this
extension as well.
|
|
hash table. Make _mesa_destroy_list() static.
|
|
and demos are also added.
Adding basic support to drivers should be as easy as just enabling the
extension, though thorough test would also be required.
|