summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965
AgeCommit message (Collapse)Author
2010-03-22i965: Allow FS constants to be used as immediates instead of push/pull.Eric Anholt
The hope is to later take advantage of the reduced constant usage to free up regs. This only covers the GLSL path at the moment, because the brw_wm_emit path doesn't get the information as to whether a float value is a constant or a uniform.
2010-03-22i965: Add INTEL_DEBUG=glsl_force to force brw_wm_glsl.c.Eric Anholt
I keep finding the desire to force this path to debug it instead of cooking up goofy-looking testcases to do so.
2010-03-22i965: Optimize OPCODE_CMP by using BRW_SEL to choose results.Eric Anholt
Tested with piglit glsl-fs-sqrt-branch, fp-cmp.vpfp.
2010-03-17intel: Replace mt->pitch with mt->region->pitch.Eric Anholt
The pitch is not really an inherent part of the miptree, since it's not part of any of the layout calculations, and it's dictated by the libdrm-allocated region pitch now.
2010-03-16Revert "i965: Do VS SGT, SLT, and friends using CMP, SEL instead of CMP, ↵Eric Anholt
MOV, MOV." This reverts commit 8ef3b1834a896927bdd4f2aea552cdb732849da9. Fixes piglit glsl-vs-if.
2010-03-16Revert "i965: Do FS SLT, SGT, and friends using CMP, SEL instead of CMP, ↵Eric Anholt
MOV, MOV." This reverts commit 46450c1f3f93bf4dc96696fc7e0f0eb808d9c08a. I was wrong about null reg behavior -- it reads undefined, not 0. And they're not kidding.
2010-03-12i965: Clarify the roles of emit_pixel_xy(), emit_delta_xy(), emit_wpos_xy().Eric Anholt
2010-03-12i965: Clarify that DELTAXY always occurs for both X and Y.Eric Anholt
2010-03-12i965: Do FS SLT, SGT, and friends using CMP, SEL instead of CMP, MOV, MOV.Eric Anholt
2010-03-12i965: Do VS SGT, SLT, and friends using CMP, SEL instead of CMP, MOV, MOV.Eric Anholt
2010-03-12i965: Fix up VS DP4 sequences to avoid dependency control.Eric Anholt
This is recommended by the B-Spec. I wasn't able to measure any difference in ETQW.
2010-03-12i965: When doing a swizzled kill pixel, don't do redundant channel compares.Eric Anholt
This was obvious when looking at the compiled output of ETQW's shaders.
2010-03-12i965: Use the SEL instruction to implement MIN and MAX.Eric Anholt
Saves an instruction over doing conditional moves.
2010-03-10i965: Use the PLN instruction when possible in interpolation.Eric Anholt
Saves an instruction in PINTERP, LINTERP, and PIXEL_W from brw_wm_glsl.c For non-GLSL it isn't used yet because the deltas have to be laid out differently.
2010-03-10i965: Set up the execution size before relying on it.Eric Anholt
Fixes hangs with texturing in the non-GLSL path since f6d210c284751ac50a8d6358de7e75a1ff1e4ac7
2010-03-10i965: Add support for the CMP opcode in the GLSL path.Eric Anholt
This would be triggered by use of sqrt() along with control flow. Fixes piglit-fs-sqrt-branch and a bug in Yo Frankie!.
2010-03-10i965: Print the opcode name for unrecognized opcodes in the GLSL path.Eric Anholt
2010-03-10i965: Fix the response len of masked sampler messages for 8-wide dispatch.Eric Anholt
The bad response length would hang the GPU with a masked sample in a shader using control flow. For 8-wide, the response length is always 4, and masked slots are just not written to. brw_wm_glsl.c already allocates registers in the right locations. Fixes piglit glsl-fs-bug25902 (fd.o bug #25902).
2010-03-10i965: Print the offset for IFF in disasmEric Anholt
2010-03-09i965: Fix ENDLOOP to only patch up this loop's BREAK and CONT.Eric Anholt
Corresponds to d225a25e21a24508aea3b877c78beb35502e942d and fixes piglit glsl-fs-loop-nested. Bug #25173.
2010-03-09i965: Unalias all GLSL source regs from the destination regs used.Eric Anholt
We were doing it ad-hoc before, as instructions with potential aliasing problems were identified. But thanks to swizzling basically anything can have aliasing, so just do it generally at source reg setup time. This is somewhat inefficient, because sometimes an operation doesn't need unaliasing protection if the swizzling is safe, but the unaliasing before didn't cover those cases either. Fixes piglit glsl-fs-loop.
2010-03-09i965: Print the offsets for WHILE and BREAK in disasm.Eric Anholt
2010-03-09i965: Fix nested loops in the VS.Eric Anholt
We were patching up all the break and continues between the start of our loop and the end of our loop, even if they were breaks/continues for an inner loop. Avoiding patching already patched breaks/continues fixes piglit glsl-vs-loop-nested.
2010-03-09i965: Fix up VP constbuf leak on program delete.Eric Anholt
2010-03-08i965: Fix up the handling of point sprite coordinate replacement.Eric Anholt
The code was walking over the regs of pairs of attributes and checking whether the attribute with a given reg index had point sprite enabled. So the point sprite setup code was rarely even getting executed. Instead, we need to determine which channels of a reg need point sprite coordinate replacement. In addition, it was multiplying the attribute by 1/w, when it's supposed to cover (0, 1) in each direction regardless of w, and it wasn't filling in the Z and W components of the texcoord as specified. Fixes piglit point-sprite and the spriteblast demo. Bug #24431, #22245.
2010-03-06dri: drop MINIGLX_SOURCES (2)George Sapountzis
2010-03-06dri: drop MINIGLX_SOURCESGeorge Sapountzis
2010-03-05i965: Only use the effective subset of the WM sampler key.Eric Anholt
The whole structure is 836 bytes, but if only the first one or two samplers are used (as is common), the part that matters is only 56 or 108 bytes. By using just that subset as the key (since the key size is also part of the key), we improve firefox-talos-gfx performance by 1%.
2010-03-05intel: Remove support for the DRI1 TFP extension.Eric Anholt
2010-03-05i965: Remove the paths for making a const surface object for a NULL BO.Eric Anholt
2010-03-05i965: Remove the unused SDC BO pointer from the sampler state key.Eric Anholt
Since it's a BO pointer, it already lives outside the key in brw->wm.sdc_bo[] which is used for sampler state lookup and setup.
2010-03-05i965: Rename SNB brw_*_key structs to gen6_*_key structs.Eric Anholt
2010-03-05i965: Pack gen6 blend_state_key structure.Eric Anholt
2010-03-05i965: Try to assign SNB SF inputs to outputs.Eric Anholt
2010-03-05i965: Fix the SNB SF input size.Eric Anholt
2010-03-04intel: Remove non-kernel-exec-fencing support.Eric Anholt
Shaves 60k off the driver from removing the broken spans code. This means we now require 2.6.29, which seems fair given that it's a year old and we've removed support for non-KMS already in the last release of 2D.
2010-03-03i965: Fix up Sandybridge VS sizing.Eric Anholt
2010-03-02i965: include macros.h to get CLAMP macroBrian Paul
2010-02-25i965: Remove unnecessary headers.Vinson Lee
2010-02-25i965: Try to hook up the Sandybridge URB_WRITE SEND message.Eric Anholt
My units still hang when doing this if the VS is enabled.
2010-02-25i965: Fix up the VUE handling for SNB, and hopefully clarify comments.Eric Anholt
2010-02-25i965: Don't set a nonexistent enable bit in several SNB state pointers.Eric Anholt
The modify bit is now usually in the instruction header. The exception is CC state pointers.
2010-02-25i965: Lump SNB in with Ironlake for bigger VUEs.Eric Anholt
This gets the VS to the point of accepting vertices. \o/
2010-02-25i965: Fix the SNB VE valid bit.Eric Anholt
So, when the docs say that 0 means enabled now? That's a lie.
2010-02-25i965: Don't include SNB in has_negative_rhw_bug.Eric Anholt
2010-02-25i965: Fix the SNB clip near VP API bit.Eric Anholt
2010-02-25i965: Fix the SNB URB entry count setup.Eric Anholt
2010-02-25i965: Add SNB math opcode support.Eric Anholt
This is untested at this point.
2010-02-25i965: Emit SNB FF unit state after the unit's push constants.Eric Anholt
There's a BUN for the WM unit that says WM_STATE must immediately follow PS_CONSTANTS, which this addresses. Presumably other units are roughly the same, too.
2010-02-25i965: Set up the SNB sampler state pointers.Eric Anholt