summaryrefslogtreecommitdiff
path: root/src/mesa/main
AgeCommit message (Collapse)Author
2009-06-30mesa/dlist: shortcircuit some redundant statechanges at compile timeKeith Whitwell
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.
2009-06-26mesa: raise MAX_VARYING (number of shader varying vars) to 16Brian Paul
16 is the limit for now because of various 32-bit bitfields. (cherry picked from master, commit 4e762395ef7e8c332c16fd0c11025cfa52763a45)
2009-06-26mesa: bump version to 7.5-rc4Brian Paul
2009-06-26glsl: Added gl_shader_state::EmitContReturn fieldBrian Paul
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...
2009-06-22mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS/ in NV funcsBrian Paul
(cherry picked from commit 4dc426c01627a240bd5b148c1804c45b0d5ecd6c)
2009-06-22mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBSBrian Paul
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)
2009-06-22mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTSBrian Paul
(cherry picked from commit d2a74d76c96957cf0294dcf40d29526621ada95e)
2009-06-22mesa: fix some potential state-restore issues in pop_texture_group()Brian Paul
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)
2009-06-22mesa: create/use a fallback texture when bound texture is incompleteBrian Paul
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)
2009-06-19Always free image offsets memory when re-initializing texture image fields.Michel Dänzer
Fixes leak running compiz with direct rendering.
2009-06-18mesa: protect Elements against multiple definitionsKeith Whitwell
Mesa and gallium both have a definition of this macro
2009-06-17Fast path when rebinding the same texture in single context environmentIan Romanick
If there is no shared context, there is no purpose in rebinding the same texture. In some artificial tests this improves performance 10% - 30%. (cherry picked from commit 7f8000db8bd45bb95bda4a4f8535c49b8ef74254)
2009-06-17mesa: Mark FBOs with compressed color attachments as FBO-incomplete.Eric Anholt
Both EXT_fbo and ARB_fbo agree on this. Fixes a segfault in the metaops mipmap generation in Intel for SGIS_generate_mipmap of S3TC textures in Regnum Online. Bug #21654. (cherry picked from commit 0307e609aa3e707eeb40051bd664d36f2340ba9b)
2009-06-17mesa: rework viewport/scissor initialization codeBrian Paul
The first time a context is bound to a drawable, the viewport and scissor bounds are initialized to the buffer's size. This is actually a bit tricky. A new _mesa_check_init_viewport() function is called in several places to check if the viewport has been initialized. We also use a new ctx->ViewportInitialized flag instead of the overloaded ctx->FirstTimeCurrent flag.
2009-06-16mesa: fix incorrect viewport clamping in _mesa_set_viewport()Brian Paul
A 0 by 0 viewport size is legal. Don't clamp against lower bound of one. The error checking earlier in the function prevents negative values.
2009-06-15mesa: Always return a value.José Fonseca
2009-06-15mesa: Use appropriate float/integer types.José Fonseca
2009-06-15mesa: Use type modifier for float constants.José Fonseca
2009-06-15mesa: Use integer type with appropriate sign.José Fonseca
2009-06-12mesa: Enable uploads of only depth to z24s8 texturesJakob Bornecrantz
2009-06-11mesa: add default function for ctx->Driver.CheckQuery() hookBrian Paul
2009-06-10mesa: Fix typo in bitmask.José Fonseca
2009-06-10mesa: disable texture unit error check in _mesa_MatrixMode()Brian Paul
See comments for details.
2009-06-08mesa: Use matching signedness for the counter as upper bound.José Fonseca
2009-06-08mesa: bump MAX_PROGRAM_ENV_PARAMS from 128 to 256Brian Paul
Also, MAX_NV_VERTEX_PROGRAM_PARAMS should be 96, not 128 (or 256).
2009-06-08mesa: EXT_vertex_array_bgra fixesBrian Paul
1) Pass the correct format when calling update_array in _mesa_VertexAttribPointerARB. 2) glVertexAttribPointerNV accepts GL_BGRA format too. 3) raise INVALID_VALUE error when format is BGRA and normalized is false in glVertexAttribPointerARB (cherry picked from commit 4adb190a162c5ed0684a8616331344caadba4010)
2009-06-05mesa: bump version to 7.5-rc3Brian Paul
2009-06-02mesa: release VBO and PBO references upon context destructionBrian Paul
2009-06-02mesa: add #define FEATURE_ARB_pixel_buffer_objectBrian Paul
2009-05-30mesa: Output warnings to debugger on Windows.José Fonseca
Stderr of Windows applications without console is not usually visible.
2009-05-30mesa: Add success/failures return value to _mesa_make_current.José Fonseca
2009-05-22mesa: fix loop over generic attribs in update_arrays()Brian Paul
2009-05-22mesa: allow GL_BITMAP type in _mesa_image_image_stride()Brian Paul
It's possible to hand a GL_COLOR_INDEX/GL_BITMAP image to glTexImage3D() which gets converted to RGBA via the glPixelMap tables. This fixes a failure with piglit/fdo10370 with Gallium.
2009-05-22mesa: added commentBrian Paul
2009-05-21mesa: add missing glGet*() case for GL_VERTEX_ARRAY_BINDING_APPLEBrian Paul
2009-05-19mesa: allow depth/stencil textures to be attached to GL_STENCIL_ATTACHMENTMathias Fröhlich
See sourceforge bug #2793846.
2009-05-19mesa: assign trb->Base.StencilBits in update_wrapper().Brian Paul
When we render to a depth/stencil texture there are stencil bits.
2009-05-18mesa: comments for _mesa_generate_mipmap_level()Brian Paul
2009-05-15mesa: bump version to 7.5-rc2Brian Paul
2009-05-13mesa: delete array objects before buffer objects during context tear-downBrian Paul
The former may point to the later.
2009-05-13mesa: clean-up vertex array object VBO unbinding and delete/refcountingBrian Paul
Don't really delete vertex array objects until the refcount hits zero. At that time, unbind any pointers to VBOs. (cherry picked from commit 32b851c80792623195069d7a41a5808cff3b2f6f)
2009-05-13mesa: reference counting for gl_array_objectBrian Paul
Every kind of object that can be shared by multiple contexts should be refcounted. (cherry picked from commit 1030bf0ded2a88a5e27f7a4d393c11cfde3d3c5a)
2009-05-11mesa: Fixed a texture memory leakBrian Paul
The current texture for any particular texture unit is given an additional reference in update_texture_state(); but if the context is closed before that texture can be released (which is quite frequent in normal use, unless a program unbinds and deletes the texture and renders without it to force a call to update_texture_state(), the memory is lost. This affects general Mesa; but the i965 is particularly affected because it allocates a considerable amount of additional memory for each allocated texture. (cherry picked from master, commit c230767d6956b63a2b101acb48f98823bb5dd31a)
2009-05-08mesa: set version to 7.5-rc1Brian Paul
2009-05-08mesa: Make _mesa_share_state thread safe.José Fonseca
2009-05-08mesa: more complete fix for transform_invarient glitchesKeith Whitwell
Add a new flag mvp_with_dp4 in the context, and use that to switch both ffvertex.c and programopt.c vertex transformation code to either DP4 or MUL/MAD implementations.
2009-05-08mesa/main: set PREFER_DP4 to match position_invarient codeKeith Whitwell
This is a quick fix for z fighting in quake4 caused by the mismatch between vertex transformation here and in the position_invarient code. Full fix would be to make this driver-tunable and adjust both position_invarient and ffvertex_prog.c code to respect driver preferences.
2009-05-07mesa: unmap buffer objects during context tear-downBrian Paul
2009-05-01mesa: fix state validation bug for glCopyTex[Sub]Image()Brian Paul
We need to make sure the framebuffer state is up to date to make sure we read pixels from the right buffer when doing a texture image copy.
2009-05-01mesa: remove -devel suffix from versionBrian Paul