Keith Whitwell [Thu, 7 Sep 2006 19:05:40 +0000 (19:05 +0000)]
Cope with memory pool fragmentation by allowing a second attempt at
rendering operations to take place after evicting all resident
buffers.
Cope better with memory allocation failures throughout the driver and
improve tracking of failures.
Keith Whitwell [Thu, 7 Sep 2006 18:28:35 +0000 (18:28 +0000)]
Add some asserts, fix some not-quite-bugs.
Keith Whitwell [Thu, 7 Sep 2006 16:29:37 +0000 (16:29 +0000)]
Fix glitch with pool alignments.
Keith Whitwell [Thu, 7 Sep 2006 16:23:22 +0000 (16:23 +0000)]
Use lower alignments where possible. Also pad out allocated blocks to
a multiple of alignment to avoid accumulating unusable free blocks.
Keith Whitwell [Thu, 7 Sep 2006 16:09:50 +0000 (16:09 +0000)]
Make sure bmBufferOffset is called for all active buffers every time
we render. Currenly requires that some state be re-examined after
every LOCK_HARDWARE().
Roland Scheidegger [Thu, 7 Sep 2006 13:34:29 +0000 (13:34 +0000)]
make really sure R200_VAP_PROG_VTX_SHADER_ENABLE is never set when we're already in a tcl fallback, otherwise the chip will instantly lock up when vertex progs are enabled the next time not in a tcl fallback (fixes for instance guaranteed lockup running any program which uses vertex progs with tcl_mode=0 and then later with tcl_mode=1).
Roland Scheidegger [Thu, 7 Sep 2006 13:26:44 +0000 (13:26 +0000)]
only allow VERT_ATTRIB_MAX instead of _TNL_ATTRIB_MAX for inputs of vertex programs (fixes a segfault since the result of the shift is undefined otherwise, and it may happen that _TNL_ATTRIB_POINTSIZE will be tried to read, unlike all other attribs this however may be unitialized (might be a bug in itself)).
Eric Anholt [Thu, 7 Sep 2006 06:02:00 +0000 (06:02 +0000)]
Fix a leak of the screen's option cache on cleanup (copied from radeon).
Keith Whitwell [Wed, 6 Sep 2006 18:30:00 +0000 (18:30 +0000)]
Simplify the immediate and displaylist code. Treat VertexAttrib*ARB
as non-aliasing and cope with the >32 attributes that result, taking
materials into account.
Brian Paul [Wed, 6 Sep 2006 13:56:26 +0000 (13:56 +0000)]
comment out EXTRA_LIB_PATH, ?= causes problems on HP-UX
Brian Paul [Wed, 6 Sep 2006 13:49:17 +0000 (13:49 +0000)]
Fixes from Christopher Bell:
Use -O instead of +O3 or +O2.
Remove +Oaggressive.
Replace -Aa with -Ae.
Brian Paul [Wed, 6 Sep 2006 13:44:57 +0000 (13:44 +0000)]
remove stray tab
Brian Paul [Wed, 6 Sep 2006 05:03:47 +0000 (05:03 +0000)]
for VERTEX_ATTRIB_WEIGHT, use break, not return
Brian Paul [Tue, 5 Sep 2006 23:20:58 +0000 (23:20 +0000)]
document vertex.weight hack
Brian Paul [Tue, 5 Sep 2006 23:15:29 +0000 (23:15 +0000)]
Hack for Warcraft (bug 8060): allow 'vertex.weight' to be referenced in
vertex program, even though it's not really supported. Results will be
undefined, but Warcraft doesn't actually use the attribute.
Brian Paul [Tue, 5 Sep 2006 23:11:09 +0000 (23:11 +0000)]
fix typo in enable_parser_extensions(): s/point_parameters/vertex_blend/
Brian Paul [Tue, 5 Sep 2006 23:08:51 +0000 (23:08 +0000)]
Consolidate common case of _mesa_set_program_error() followed by _mesa_error()
in new program_error() function.
Add const qualifiers in many places.
Reorder some debug code to prevent referencing free'd memory.
Brian Paul [Tue, 5 Sep 2006 18:23:21 +0000 (18:23 +0000)]
updated info about glxproto.h
Keith Whitwell [Tue, 5 Sep 2006 10:01:24 +0000 (10:01 +0000)]
Dynamically allocate instruction store for tnl programs according to
requirements.
Keith Whitwell [Mon, 4 Sep 2006 23:34:36 +0000 (23:34 +0000)]
Fixes for calculating point attenuation
Keith Whitwell [Mon, 4 Sep 2006 18:27:40 +0000 (18:27 +0000)]
Don't export NV_vertex_program as it's not supported, it confuses
glean, and we no longer need to export it to keep Mesa happy as we did
at one time.
Rune Petersen [Mon, 4 Sep 2006 16:20:16 +0000 (16:20 +0000)]
Managed to make a commit that can't build... Sorry again...
Brian Paul [Mon, 4 Sep 2006 14:07:04 +0000 (14:07 +0000)]
get rid of GL_BOOLEAN definition (bug 8113)
Jouk Jansen [Mon, 4 Sep 2006 06:26:08 +0000 (06:26 +0000)]
OpenVMS compile support update
(previous commit did send the wrong file to the CVS)
Modified Files:
Mesa/include/GL/vms_x_fix.h
Jouk Jansen [Mon, 4 Sep 2006 06:22:39 +0000 (06:22 +0000)]
OpenVMS compile support update
Modified Files:
Mesa/include/GL/vms_x_fix.h
Roland Scheidegger [Mon, 4 Sep 2006 00:57:39 +0000 (00:57 +0000)]
fog state atom contains (only) fog params necessary for tcl. Must not be emitted if vertex progs are enabled as it overlaps vertex param #94.
Rune Petersen [Sun, 3 Sep 2006 20:31:52 +0000 (20:31 +0000)]
add missing change to skip low impact RAST fallback...
Sorry.
Roland Scheidegger [Fri, 1 Sep 2006 23:36:30 +0000 (23:36 +0000)]
fix the presumably broken check for the allow_large_textures and vblank_mode options (same as bug 8042).
Roland Scheidegger [Fri, 1 Sep 2006 20:21:12 +0000 (20:21 +0000)]
make sure vertex programs are only enabled on the hw when they are really enabled, not just when a program enables vertex progs (could still be not enabled due to some error). Otherwise the hw potentially would try to execute a not valid (not set up at all) vertex program, likely leading to lockups. Hopefully fixes #8060.
Keith Whitwell [Fri, 1 Sep 2006 14:57:19 +0000 (14:57 +0000)]
Catch a few more cases of using a message reg as an instruction source
arg.
Keith Whitwell [Fri, 1 Sep 2006 14:18:06 +0000 (14:18 +0000)]
fix a couple of cases where a message reg is used as an instruction source.
Ian Romanick [Thu, 31 Aug 2006 20:50:43 +0000 (20:50 +0000)]
Add API description for GLX_SGI_swap_control.
Ian Romanick [Thu, 31 Aug 2006 20:41:16 +0000 (20:41 +0000)]
Fix problems with vertex program protocol
There were two sets of bugs in the vertex program (ARB and NV)
protocol. First, several of the ARB functions were missing the
'doubles_in_order="true"' annotation. Second, after the ARB decided
that glVertexAttrib*ARB functions must not alias fixed-function state
for GLSL, Nvidia re-assigned GLX protocol opcodes for
glVertexAttrib*NV (circa Septeber 2004). For some reason gl_API.xml
was never updated to reflect this, and the updated version of the
GL_NV_vertex_program spec never made into the registry.
Rune Petersen [Thu, 31 Aug 2006 18:19:50 +0000 (18:19 +0000)]
re-apply shader fix.
appears to have been reverted by mistake.
Brian Paul [Thu, 31 Aug 2006 17:54:31 +0000 (17:54 +0000)]
version bump
Keith Whitwell [Thu, 31 Aug 2006 17:24:55 +0000 (17:24 +0000)]
When using the old technique to set up the front buffer mapping, there
is no need to add front.offset to sPriv->pFB, it seems. Fixes several
glean issues and frontbuffer rendering generally.
Brian Paul [Thu, 31 Aug 2006 15:19:44 +0000 (15:19 +0000)]
update link
Brian Paul [Thu, 31 Aug 2006 15:18:04 +0000 (15:18 +0000)]
remove VERSIONS from tarballs
Brian Paul [Thu, 31 Aug 2006 15:17:43 +0000 (15:17 +0000)]
updated 6.5.1 relnotes link
Brian Paul [Thu, 31 Aug 2006 15:16:10 +0000 (15:16 +0000)]
Convert VERSIONS and RELNOTES-6.5.1 to html, update links to them.
Rune Petersen [Thu, 31 Aug 2006 15:15:29 +0000 (15:15 +0000)]
Give the user posibility to choose speed over correctness.
It does 2 things:
1) Allows you to disable S3TC, wine-games sometimes need S3TC enabled.
2) Disable fallbacks that usually have low impact.
Brian Paul [Thu, 31 Aug 2006 13:58:08 +0000 (13:58 +0000)]
check if ext->name is null before strcmp()
Roland Scheidegger [Thu, 31 Aug 2006 01:10:07 +0000 (01:10 +0000)]
do not abort with not supported vertex prog output configuration, fallback instead
Brian Paul [Wed, 30 Aug 2006 23:50:31 +0000 (23:50 +0000)]
remove extension defines/protos that are now in glext.h
Brian Paul [Wed, 30 Aug 2006 23:46:41 +0000 (23:46 +0000)]
latest version from OpenGL ARB
Karl Schultz [Wed, 30 Aug 2006 23:45:32 +0000 (23:45 +0000)]
Handle API and dispatch table changes that removed a bunch of extension entry points.
Brian Paul [Wed, 30 Aug 2006 23:40:53 +0000 (23:40 +0000)]
make prog2 a legal program (texture reference fix)
Brian Paul [Wed, 30 Aug 2006 23:38:03 +0000 (23:38 +0000)]
Check that we don't try to reference more than one target of a texture unit.
For example, referencing both "texture[0], 2D" and "texture[0], CUBE" in one
program is an error.
Brian Paul [Wed, 30 Aug 2006 23:36:52 +0000 (23:36 +0000)]
s/0/VERT_RESULT_HPOS/
Ian Romanick [Wed, 30 Aug 2006 23:15:02 +0000 (23:15 +0000)]
Add missing parenthesis so that glXSwapIntervalSGI protocol is
correctly generated.
Michal Krol [Wed, 30 Aug 2006 22:36:29 +0000 (22:36 +0000)]
Add missing vec4 instructions to the interpreter.
Other cosmetic changes.
Brian Paul [Wed, 30 Aug 2006 22:04:09 +0000 (22:04 +0000)]
fix Xlib driver mem leaks
Brian Paul [Wed, 30 Aug 2006 21:17:51 +0000 (21:17 +0000)]
Use XAddExtension() to register an XCloseDisplay() callback function.
When the callback is called, free all Mesa's private visual and buffer
data structures which are tied to the display.
Fixes problems reported by Kitware.
Brian Paul [Wed, 30 Aug 2006 19:02:45 +0000 (19:02 +0000)]
init a local var to silence warning
Roland Scheidegger [Wed, 30 Aug 2006 13:44:31 +0000 (13:44 +0000)]
Minor r200 vertex program cleanups. Remove disabled leftovers from r300 vertex program code. Fix authors. Correct slightly wrong check to determine if ran out of temps. Simplify check to determine if ran out of max instructions. Correctly report used native temps. Always kick off program translation when ProgramStringNotify is called (otherwise the reported native resources used queried might be wrong).
Roland Scheidegger [Wed, 30 Aug 2006 11:55:18 +0000 (11:55 +0000)]
fix initialization of native resource usage of vertex/fragment programs
Roland Scheidegger [Wed, 30 Aug 2006 10:26:31 +0000 (10:26 +0000)]
fix typo causing a segfault when a vertex program uses more than 96 parameters
Brian Paul [Tue, 29 Aug 2006 22:32:31 +0000 (22:32 +0000)]
Move call to _swrast_update_rasterflags() since it depends on the
results of _swrast_update_fog_state().
Fixes bug where first frame of progs/samples/fog.c does not show fog.
Brian Paul [Tue, 29 Aug 2006 22:30:58 +0000 (22:30 +0000)]
_mesa_debug() should be a no-op when not compiled with DEBUG defined.
Brian Paul [Tue, 29 Aug 2006 21:56:59 +0000 (21:56 +0000)]
set 6.5.1 release to Aug 31
Brian Paul [Tue, 29 Aug 2006 21:54:01 +0000 (21:54 +0000)]
remove assertion that referenced &glSetFenceNV for debug test
Brian Paul [Tue, 29 Aug 2006 19:09:57 +0000 (19:09 +0000)]
replace abort with _mesa_problem()
Ian Romanick [Tue, 29 Aug 2006 17:44:45 +0000 (17:44 +0000)]
Deprecate GL_EXT_vertex_weighting.
Nvidia no longer supports this extension, and they no longer export its
entry points from their libGL. There's no reason for us to keep dragging it
around either.
Ian Romanick [Tue, 29 Aug 2006 16:43:44 +0000 (16:43 +0000)]
More static dispatch function removal.
Make functions for the following extensions available only via
glXGetProcAddress. In cases where there are other aliases to the same
functions (e.g., between GL_EXT_histogram and GL_ARB_imaging), the alias
functions may still be statically exported.
- GL_ATI_blend_equation_separate
- GL_EXT_blend_equation_separate
- GL_EXT_convolution
- GL_EXT_color_sub_table
- GL_EXT_cull_vertex
- GL_EXT_depth_bounds_test
- GL_EXT_framebuffer_blit
- GL_EXT_histogram
- GL_EXT_multisample
- GL_EXT_stencil_two_side
- GL_EXT_timer_query
- GL_IBM_multimode_draw_arrays
- GL_INGR_blend_func_separate
- GL_NV_fence
- GL_SGI_color_table
- GL_SGIS_multisample
- GL_SGIS_pixel_texture
- GL_SGIS_point_parameters
- GL_SGIX_pixel_texture
Ian Romanick [Tue, 29 Aug 2006 15:38:19 +0000 (15:38 +0000)]
Clean up GLX function exports.
Make functions for the following extensions only accessable via
glXGetProcAddress:
- GLX_EXT_texture_from_pixmap
- GLX_MESA_copy_sub_buffer
- GLX_MESA_release_buffers
- GLX_MESA_swap_control
- GLX_MESA_swap_frame_usage
- GLX_OML_sync_control
- GLX_SGI_make_current_read
- GLX_SGI_swap_control
- GLX_SGI_video_sync
- GLX_SGIX_swap_barrier
- GLX_SGIX_swap_group
Removed all remnants of the following extensions:
- GLX_MESA_set_3dfx_mode
- GLX_SGI_cushion
- GLX_SGIX_dmbuffer
- GLX_SGIX_video_resize
- GLX_SGIX_video_source
- GLX_SUN_get_transparent_index
-
Roland Scheidegger [Mon, 28 Aug 2006 21:19:34 +0000 (21:19 +0000)]
move initialization code aroudn so glPointParameter isn't called before checking the extension is present
Brian Paul [Mon, 28 Aug 2006 19:42:41 +0000 (19:42 +0000)]
Check mesa_vp->Base.NumInstructions == 0 instead of mesa_vp->Base.String to
determine if we actually have a program. See "[r300] TCL fallback with Quake3".
Ian Romanick [Mon, 28 Aug 2006 17:40:45 +0000 (17:40 +0000)]
Add two new gl_function methods. dispatch_name returns the name of
the true static dispatch name (either the glFooBar name or the
gl_dispatch_stub_XXX name). static_name returns the name of the
static function for a specific alias of a GL function.
Adding (and using) these two functions corrects some problems in the
generated code related to functions with multiple aliases where some
of the aliases have true static dispatch functions and some don't. I
have verified that everything under progs, except xdemos/xdemo,
correctly link. I did this by doing 'make linux-dri-x86-64
PROGRAM_DIRS="demos redbook samples xdemos tests"'.
Ian Romanick [Mon, 28 Aug 2006 17:35:54 +0000 (17:35 +0000)]
Add dependencies for all API XML files.
Brian Paul [Mon, 28 Aug 2006 15:16:49 +0000 (15:16 +0000)]
remove unused var
Brian Paul [Mon, 28 Aug 2006 15:16:36 +0000 (15:16 +0000)]
fix the check for force_s3tc_enable (bug 8042)
Brian Paul [Mon, 28 Aug 2006 15:12:07 +0000 (15:12 +0000)]
omit installmesa script from tarballs
Brian Paul [Mon, 28 Aug 2006 14:20:19 +0000 (14:20 +0000)]
check for GL_ARB_point_parameters
Aapo Tahkola [Sun, 27 Aug 2006 13:24:36 +0000 (13:24 +0000)]
close #6318
Sean D'Epagnier [Sun, 27 Aug 2006 01:16:09 +0000 (01:16 +0000)]
The colormap code is now simpler, 15bpp works where it did not before.
The input is fixed so that delete reports '\b' and backspace 127
The vt switching works both right and left.
Ian Romanick [Sat, 26 Aug 2006 21:26:55 +0000 (21:26 +0000)]
Explicitly store the names for each function that should have a static
entry point generated. This allows us to do things like generate a
static entry point for glPointParameterfvARB but not for
glPointParameterfvSGIS.
Alan Hourihane [Sat, 26 Aug 2006 21:21:34 +0000 (21:21 +0000)]
Fix bug 8010 - locking issues.
Aapo Tahkola [Sat, 26 Aug 2006 16:24:04 +0000 (16:24 +0000)]
fix #8008
Brian Paul [Fri, 25 Aug 2006 22:13:08 +0000 (22:13 +0000)]
delete buffers, destroy window upon exit
Brian Paul [Fri, 25 Aug 2006 22:08:43 +0000 (22:08 +0000)]
include texobj.h to silence warning
Brian Paul [Fri, 25 Aug 2006 22:07:40 +0000 (22:07 +0000)]
6.5.1 bug fixes
Brian Paul [Fri, 25 Aug 2006 22:06:02 +0000 (22:06 +0000)]
Error detection/reporting was broken in several places.
Ian Romanick [Fri, 25 Aug 2006 19:57:37 +0000 (19:57 +0000)]
Add a couple of the missing GL 2.0 functions. Enable GLX protocol for
glBlendEquationSeparateEXT. Add missing enum "get" information for
GL_EXT_texture_filter_anisotropic.
Brian Paul [Fri, 25 Aug 2006 19:46:31 +0000 (19:46 +0000)]
Free vertex program TnlData, if any. Fixes a mem leak.
Brian Paul [Fri, 25 Aug 2006 19:45:31 +0000 (19:45 +0000)]
clamp result.depth to [0,1] if written to
Brian Paul [Fri, 25 Aug 2006 18:07:49 +0000 (18:07 +0000)]
Remove XFree86 CVS keyword.
Brian Paul [Fri, 25 Aug 2006 17:18:56 +0000 (17:18 +0000)]
Rearrange glBindProgram() code to do all error checking before changing
the binding. Prevent a potential dangling pointer error. SF Bug
1544507.
Brian Paul [Fri, 25 Aug 2006 15:44:09 +0000 (15:44 +0000)]
In _save_End(), set CurrentExecPrimitive = PRIM_OUTSIDE_BEGIN_END if
we're in GL_COMPILE_AND_EXECUTE mode.
This fixes bug 7984.
Brian Paul [Fri, 25 Aug 2006 15:42:37 +0000 (15:42 +0000)]
improved comments
Brian Paul [Fri, 25 Aug 2006 15:15:24 +0000 (15:15 +0000)]
Rename _mesa_append_modelview_code() to _mesa_insert_mvp_code().
The four DP4 instructions are now inserted at the top of the program
instead of appended to tail.
Brian Paul [Fri, 25 Aug 2006 15:14:25 +0000 (15:14 +0000)]
use _mesa_alloc_instructions()
Brian Paul [Fri, 25 Aug 2006 15:13:25 +0000 (15:13 +0000)]
added _mesa_alloc_instructions() utility function
Ian Romanick [Fri, 25 Aug 2006 00:56:34 +0000 (00:56 +0000)]
Add missing enums for GL_SGI_color_table.
Brian Paul [Thu, 24 Aug 2006 23:37:36 +0000 (23:37 +0000)]
recent bug fixes
Brian Paul [Thu, 24 Aug 2006 23:37:13 +0000 (23:37 +0000)]
update MAX_INSTRUCTIONS limit
Brian Paul [Thu, 24 Aug 2006 23:28:01 +0000 (23:28 +0000)]
According to GL_NV_fragment_program, max frag prog length is 1024 instructions.
Updated MAX_NV_FRAGMENT_PROGRAM_INSTRUCTIONS to 1024.
Brian Paul [Thu, 24 Aug 2006 23:11:39 +0000 (23:11 +0000)]
Cg tries to bind NV fragment programs to the GL_FRAGMENT_PROGRAM_ARB target
with glBindProgramARB(). I guess the GL_ARB_fragment_program specification
allows that, but Mesa didn't.
Relaxed the check with a new predicate function: compatible_program_targets().
Brian Paul [Thu, 24 Aug 2006 23:08:01 +0000 (23:08 +0000)]
scalar sources such as 'time.x' weren't accepted by parser
Brian Paul [Thu, 24 Aug 2006 22:11:40 +0000 (22:11 +0000)]
Functions for vertex/fragment program transformations, optimizations, etc.
Brian Paul [Thu, 24 Aug 2006 22:05:35 +0000 (22:05 +0000)]
fix bad casts, carry over r200 fix to check for null program string in r300_translate_vertex_shader()