summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* i965: #include prog_print.h to silence warningBrian Paul2009-04-271-0/+1
|
* i965: only upload constant buffer data when we actually need the const bufferBrian Paul2009-04-276-17/+22
| | | | | | | | | Make the use_const_buffer field per-program and only call the code which updates the constant buffer's data if the flag is set. This should undo the perf regression from 20f3497e4b6756e330f7b3f54e8acaa1d6c92052 (cherry picked from master, commit dc9705d12d162ba6d087eb762e315de9f97bc456)
* i965: rework GLSL/WM register allocationBrian Paul2009-04-242-48/+168
| | | | | | | | | Use a bitvector of used/free flags. If we run out of temps, examine the live intervals of the temp regs in the program and free those which are no longer alive. Also, enable the new WM const buffer code.
* mesa: refactor code and make _mesa_find_temp_intervals() publicBrian Paul2009-04-242-22/+144
|
* mesa: signal _NEW_PROGRAM_CONSTANTS instead of _NEW_PROGRAMBrian Paul2009-04-243-10/+11
| | | | | Use _NEW_PROGRAM_CONSTANTS when changing constant/uniform buffer values. Binding a new program/shader sets both _NEW_PROGRAM and _NEW_PROGRAM_CONSTANTS.
* i965: disable debug printfBrian Paul2009-04-221-1/+1
|
* i965: enable VS constant buffersBrian Paul2009-04-221-5/+9
| | | | | | | | | | | | | | In the VS constants can now be handled in two different ways: 1. If there's room in the GRF, put constants there. They're preloaded from the CURBE prior to VS execution. This is the historical approach. The problem is the GRF may not have room for all the shader's constants and temps and misc registers. Hence... 2. Use a separate constant buffer which is read from using a READ message. This allows a very large number of constants and frees up GRF regs for shader temporaries. This is the new approach. May be a little slower than 1. 1 vs. 2 is chosen according to how many constants and temps the shader needs.
* i965: define BRW_MAX_GRFBrian Paul2009-04-221-0/+3
|
* i965: remove old code to init surface-related cache IDsBrian Paul2009-04-221-14/+0
| | | | These types are only found in the new surface state cache now.
* i965: comments, reformattingBrian Paul2009-04-221-17/+38
|
* i965: actually use the new, second surface state cacheBrian Paul2009-04-221-17/+22
|
* i965: checkpoint commit: use two state caches instead of oneBrian Paul2009-04-224-45/+88
| | | | | | | The new, second cache will only be used for surface-related items. Since we can create many surfaces the original, single cache could get filled quickly. When we cleared it, we had to regenerate shaders, etc. With two caches, we can avoid doing that.
* i965: remove unused state atom entriesBrian Paul2009-04-221-9/+1
|
* 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
|
* Update GALLIUM_AUXILIARY_DIRS in configure.ac to match configs/default.Michel Dänzer2009-04-211-1/+1
|
* r300: r300 hw doesn't support any input modifiers in tex instsMaciej Cencora2009-04-211-2/+1
|
* r300-gallium: Fix CS size mismatchMathias Gottschlag2009-04-211-1/+5
| | | | | This fixes some warnings which appear because the driver assumes a wrong cs size (13 vs 16 register writes in some cases).
* demos: check that GL version is 2.0 or higherBrian Paul2009-04-211-0/+8
|
* st: report GL_OUT_OF_MEMORY instead of assertingBrian Paul2009-04-211-4/+4
|
* trivial/tri-viewport: add keys for frustrum/ortho and z coordinateKeith Whitwell2009-04-211-43/+77
|
* trivial/tri-viewport: add more out-of-bounds background quadsKeith Whitwell2009-04-211-1/+27
|
* trivial/tri_viewport: add space==reset keyKeith Whitwell2009-04-211-1/+3
|
* trivial/tri_viewport: add width/height keysKeith Whitwell2009-04-211-18/+49
|
* softpipe: fix softpipe_is_buffer/texture_referenced() regressionBrian Paul2009-04-201-2/+2
| | | | | | | Return the conservative PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE value for now. This fixes a bunch of regressions seen in piglit and glean.
* 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
|
* wgl: Don't implement broken gl_dispatch_stub_xxx.José Fonseca2009-04-202-117/+0
| | | | These don't respect the stdcall, so they crash upon return.
* 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
|
* mesa/progs: fix scons build after recent demo movesKeith Whitwell2009-04-202-10/+9
|
* trivial/tri-viewport.c - add guide lines, more triangles, make interactiveKeith Whitwell2009-04-201-14/+118
| | | | This is becoming more like a test than a trivial/ example.
* 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.
* tests/mipmap_view: add linear/nearest keyKeith Whitwell2009-04-201-2/+13
|