summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* i965: the brw_constant_buffer state atom is no longer dynamicBrian Paul2009-04-222-33/+5
| | | | No more dynamic atoms so we can simplify the state validation code a little.
* i965: add _NEW_PROGRAM_CONSTANTS to mesa_bits[] listBrian Paul2009-04-221-0/+1
|
* i915: check the new _NEW_PROGRAM_CONSTANT flagBrian Paul2009-04-221-1/+1
|
* i965: use _NEW_PROGRAM_CONSTANTS and always create new const buffersBrian Paul2009-04-221-14/+14
| | | | | | When program constants change we create a new VS constant buffer instead of re-using the old one. This allows us to have several const buffers in flight with vertex rendering.
* i965: updates to some debug codeBrian Paul2009-04-221-6/+6
|
* i965: use new _NEW_PROGRAM_CONSTANTS flag instead of dynamic flagsBrian Paul2009-04-221-8/+1
|
* r200/r300/r500: add _NEW_PROGRAM_CONSTANTS flagBrian Paul2009-04-224-6/+10
| | | | | | Make sure we detect constant buffer changes indicated by the new flag. Should be able to remove _NEW_PROGRAM (and _NEW_MODELVIEW, _NEW_LIGHT, etc) from several places (someday.
* st: also check _NEW_PROGRAM flag for vertex shader constant buffersBrian Paul2009-04-221-1/+1
| | | | | | This is a follow-on to commit c1a3b852807fb160f0cd246c1364b7336b4b947e. Note that (at this time) wherever _NEW_PROGRAM_CONSTANTS is set we're still setting _NEW_PROGRAM so this won't really make any difference (for now).
* gallium: Reinstate unconditional flushes.Thomas Hellstrom2009-04-222-0/+4
| | | | | | Lost in commit e50dd26ca6d0eb0d0f97c2780020ea16e3d4a687. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* mesa: protect driver.flush() with FLUSH_CURRENTKeith Whitwell2009-04-222-8/+8
| | | | | | Need to do this to ensure vbo code unmaps its buffers before calling the driver, which may be sitting on top of a memory manager which objects to firing commands from a mapped buffer.
* st: play it safe for now and check _NEW_PROGRAM for shader const buffer atomBrian Paul2009-04-211-1/+1
| | | | | When a new program is bound but no constants are updated we still need to update the Gallium const buffer.
* swrast: simplify state update logic for fragment shader const buffersBrian Paul2009-04-211-25/+2
|
* st: use the static atoms[] array directlyBrian Paul2009-04-212-20/+8
| | | | We can simplify this now that we no longer have any dynamic atoms.
* st: do away with dynamic state atom for const buffersBrian Paul2009-04-212-29/+4
| | | | Just use the new _NEW_PROGRAM_CONSTANTS flag instead.
* mesa: new _NEW_PROGRAM_CONSTANTS flagBrian Paul2009-04-215-10/+43
| | | | | | | | | | | | | | | This state flag will be used to indicate that vertex/fragment program constants have changed. _NEW_PROGRAM will be used to indicate changes to the vertex/fragment shader itself, or misc related state. _NEW_PROGRAM_CONSTANTS is also set whenever a program parameter that's tracking GL state has changed. For example, if the projection matrix is in the parameter list, calling glFrustum() will cause _NEW_PROGRAM_CONSTANTS to be set. This will let to remove the need for dynamic state atoms in some drivers. For now, we still set _NEW_PROGRAM in all the places we used to. We'll no longer set _NEW_PROGRAM in glUniform() after drivers/etc have been updated.
* mesa: print internal.current[i] attribBrian Paul2009-04-211-2/+7
|
* mesa: print parameter list dirty state flag maskBrian Paul2009-04-211-0/+1
|
* i965: const correctnessBrian Paul2009-04-211-49/+49
|
* r300: r300 hw doesn't support any input modifiers in tex instsMaciej Cencora2009-04-211-2/+1
|
* st: report GL_OUT_OF_MEMORY instead of assertingBrian Paul2009-04-211-4/+4
|
* swrast: fix pointer arithmetic error in get_texel_array()Brian Paul2009-04-201-2/+1
| | | | This came from commit 1b2ab023673261b4b942e1126c0b599d02fbd4a0
* gdi: Don't implement broken gl_dispatch_stub_xxx.José Fonseca2009-04-201-77/+0
|
* mesa: Correct the gl_dispatch_stub_xxx prototypes.José Fonseca2009-04-202-49/+47
|
* mesa: Handle failure to create a transfer.José Fonseca2009-04-201-1/+2
|
* st: assert on pipe_buffer_create failureKeith Whitwell2009-04-201-0/+5
| | | | | | This needs a proper fix to propogate the out-of-memory condition back up to Mesa and the app as a GL error. Until then, at least catch the problem at its source.
* r300: fix register-negate branch merge regressionMaciej Cencora2009-04-203-39/+12
|
* gallium: Fix glDraw/CopyPixels fragment program leak.Michel Dänzer2009-04-201-0/+2
|
* st: Wait to create bitmap transfer until neededJakob Bornecrantz2009-04-191-8/+30
|
* i965: use region width, height in brw_update_renderbuffer_surface()Brian Paul2009-04-181-2/+2
| | | | | Fixes a regression from commit 2c30fd84dfa052949a117c78d932b58c1f88b446 seen with DRI1.
* intel: #include polygon.h to silence warningBrian Paul2009-04-181-0/+1
|
* mesa: add switch case for GL_VERTEX_STATE_PROGRAM_NV in _mesa_new_program()Brian Paul2009-04-181-0/+1
| | | | Fixes bug seen in progs/tests/vptest1.c
* intel: Handle ARB_vertex_buffer_object state in intel_clear_tris().Michel Dänzer2009-04-181-0/+5
| | | | Fixes gearsvbo app by Michael Clark.
* intel: make sure polygon mode is set properly in intel_clear_tris()Brian Paul2009-04-171-0/+2
| | | | Fixes progs/glsl/skinning.c demo.
* mesa: suppress extra newlineBrian Paul2009-04-171-1/+1
|
* i915: fix broken indirect constant buffer readsBrian Paul2009-04-173-51/+40
| | | | | | | | The READ message's msg_control value can be 0 or 1 to indicate that the Oword should be read into the lower or upper half of the target register. It seems that the other half of the register gets clobbered though. So we read into two dest registers then use a MOV to combine the upper/lower halves.
* mesa: build a float[4] value in _mesa_add_sampler() to avoid random valuesBrian Paul2009-04-171-3/+4
|
* dri: __driUtilMessage(): not all messages are errorsBrian Paul2009-04-171-1/+1
|
* mesa: minor tweak to error messageBrian Paul2009-04-171-1/+1
|
* i965: updated CURBE allocation codeBrian Paul2009-04-173-8/+15
| | | | | Now that we have real constant buffers, the demands on the CURBE are lessened. When we use real VS/WM constant buffers we only use the CURBE for clip planes.
* gallium: Create OGL state tracker wrappers for various CPU access operations.Thomas Hellstrom2009-04-1713-173/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are two usage types of buffer CPU accesses: One where we try to use the buffer contents for multiple draw commands in a batch. (batch := sequence of commands that are flushed together), like incrementally adding bitmaps to a bitmap texture that is reallocated on flush. And one where we assume we can safely overwrite the old buffer contexts, like glTexSubImage. In this case we need to make sure all old drawing commands referencing the buffer are flushed before we map the buffer. This is easily forgotten. Add wrappers for the most common of these operations. The first type is prefixed with "st_no_flush" and the second type is prefixed with "st_cond_flush", where "cond" indicates that we attmpt to only flush if there is indeed unflushed draw commands referencing the buffer. Prefixed functions are screen::get_tex_transfer pipe_buffer_write pipe_buffer_read pipe_buffer_map Please use the wrappers whenever possible. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* Merge branch 'register-negate'Brian Paul2009-04-1626-208/+156
|\
| * mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul2009-04-1426-208/+156
| | | | | | | | | | | | There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
* | i915: Remove dead i830TexEnv and i915TexEnv.Eric Anholt2009-04-165-182/+0
| | | | | | | | | | These LOD bias updates are covered by the texture state uploads in *_texstate.c now.
* | intel: Add support for argb1555, argb4444 FBOs and fix rgb565 fbo readpixels.Eric Anholt2009-04-169-125/+346
| | | | | | | | | | | | Also enable them all regardless of screen bpp, as 32 bpp what I've been testing against, and haven't been able to detect any screen bpp-specific troubles with them.
* | i965: disable using immediate values for MOV instructionsBrian Paul2009-04-161-1/+3
| | | | | | | | | | | | For some reason, MOV instructions using immediate src values don't seem to work reliably on the GLSL path. Disable them for now (falling back to const buffer reads). This fixes a bunch of glean glsl1 failures.
* | i965: minor debug output changesBrian Paul2009-04-161-3/+3
| |
* | i965: const buffer debug code (disabled)Brian Paul2009-04-161-0/+12
| |
* | i965: implement relative addressing for VS constant buffer readsBrian Paul2009-04-163-59/+115
| | | | | | | | | | A scatter-read should be possible, but we're just using two READs for the time being.
* | i965: handle address reg in get_dst()Brian Paul2009-04-161-0/+4
| |
* | i965: fix const buffer temp register clobberingBrian Paul2009-04-161-7/+18
| | | | | | | | | | Calls to release_tmps() were causing the temps holding constants to get recycled.