summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965
AgeCommit message (Collapse)Author
2008-12-03i965: Fix failure to upload new constant data when changing programs.Eric Anholt
This is fallout from the ffvertex_prog.c work. It doesn't call ProgramStringNotify, so we don't set param_state, so we wouldn't track when VP parameters changed, and constants wouldn't get uploaded. Instead, remove param_state entirely and just use the real value that we want to be tracking. Fixes rendering in openarena since BRW_NEW_BATCH got disentangled from BRW_NEW_INDICES. Bug #18822.
2008-12-03i965: Fix stray character that the compile whined about.Eric Anholt
2008-11-28i965: Add a new state flag BRW_NEW_NR_SURFACES instead of CACHE_NEW_SURFACEEric Anholt
The CACHE_NEW_SURFACE bit always gets spammed since we get many different surface BOs per state emit, but the only consumer of it wanted to just know how many surfaces were enabled.
2008-11-28i965: Fix clashing enums for BRW_NEW_INDICES/VERTICES versus BATCH/DEPTH_BUFFER.Eric Anholt
Fixes upload of large amounts of state for every new primitive emit.
2008-11-28i965: Remove BRW_WM_LOCK dirty bit, introduced to work around lack of relocs.Eric Anholt
This was causing a prepare of wm state at every primitive emit.
2008-11-28i965: Add debug code for dumping how frequently different dirty bits are set.Eric Anholt
2008-11-28i915: Remove dead early z enable bit which was always on.Eric Anholt
2008-11-28i965: Reduce fast-pathiness of brw_try_draw_prims, bringing in important checks.Eric Anholt
Later primitives, even if they caused a full state validate, wouldn't check that there was enough space in the batchbuffer, occasionally triggering the sanity check. We also skipped the aperture space check, even if it would mean bringing in new programs and associated state.
2008-11-21i915: Don't overwrite i915's Viewport function from generic code.Eric Anholt
Instead, have i965 and i915 both call the generic function from their Viewport.
2008-11-12i965: Upload state on primitive switch, don't just prepare it.Eric Anholt
This was a regression in 59b2c2adbbece27ccf54e58b598ea29cb3a5aa85 that broke blender, among other apps.
2008-11-12i965: Fix VB refcount leak on aperture overflow.Eric Anholt
2008-11-12i965: Fix up VS max_threads for G4X and removing a magic number.Eric Anholt
As far as I can read in the docs, VS threads can be 1:1 with the pairs of VUE handles allocated for them. Also, G4X can run twice as many threads as before (though we won't unless the we bump the preferred URB entries for VS).
2008-11-12i965: Fix up SF max_threads.Eric Anholt
We were dividing the number of URB entries by two to get number of threads, which looks suspiciously like a copy'n'paste-o from brw_vs_state.c. Also, the maximum number of threads is 24, not 12.
2008-11-12i965: Fix up clip min_nr_entries, preferred_nr_entries, and max_threads.Eric Anholt
The clip thread could potentially deadlock when processing tristrips since being moved back to dual-thread mode, as the two threads could each have 4 VUEs referenced and not be able to allocate another one since SF processing wasn't able to continue (needing 5 entries before it freed 2). In constrained URB mode, similar deadlock could even have occurred with polygons (so we cut back max_threads if we can't handle it any primitive type).
2008-11-12i965: Update WM maximum threads for G4X.Eric Anholt
2008-11-12i965: Add a big comment explaining my understanding of URB management.Eric Anholt
It shouldn't offer anything new over what's in the docs (except for G4X notes), but here it's all in one place.
2008-11-06mesa: rename OPCODE_INT -> OPCODE_TRUNCBrian Paul
Trunc is a more accurate description; there's no type conversion involved.
2008-11-06i965: Always check vertex program.Xiang, Haihao
Now i965 also uses the vertex program created by Mesa Core, but this vertex program is not only depend on mesa state _NEW_PROGRAM, so always check the current vertex program is updated or not. This fixes broken demo cubemap.
2008-11-05i965: Implement missing OPCODE_NOISE3 instruction in fragment shaders.Gary Wong
OPCODE_NOISE4 coming later.
2008-11-02i965: Clean up stale NDC comment.Eric Anholt
2008-11-02i965: Avoid vs header computation for negative rhw on G4X.Eric Anholt
This cuts one MOV out when setting a zero header.
2008-11-02i965: Merge GM45 into the G4X chipset define.Eric Anholt
The mobile and desktop chipsets are the same, and having them separate is more typing and more chances to screw up.
2008-11-02i965: Fix copy'n'paste issue that made brw->urb.constrained useless.Eric Anholt
Also, add a comment explaining what brw->urb.constrained tries to do.
2008-11-01Fix for 58dc8b7: dest regions must not use HorzStride 0 in ExecSize 1Keith Packard
Quoting section 11.3.10, paragraph 10.2 of the 965PRM: 10.2. If ExecSize is 1, dst.HorzStride must not be 0. Note that this is relaxed from rule 10.1.2. Also note that this rule for destination horizontal stride is different from that for source as stated in rule #7. GM45 gets very angry when rule 10.2 is violated. Patch 58dc8b7 (i965: support destination horiz strides in align1 access mode) added support for additional horizontal strides in the ExecSize 1 case, but failed to notice that mesa occasionally re-purposes a register as a temporary destination, even though it was constructed as a repeating source with HorzStride = 0. While, ideally, we should probably fix the code using these register specifications, this patch simply rewrites them to use HorzStride 1 as the pre-58dc8b7 code did. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-10-31i965: implement the missing OPCODE_NOISE1 and OPCODE_NOISE2 instructions.Gary Wong
(Only in fragment shaders, so far. Support for NOISE3 and NOISE4 to come.)
2008-10-31i965: support destination horiz strides in align1 access mode.Gary Wong
This is required for scatter writes in destination regions to work.
2008-10-28i965: Fix check_aperture calls to cover everything needed for the prim at once.Eric Anholt
Previously, since my check_aperture API change, we would check each piece of state against the batchbuffer individually, but not all the state against the batchbuffer at once. In addition to not being terribly useful in assuring success, it probably also increased CPU load by calling check_aperture many times per primitive.
2008-10-28intel: Don't keep intel->pClipRects, and instead just calculate it when needed.Eric Anholt
This avoids issues with dereferencing stale cliprects around intel_draw_buffer time. Additionally, take advantage of cliprects staying constant for FBOs and DRI2, and emit cliprects in the batchbuffer instead of having to flush batch each time they change.
2008-10-28i965: Allocate temporaries contiguously with other regs in fragment shaders.Gary Wong
This is required for threads to be spawned with correctly sized GRF register blocks.
2008-10-27i965: Fix compiler warning from unused var.Eric Anholt
2008-10-27i965: Remove dead brw->wrap flag.Eric Anholt
2008-10-24i965: don't emit state when dri_bufmgr_check_aperture_space fails.Xiang, Haihao
This ensures there is an unfilled batchbuffer used for emitting states again. Partial fix for #17964.
2008-10-10i965: Add missing intel_pixel_draw.c symlink to fix build.Eric Anholt
2008-10-09i965: Accelerate depth textures with border color.Eric Anholt
The fallback was introduced to fix bug #16697, but made the test it was fixing run excessively long.
2008-10-09i965: Actually hook up the accelerated DrawPixels support.Eric Anholt
2008-10-07i965: Add ARB_occlusion_query support.Eric Anholt
2008-10-08i965: Fix a potential assertion failure.Xiang, Haihao
2008-10-01i965: sampler default color ends up in texture cache, not instructions.Eric Anholt
See volume 4, SAMPLER_BORDER_COLOR_STATE programming notes.
2008-10-01i965: Fix overwriting of depth override for SetTexOffset.Eric Anholt
Fixes black borders around windows in compiz. Bug #17233.
2008-09-28Remove TNL-to-VP tracking from i965Ian Romanick
The i965 driver previously had it's own set of code to convert fixed-function TNL state to a vertex program. Core Mesa has code to do this, so there is no reason to duplicate that effort in the driver. In fact, this duplication leads to bugs when other aspects of the Mesa infrastructure change.
2008-09-26intel: Fix a number of memory leaks on context destroy.Eric Anholt
2008-09-25i965: support for sin() and cos() in vertex shaders.Sam Hocevar
2008-09-25i965: more meaningful message for unsupported opcodes.Sam Hocevar
2008-09-23i965: Cope with batch getting flushed in the middle of batchbuffer emits.Eric Anholt
This isn't required for GEM (at least, yet), but the check_aperture code for non-GEM results in batch getting flushed during emit. brw_state_upload restarts state emits, but a bunch of the state emit functions were assuming that they would be called exactly once, after prepare and before new_batch. Bug #17179.
2008-09-22i965: Adapt to new TNL program tracking semanticsIan Romanick
This fixes bugzilla #17718.
2008-09-22i965: fix compilationBenjamin Close
Found By: Tinderbox
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-09-10intel: track move of bo_exec from drivers to bufmgr.Eric Anholt
2008-09-10intel: track bufmgr move to libdrm_intel and bufmgr_fake irq emit/wait change.Eric Anholt
2008-09-04intel: Fix depth_stencil texture.Xiang, Haihao