summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
Commit message (Collapse)AuthorAgeFilesLines
* mesa: add new FRAG_ATTRIB_FACE and FRAG_ATTRIB_PNTC fragment program inputsBrian Paul2009-07-291-4/+5
| | | | | | | | | | Previously, the FOGC attribute contained the fragment fog coord, front/back- face flag and the gl_PointCoord.xy values. Now each of those things are separate fragment program attributes. This simplifies quite a few things in Mesa and gallium. Need to test i965 driver and fix up point coord handling in the gallium/draw module...
* Merge branch 'mesa_7_5_branch'Brian Paul2009-07-281-3/+5
|\ | | | | | | | | | | | | | | | | Conflicts: Makefile configs/default docs/relnotes.html src/mesa/main/version.h
| * mesa: separate some finite/pragma Watcom stuffBrian Paul2009-07-271-3/+5
| |
| * mesa: bump version to 7.5.1Brian Paul2009-07-221-4/+4
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-07-173-62/+78
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile progs/glsl/multitex.c src/mesa/main/enums.c src/mesa/main/state.c src/mesa/main/texenvprogram.c src/mesa/main/version.h
| * mesa: set version to 7.5Brian Paul2009-07-171-1/+1
| |
| * Fix state flag dependencies for fixed function fragment program updates.Brian Paul2009-07-152-1/+11
| | | | | | | | | | | | | | I started looking into why _NEW_ARRAY punishes us, and while annotating dependencies noticed that a bunch of dependencies were missing. (cherry picked from master, commit e5f63c403b767f9974e8eb5d412c012b8a69287f)
| * mesa: recognize and eliminate repeated error messagesKeith Whitwell2009-07-152-3/+38
| |
| * mesa: split out errorstring switch from _mesa_errorKeith Whitwell2009-07-151-36/+26
| | | | | | | | Move a chunk of code out of _mesa_error()
| * mesa: remove dead code in _mesa_errorKeith Whitwell2009-07-151-6/+0
| | | | | | | | Remove early and unused snprintf and where[] string.
| * mesa: don't call getenv every time _mesa_error is calledKeith Whitwell2009-07-151-11/+14
| | | | | | | | | | | | Buggy apps can generate thousands of mesa_error calls. Don't need to keep calling getenv to retreive the same MESA_DEBUG string each time.
| * mesa: fix texture border color code for glPopAttrib()Brian Paul2009-07-141-7/+1
| | | | | | | | | | The texture object's border color used to be stored as GLchan but it's been GLfloat for a while now.
| * mesa: regenerated enums.c fileBrian Paul2009-07-141-5/+6
| |
| * mesa: From float type modifier from values to large for singlesIan Romanick2009-07-091-7/+7
| | | | | | | | | | | | | | | | | | The values 2147483648.0 and 4294967294.0 are too larget to be stored in single precision floats. Forcing these to be singles causes bits to be lost, which results in errors in some pixel transfer tests. This fixes bug #22344. (cherry picked from commit 70e72070fce6aa1e0918dcc62c1949465cee69f7)
| * mesa: only use fallback texture when using shaders, not fixed-function (take ↵Brian Paul2009-07-071-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | two) The semantics are a little different for shaders vs. fixed-function when trying to use an incomplete texture. The fallback texture returning (0,0,0,1) should only be used with shaders. For fixed function, the texture unit is truly disabled/ignored. Fixes glean fbo test regression. (cherry picked from commit 01e16befd4809e3e93ee7855a4a5d7df9fe010d9) (cherry picked from commit 51325f44d1e7e62b47795a79f8038d10dc5bc30b) [anholt: squashed these two together from master, skipping the mess in between]
* | texenv: Calculate whether we need to do secondary color on our own.Eric Anholt2009-07-162-4/+16
| | | | | | | | | | | | | | | | The _TriangleCaps bit is deprecated, not updated when we require, and is set based on state that hasn't been updated at that point in _mesa_update_state_locked(). Fixes incorrect clear color in glsl/twoside.c with meta_clear_tris.
* | Fix state flag dependencies for fixed function fragment program updates.Eric Anholt2009-07-142-1/+11
| | | | | | | | | | I started looking into why _NEW_ARRAY punishes us, and while annotating dependencies noticed that a bunch of dependencies were missing.
* | mesa: regenerated enums.c fileBrian Paul2009-07-141-2/+3
| |
* | Cap array elements at 0 when passed an invalid pointer for an array object.Eric Anholt2009-07-071-0/+10
| | | | | | | | | | | | | | Otherwise, a pointer greater than the size would underflow and give a large maximum element. Reviewed-by: Brian Paul <[email protected]> (previous version)
* | Merge branch 'mesa_7_5_branch'Jakob Bornecrantz2009-07-035-281/+240
|\| | | | | | | | | | | Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
| * mesa/dlist: fixes and improvements for material cachingKeith Whitwell2009-06-301-8/+16
| | | | | | | | | | | | | | | | | | | | | | 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.
| * mesa/dlist: don't cache state which may not be replayed on CallListKeith Whitwell2009-06-301-1/+5
| | | | | | | | | | | | | | | | | | 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.
| * mesa/dlist: invalidate cached dlist compile state after CallListKeith Whitwell2009-06-301-16/+24
| | | | | | | | | | | | When compiling a display list containing a CallList, it is necessary to invalidate any assumption about the GL state after the recursive call completes.
| * Merge branch 'mesa_7_5_branch' into dlist-statechange-shortcircuitKeith Whitwell2009-06-301-248/+126
| |\ | | | | | | | | | Need this to pick up fixes for per-vertex materials.
| | * mesa: remove whitespaceKeith Whitwell2009-06-301-108/+108
| | |
| | * mesa: remove dead constant pointsize code from ffvertex_prog.cKeith Whitwell2009-06-301-17/+0
| | |
| | * mesa: remove dead vertex fog code from ffvertex_prog.cKeith Whitwell2009-06-301-84/+3
| | |
| | * mesa: fix material inputs in ffvertex_prog.cKeith Whitwell2009-06-301-39/+15
| | | | | | | | | | | | | | | | | | Varying material inputs were not being picked up from the same slots where the VBO code is currently placing them (GENERIC0 and above). Most often they were just being ignored.
| * | mesa/dlist: restore missing SAVE_FLUSH_VERTICES in save_ShadeModelKeith Whitwell2009-06-301-0/+1
| | | | | | | | | | | | | | | Reorganization of ShadeModel to avoid flushing vertices too often ended up never flushing vertices due to omitted line of code.
| * | mesa: add debug printer for primitive nameKeith Whitwell2009-06-302-0/+28
| | | | | | | | | | | | | | | | | | Add a simple version of _mesa_lookup_enum_by_nr() which expects a primitive enum (GL_POINTS..GL_POLYGON). This avoids some annoying duplicates when looking up primitives, such as the GL_FALSE/GL_POINTS clash.
| * | mesa/dlist: shortcircuit some redundant statechanges at compile timeKeith Whitwell2009-06-302-19/+51
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | mesa: check for ARB_framebuffer_object for GL_TEXTURE_STENCIL_SIZE_EXT queryBrian Paul2009-06-291-1/+2
| |
* | Merge branch 'arb_vertex_array_object'Brian Paul2009-06-2610-202/+301
|\ \
| * | mesa: plug in glBindVertexArray, glGenVertexArrays functionsBrian Paul2009-06-221-0/+4
| | |
| * | mesa: enforce the rule that arrays live in VBOs for GL_ARB_vertex_array_objectBrian Paul2009-06-221-25/+52
| | |
| * | mesa: added extension flag for ARB_vertex_array_objectBrian Paul2009-06-222-0/+3
| | |
| * | mesa: implement _mesa_GenVertexArrays() for GL_ARB_vertex_array_objectBrian Paul2009-06-193-4/+32
| | | | | | | | | | | | | | | | | | This also involves adding a gl_array_object::VBOonly field. For the ARB extension, all arrays in the object must reside in a VBO. This flag keeps track of that requirement.
| * | mesa: implement _mesa_BindVertexArray()Brian Paul2009-06-192-12/+46
| | |
| * | mesa: move vertex array objects from shared state to per-contextBrian Paul2009-06-196-41/+42
| | | | | | | | | | | | | | | The ARB version requires VAOs to be per-context while the Apple extension was ambiguous.
| * | mesa: regenerated files related to GL_ARB_vertex_array_objectBrian Paul2009-06-191-121/+123
| | |
* | | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-261-0/+1
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
| * | mesa: raise MAX_VARYING (number of shader varying vars) to 16Brian Paul2009-06-261-1/+1
| | | | | | | | | | | | | | | | | | 16 is the limit for now because of various 32-bit bitfields. (cherry picked from master, commit 4e762395ef7e8c332c16fd0c11025cfa52763a45)
| * | mesa: bump version to 7.5-rc4Brian Paul2009-06-261-1/+1
| | |
| * | glsl: Added gl_shader_state::EmitContReturn fieldBrian Paul2009-06-261-0/+1
| | | | | | | | | | | | | | | | | | | | | This is the start of a glsl-continue-return feature branch to support a GLSL code generator option for 'continue' and 'return' statements. Some targets don't support CONT or RET statements so we'll need to try to generate code that does not use them...
* | | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-247-19/+40
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/i915/i915_tex_layout.c src/mesa/drivers/dri/i965/brw_wm_glsl.c src/mesa/drivers/dri/intel/intel_buffer_objects.c src/mesa/drivers/dri/intel/intel_pixel_bitmap.c src/mesa/drivers/dri/intel/intel_pixel_draw.c src/mesa/main/enums.c src/mesa/main/texstate.c src/mesa/vbo/vbo_exec_array.c
| * | mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS/ in NV funcsBrian Paul2009-06-221-8/+8
| | | | | | | | | | | | (cherry picked from commit 4dc426c01627a240bd5b148c1804c45b0d5ecd6c)
| * | mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBSBrian Paul2009-06-224-26/+26
| | | | | | | | | | | | | | | | | | 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)
| * | mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTSBrian Paul2009-06-221-1/+1
| | | | | | | | | | | | (cherry picked from commit d2a74d76c96957cf0294dcf40d29526621ada95e)
| * | mesa: fix some potential state-restore issues in pop_texture_group()Brian Paul2009-06-221-45/+45
| | | | | | | | | | | | | | | | | | | | | Call the _mesa_set_enable() functions instead of driver functions, etc. Also, add missing code for 1D/2D texture arrays. (cherry picked from commit aac19609bfd7c950b2577489b06886c8a8097bb2)
| * | mesa: create/use a fallback texture when bound texture is incompleteBrian Paul2009-06-224-2/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a GLSL sampler reads from an incomplete texture it should return (0,0,0,1). Instead of jumping through hoops in all the drivers to make this happen, just create/install a fallback texture with those texel values. Fixes piglit/fp-incomplete-tex on i965 and more importantly, fixes some GPU lockups when trying to sample from missing surfaces. If a binding table entry is NULL, it seems that sampling sometimes works, but not always (lockup). Todo: create a fallback texture for each type of texture target? (cherry picked from commit 3f25219c7bf0f090502489928f0f018e62c4f6cf)