summaryrefslogtreecommitdiff
path: root/src/mesa/drivers
AgeCommit message (Collapse)Author
2009-04-27i965: #include prog_print.h to silence warningBrian Paul
2009-04-27i965: only upload constant buffer data when we actually need the const bufferBrian Paul
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)
2009-04-24i965: rework GLSL/WM register allocationBrian Paul
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.
2009-04-22i965: disable debug printfBrian Paul
2009-04-22i965: enable VS constant buffersBrian Paul
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.
2009-04-22i965: define BRW_MAX_GRFBrian Paul
2009-04-22i965: remove old code to init surface-related cache IDsBrian Paul
These types are only found in the new surface state cache now.
2009-04-22i965: comments, reformattingBrian Paul
2009-04-22i965: actually use the new, second surface state cacheBrian Paul
2009-04-22i965: checkpoint commit: use two state caches instead of oneBrian Paul
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.
2009-04-22i965: remove unused state atom entriesBrian Paul
2009-04-22i965: the brw_constant_buffer state atom is no longer dynamicBrian Paul
No more dynamic atoms so we can simplify the state validation code a little.
2009-04-22i965: add _NEW_PROGRAM_CONSTANTS to mesa_bits[] listBrian Paul
2009-04-22i915: check the new _NEW_PROGRAM_CONSTANT flagBrian Paul
2009-04-22i965: use _NEW_PROGRAM_CONSTANTS and always create new const buffersBrian Paul
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.
2009-04-22i965: updates to some debug codeBrian Paul
2009-04-22i965: use new _NEW_PROGRAM_CONSTANTS flag instead of dynamic flagsBrian Paul
2009-04-22r200/r300/r500: add _NEW_PROGRAM_CONSTANTS flagBrian Paul
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.
2009-04-21i965: const correctnessBrian Paul
2009-04-21r300: r300 hw doesn't support any input modifiers in tex instsMaciej Cencora
2009-04-20gdi: Don't implement broken gl_dispatch_stub_xxx.José Fonseca
2009-04-20r300: fix register-negate branch merge regressionMaciej Cencora
2009-04-18i965: use region width, height in brw_update_renderbuffer_surface()Brian Paul
Fixes a regression from commit 2c30fd84dfa052949a117c78d932b58c1f88b446 seen with DRI1.
2009-04-18intel: #include polygon.h to silence warningBrian Paul
2009-04-18intel: Handle ARB_vertex_buffer_object state in intel_clear_tris().Michel Dänzer
Fixes gearsvbo app by Michael Clark.
2009-04-17intel: make sure polygon mode is set properly in intel_clear_tris()Brian Paul
Fixes progs/glsl/skinning.c demo.
2009-04-17i915: fix broken indirect constant buffer readsBrian Paul
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.
2009-04-17dri: __driUtilMessage(): not all messages are errorsBrian Paul
2009-04-17i965: updated CURBE allocation codeBrian Paul
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.
2009-04-16Merge branch 'register-negate'Brian Paul
2009-04-16i915: Remove dead i830TexEnv and i915TexEnv.Eric Anholt
These LOD bias updates are covered by the texture state uploads in *_texstate.c now.
2009-04-16intel: Add support for argb1555, argb4444 FBOs and fix rgb565 fbo readpixels.Eric Anholt
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.
2009-04-16i965: disable using immediate values for MOV instructionsBrian Paul
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.
2009-04-16i965: minor debug output changesBrian Paul
2009-04-16i965: const buffer debug code (disabled)Brian Paul
2009-04-16i965: implement relative addressing for VS constant buffer readsBrian Paul
A scatter-read should be possible, but we're just using two READs for the time being.
2009-04-16i965: handle address reg in get_dst()Brian Paul
2009-04-16i965: fix const buffer temp register clobberingBrian Paul
Calls to release_tmps() were causing the temps holding constants to get recycled.
2009-04-16intel: fix small compressed texture uploadRoland Scheidegger
need to round up height for _mesa_copy_rect otherwise textures with height smaller than 4 won't get copied to the miptree at all Also fix up the confusing debug output (don't output unitialized values, and output if data is present and the compressed flag)
2009-04-15i965: Clean up output of WM SS state dump, and add format output.Eric Anholt
2009-04-15i915: Use DEBUG_WM (like 965) for printing the fragment program out.Eric Anholt
This is nice when paired with INTEL_DEBUG=batch for debugging what's going out to the hardware.
2009-04-15i915: Add decode of dest buffer variables (destination format)Eric Anholt
2009-04-15intel: Fix segfault when doing SW mipmap generation with a PBO texture upload.Eric Anholt
Triggered in test-fbo from clutter since 37fb2d9b23eab5dbbb43a212c3475cb8016837d8.
2009-04-14mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul
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.
2009-04-14i965: fix VS constant buffer readsBrian Paul
This mostly came down to finding the right MRF incantation in the brw_dp_READ_4_vs() function. Note: this feature is still disabled (but getting close to done).
2009-04-14DRI2: Don't fault on NULL DrawBufferIan Romanick
It is possible for ctx->DrawBuffer to be NULL, so don't fault when that happens. This change is not being committed to master because it doesn't appear to be necessary there. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Cherry picked from mesa_7_4_branch, commit 49e0c74ddd91900fc4effb6d305d56e0563b456d
2009-04-14i965: checkpoint commit: VS constant buffersBrian Paul
Hook up a constant buffer, binding table, etc for the VS unit. This will allow using large constant buffers with vertex shaders. The new code is disabled at this time (use_const_buffer=FALSE).
2009-04-13dri glx: Swap before checking for cliprects.Younes Manton
We don't update drawables anymore unless they are completely uninitialized, so we need to swap even if we don't have cliprects yet, otherwise we never end up calling the driver's SwapBuffers(). The driver should update the drawable in its SwapBuffers() anyway. See 8e753d04045a82062ac34d3b2622eb9dba8af374, "dri glx: Fix dri_util::driBindContext" for the change that exposed it.
2009-04-10i965: remove unused varBrian Paul
2009-04-10i965: clean-up in prepare_wm_surfaces()Brian Paul