Age | Commit message (Collapse) | Author |
|
|
|
|
|
This is a follow-on to b799af91d5ffbee1481161fec29eb4c92b161272.
Remove _func function suffix and unneeded #includes.
|
|
|
|
|
|
|
|
Avoid potential randomness in resulting texcoords.
|
|
Of course glXGetVideoSyncSGI doesn't return the swap interval. The feature
only exists in the Mesa extension... which is the whole reason I created the
Mesa extension! Note that the Mesa extension allows drivers to default to a
swap interval of 0. If the Mesa extension exists, use its value. Only
consider the SGI extension when the Mesa extension is not available.
Fixes bug #22604.
|
|
|
|
Conflicts:
progs/trivial/Makefile
Pull in a minimal version of statechange shortcircuiting in display
list compilation. This affects only glMaterial and glShadeModel state,
and includes quite a few tests to exercise various tricky cases.
If this goes well, will consider extending to all state in the future.
|
|
Where vbo save nodes are terminated with a call to DO_FALLBACK(), as in
the case of a recursive CallList which is itself within a Begin/End pair,
there two problems:
1) The display list node's primitive information was incorrect, stating
the cut-off prim had zero vertices
2) On replay, we would get confused by a primitive that started in a
node, but was terminated by individual opcodes.
This change fixes the first problem by correctly terminating the last
primitive on fallback, and the second by forcing the display list to
use the Loopback path, converting all nodes into immediate-mode rendering.
The loopback fix is a performance hit, but avoiding this would require
a fairly large rework of this code.
|
|
|
|
Similar to dlist-tri-flat-tri, but using glMaterial calls, which
have the extra property of being legal within Begin/End calls.
|
|
State-change functions which precede the first call to glEnd() in
a compiled list are vulnerable to not being executed when that list
is called.
In particular this can happen if a list is invoked from within a
begin/end pair, as in this example.
|
|
When one display list calls another display list, it is possible
that the calling display list makes state-changes or other actions which
invalidate any attempt at caching or state-change elimination in the
calling list.
This test exercises one such case, where the called list consists of just
a single glShadeModel() call.
|
|
When testing flat-shading, it helps to specify per-vertex colors so
that you can distinguish between flat & smooth shading.
|
|
Need this to pick up fixes for per-vertex materials.
|
|
Exercise material-within-begin/end case.
|
|
|
|
Call Init() from CompileShaderFile, was previously only called for the
Text version of this function.
|
|
|
|
Fix xdemos which default to using display :0.0 to default to $DISPLAY,
this is kind of irritating when testing on a display other than :0.0
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
|
|
Where vbo save nodes are terminated with a call to DO_FALLBACK(), as in
the case of a recursive CallList which is itself within a Begin/End pair,
there two problems:
1) The display list node's primitive information was incorrect, stating
the cut-off prim had zero vertices
2) On replay, we would get confused by a primitive that started in a
node, but was terminated by individual opcodes.
This change fixes the first problem by correctly terminating the last
primitive on fallback, and the second by forcing the display list to
use the Loopback path, converting all nodes into immediate-mode rendering.
The loopback fix is a performance hit, but avoiding this would require
a fairly large rework of this code.
|
|
Creates a display list with redundant call to glShadeModel.
View dlist contents with MESA_VERBOSE=list
|
|
(cherry picked from commit b1f2f92d9b2d190d39fb1b5c919c59c9539a025a)
|
|
|
|
Call Init() from CompileShaderFile, was previously only called for the
Text version of this function.
|
|
Get most of these working with scons.
|
|
|
|
The reshape() function was called when there was no GLX context so
the viewport/modelview/projection setup wasn't doing anything. Move
the call to reshape() into draw().
Also, remove -stereo, -fullscreen options and do some general clean-up.
|
|
|
|
There was still a non-zero probability for wglShareLists of failing.
|
|
wglShareLists is a little picky -- it seems to check if it has exclusive
access to a lock, and fails if it doesn't.
This allows the texture to be shared with all windows.
|
|
|
|
|
|
|
|
|
|
Transparency is not relevant for this example, and leads to distraction
due to different results in alpha visuals, when capturing images to disk.
|
|
When the -arb option is specified we use GL_ARB_framebuffer_object intead
of GL_EXT_framebuffer_object.
For some vendors' OpenGL it's important to call the ARB entrypoints
instead of the EXT entrypoints to get correct behaviour. Use some
function pointer tricks to do this (instead of GLEW).
|
|
|
|
|
|
|
|
|
|
Also add key to set up quake-1 style ztrick rendering with clear depth
1.0, deptrange(1.0, 0.0) and depthfunc GL_GREATER.
|
|
|
|
|
|
|
|
If the multitex.vert shader uses the VertCoord generic vertex attribute
instead of the pre-defined gl_Vertex attribute, we need to make sure that
VertCoord gets bound to generic vertex attribute zero.
That's because we need to call glVertexAttrib2fv(0, xy) after all the other
vertex attributes have been set since setting generic attribute 0 triggers
vertex submission. Before, we wound up issuing the vertex attributes in
the order 0, 1, 2 which caused the first vertex to be submitted before all
the attributes were set. Now, the attributes are set in 1, 2, 0 order.
|
|
|
|
|