summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_eu_emit.c
AgeCommit message (Collapse)Author
2010-12-24i965: use align1 access mode for instructions with execSize=1 in VSXiang, Haihao
All operands must be 16-bytes aligned in aligh16 mode. This fixes l_xxx.c in oglconform.
2010-12-23i965: Correct the dp_read message descriptor setup on g4x.Eric Anholt
It's mostly like gen4 message descriptor setup, except that the sizes of type/control changed to be like gen5. Fixes 21 piglit cases on gm45, including the regressions in bug #32311 from increased VS constant buffer usage.
2010-12-22i965: explicit tell header present for fb write on sandybridgeZhenyu Wang
Determine header present for fb write by msg length is not right for SIMD16 dispatch, and if there're more output attributes, header present is not easy to tell from msg length. This explicitly adds new param for fb write to say header present or not. Fixes many cases' hang and failure in GL conformance test.
2010-12-21i965: Avoid using float type for raw moves, to work around SNB issue.Eric Anholt
The SNB alt-mode math does the denorm and inf reduction even for a "raw MOV" like we do for g0 message header setup, where we are moving values that aren't actually floats. Just use UD type, where raw MOVs really are raw MOVs. Fixes glxgears since c52adfc2e1d130effea940e75690897eb5d3ceaa, but no piglit tests had regressed(!)
2010-12-09i965: Add support for gen6 reladdr VS constant loading.Eric Anholt
2010-12-09i965: Add support for gen6 constant-index constant loading.Eric Anholt
2010-12-09i965: Clean up VS constant buffer location setup.Eric Anholt
2010-12-07i965: Work around gen6 ignoring source modifiers on math instructions.Eric Anholt
With the change of extended math from having the arguments moved into mrfs and handed off through message passing to being directly hooked up to the EU, it looks like the piece for doing source modifiers (negate and abs) was left out. Fixes: fog-modes glean/fp1-ARB_fog_exp test glean/fp1-ARB_fog_exp2 test glean/fp1-Computed fog exp test glean/fp1-Computed fog exp2 test ext_fog_coord-modes
2010-12-07i965: Handle saturates on gen6 math instructions.Eric Anholt
We get saturate as an argument to brw_math() instead of as compile state, since that's how the pre-gen6 send instructions work. Fixes fp-ex2-sat.
2010-12-06i965: Add support for the instruction compression bits on gen6.Eric Anholt
Since the 8-wide first-quarter and 16-wide first-half have the same bit encoding, we now need to track "do you want instruction compression" in the compile state.
2010-12-06i965: Make the sampler's implied move on gen6 be a raw move.Eric Anholt
We were accidentally doing a float-to-uint conversion.
2010-12-06i965: Fix up gen6 samplers for their usage by brw_wm_emit.cEric Anholt
We were trying to do the implied move even when we'd already manually moved the real header in place.
2010-12-06i965: Don't smash a group of coordinates doing gen6 16-wide sampler headers.Eric Anholt
2010-12-01i965: Add support for gen6 CONTINUE instruction emit.Eric Anholt
At this point, piglit tests for fragment shader loops are working.
2010-12-01i965: Add support for gen6 BREAK ISA emit.Eric Anholt
There are now two targets: the hop-to-end-of-block target, and the target for where to resume execution for active channels.
2010-12-01i965: Add support for gen6 DO/WHILE ISA emit.Eric Anholt
There's no more DO since there's no more mask stack, and WHILE has been shuffled like IF was.
2010-11-10i965: fix dest type of 'endif' on sandybridgeZhenyu Wang
That should also be immediate value for type W.
2010-10-26i965: Drop the eot argument to read messages, which can never be set.Eric Anholt
2010-10-26i965: Add support for constant buffer loads on gen6.Eric Anholt
Fixes glsl-fs-uniform-array-5.
2010-10-26i965: Use SENDC on the first render target write on gen6.Eric Anholt
This is apparently required, as the thread will be initiated while it still has dependencies, and this is what waits for those to be resolved before writing color.
2010-10-26i965: Clarify an XXX comment in FB writes with real info.Eric Anholt
2010-10-26i965: Add EU code for dword scattered reads (constant buffer array indexing).Eric Anholt
2010-10-22i965: Add support for pull constants to the new FS backend.Eric Anholt
Fixes glsl-fs-uniform-array-5, but not 6 which fails in ir_to_mesa.
2010-10-21i965: Don't emit register spill offsets directly into g0.Eric Anholt
g0 is used by others, and is expected to be left exactly as it was dispatched to us. So manually move g0 into our message reg when spilling/unspilling and update the offset in the MRF. Fixes failures in texture sampling after having spilled a register.
2010-10-21i965: Add support for register spilling.Eric Anholt
It can be tested with if (0) replaced with if (1) to force spilling for all virtual GRFs. Some simple tests work, but large texturing tests fail.
2010-10-19i965: Set the source operand types for gen6 if/else/endif to integer.Eric Anholt
I don't think this should matter, but I'm not sure, and it's recommended by a kernel checker in fulsim.
2010-10-19i965: Add EU emit support for gen6's new IF instruction with comparison.Eric Anholt
2010-10-14i965: Add support for ir_unop_round_even via the RNDE instruction.Kenneth Graunke
2010-10-14i965: Correctly emit the RNDZ instruction.Kenneth Graunke
Simply using RNDU, RNDZ, or RNDE does not produce the desired result. Rather, the RND* instructions place a value in the destination register that may be 1 less than the correct answer. They can also set per-channel "increment bits" in a flag register, which, if set, mean dest needs to be incremented by 1. A second instruction - a predicated add - completes the job. Notably, RNDD always produces the correct answer in a single instruction. Fixes piglit test glsl-fs-trunc.
2010-10-14i965: Fix GS hang on SandybridgeZhenyu Wang
Don't use r0 for FF_SYNC dest reg on Sandybridge, which would smash FFID field in GS payload, that cause later URB write fail. Also not use r0 in any URB write requiring allocate.
2010-10-11i965: Add a couple of checks for gen6 math instruction limits.Eric Anholt
2010-10-08i965: Silence unused variable warning on non-debug builds.Vinson Lee
Fixes this GCC warning. brw_eu_emit.c: In function 'brw_math2': brw_eu_emit.c:1189: warning: unused variable 'intel'
2010-10-06i965: Fix up IF/ELSE/ENDIF for gen6.Eric Anholt
The jump delta is now in the part of the instruction where the destination fields used to be, and the src args are ignored (or not, for the new non-predicated IF that we don't use yet).
2010-10-06i965: Gen6 no longer has the IFF instruction; always use IF.Eric Anholt
2010-10-04i965: Add support for gen6 FB writes to the new FS.Eric Anholt
This uses message headers for now, since we'll need it for MRT. We can cut out the header later.
2010-09-28i965: Fix sampler on sandybridgeZhenyu Wang
Sandybridge has not much change on texture sampler with Ironlake.
2010-09-28i965: fix jump count on sandybridgeZhenyu Wang
Jump count is for 64bit long each, so one instruction requires 2 like on Ironlake.
2010-09-28i965: ff sync message change for sandybridgeZhenyu Wang
2010-09-28i965: Add support for POW in gen6 FS.Eric Anholt
Fixes glsl-algebraic-pow-2 in brw_wm_glsl.c mode.
2010-09-07i965: Add some validation on BRW_OPCODE_MUL and ADD's arguments.Eric Anholt
Now that we're playing with other types in brw_fs.cpp, it's easy to trip over issues like these.
2010-09-07i965: Add assertion for another requirement about types.Eric Anholt
This catches a failure in the FS backend.
2010-09-07i965: Add a bit of validation for some ISA restrictions in the docs.Eric Anholt
2010-08-30i965: Make brw_CONT and brw_BREAK take the pop count.Eric Anholt
We always need to set it, so pass it in.
2010-08-20i965: Also use the SIMD8 FB writes for SIMD8 mode on non-SNB.Eric Anholt
2010-08-20i965: Add support for FB writes on Sandybridge.Zhenyu Wang
2010-08-20i965: Set the destination horiz stride even for da16, as SNB seems to need it.Zhenyu Wang
2010-07-21i965: Clean up brw_dp_READ_4_vs() now that it has fewer options to support.Eric Anholt
2010-07-21i965: Support relative addressed VS constant reads using the appropriate msg.Eric Anholt
The previous support was overly complicated by trying to use the same 1-OWORD message for both offsets.
2010-07-21i956: Set the execution size correctly for scratch space writes.Eric Anholt
Otherwise, the second half isn't written, and we end up reading back black. Fixes the remaining junk drawn in glsl-max-varyings, and will likely help with a number of large real-world shaders.
2010-07-21i965: Use the pretty define for 4-oword DP reads.Eric Anholt