summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_fs.h
AgeCommit message (Collapse)Author
2011-02-25i965/fs: Initial plumbing to support TXD.Kenneth Graunke
This adds the opcode and the code to convert ir_txd to OPCODE_TXD; it doesn't actually add support yet.
2011-01-31i965: Emit texel offsets in sampler messages.Kenneth Graunke
2011-01-31Convert everything from the talloc API to the ralloc API.Kenneth Graunke
2011-01-19i965/fs: Add a helper function for detecting math opcodes.Eric Anholt
2011-01-19i965/fs: Add an instruction scheduler.Eric Anholt
Improves performance of my GLSL demo by 5.1% (+/- 1.4%, n=7). It also reschedules the giant multiply tree at the end of glsl-fs-convolution-1 so that we end up not spilling registers, producing the expected level of performance.
2011-01-19i965/fs: Add a helper for detecting texturing opcodes.Eric Anholt
2011-01-17i965: Fix dead pointers to fp->Parameters->ParameterValues[] after realloc.Eric Anholt
Fixes texrect-many regression with ff_fragment_shader -- as we added refs to the subsequent texcoord scaling paramters, the array got realloced to a new address while our params[] still pointed at the old location.
2011-01-12i965/fs: Do flat shading when appropriate.Eric Anholt
We were trying to interpolate, which would end up doing unnecessary math, and doing so on undefined values. Fixes glsl-fs-flat-color.
2011-01-12i965: Clarify when we need to (re-)calculate live intervals.Eric Anholt
The ad-hoc placement of recalculation somewhere between when they got invalidated and when they were next needed was confusing. This should clarify what's going on here.
2010-12-28i965: Fix regression in FS comparisons on original gen4 due to gen6 changes.Eric Anholt
Fixes 26 piglit cases on my GM965.
2010-11-19i965: Remove duplicate MRF writes in the FS backend.Eric Anholt
This is quite common for multitexture sampling, and not only cuts down on the second and later set of MOVs, but typically also allows compute-to-MRF on the first set. No statistically siginficant performance difference in nexuiz (n=3), but it reduces instruction count in one of its shaders and seems like a good idea.
2010-11-19i965: Recognize saturates and turn them into a saturated mov.Eric Anholt
On pre-gen6, this turns 4 instructions into 1. We could still do better by folding the saturate into the instruction generating the value if nobody else uses it, but that should be a separate pass.
2010-11-19i965: Just use memset() to clear most members in FS constructors.Eric Anholt
This should make it a lot harder to forget to zero things.
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-22i965: Move the FS disasm/annotation printout to codegen time.Eric Anholt
This makes it a lot easier to track down where we failed when some code emit triggers an assert. Plus, less memory allocation for codegen.
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: Use the new style of IF statement with embedded comparison on gen6.Eric Anholt
"Everyone else" does it this way, so follow suit. It's fewer instructions, anyway.
2010-10-15i965: Set the type of the null register to fix gen6 FS comparisons.Eric Anholt
We often use reg_null as the destination when setting up the flag regs. However, on gen6 there aren't general implicit conversions to destination types from src types, so the comparison to produce the flag regs would be done on the integer result interpreted as a float. Hilarity ensued. Fixes 20 piglit cases.
2010-10-14i965: Add a function for handling the move of boolean values to flag regs.Eric Anholt
This will be a place to peephole comparisions directly to the flag regs, and for now avoids using MOV with conditional mod on gen6, which is now illegal.
2010-10-14i965: Add a pass to the FS to split virtual GRFs to float channels.Eric Anholt
Improves nexuiz performance 0.91% (+/- 0.54%, n=8)
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-10-11i965: Compute to MRF in the new FS backend.Eric Anholt
This didn't produce a statistically significant performance difference in my demo (n=4) or nexuiz (n=3), but it still seems like a good idea and is recommended by the HW team.
2010-10-11i965: Give the FB write and texture opcodes the info on base MRF, like math.Eric Anholt
2010-10-11i965: Give the math opcodes information on base mrf/mrf len.Eric Anholt
This is progress towards enabling a compute-to-MRF pass.
2010-10-11i965: Move FS backend structures to a header.Eric Anholt
It's time to start splitting some of this up.