History log of /external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
43af02ac731dac7d80f7e47feb0c80e4da156769 27-Feb-2012 Yuanhan Liu <yuanhan.liu@linux.intel.com> i965: handle gl_PointCoord for Gen4 and Gen5 platforms

This patch add the support of gl_PointCoord gl builtin variable for
platform gen4 and gen5(ILK).

Unlike gen6+, we don't have a hardware support of gl_PointCoord, means
hardware will not calculate the interpolation coefficient for you.
Instead, you should handle it yourself in sf shader stage.

But badly, gl_PointCoord is a FS instead of VS builtin variable, thus
it's not included in c.vue_map generated in VS stage. Thus the current
code doesn't aware of this attribute. And to handle it correctly, we
need add it to c.vue_map manually to let SF shader generate the needed
interpolation coefficient for FS shader. SF stage has it's own copy of
vue_map, thus I think it's safe to do it manually.

Since handling gl_PointCoord for gen4 and gen5 platforms is somehow a
little special, I added a lot of comments and hope I didn't overdo it ;)

v2: add a /* _NEW_BUFFERS */ comment to note the state flag dependency
and also add the _NEW_BUFFERS dirty mask (Eric).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45975
Piglit: glsl-fs-pointcoord and fbo-gl_pointcoord

NOTE: This is a candidate for stable release branches.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
2e5a1a254ed81b1d3efa6064f48183eefac784d0 07-Oct-2011 Kenneth Graunke <kenneth@whitecape.org> intel: Convert from GLboolean to 'bool' from stdbool.h.

I initially produced the patch using this bash command:
for file in {intel,i915,i965}/*.{c,cpp,h}; do [ ! -h $file ] && sed -i
's/GLboolean/bool/g' $file && sed -i 's/GL_TRUE/true/g' $file && sed -i
's/GL_FALSE/false/g' $file; done

Then I manually added #include <stdbool.h> to fix compilation errors,
and converted a few functions back to GLboolean that were used in core
Mesa's function pointer table to avoid "incompatible pointer" warnings.

Finally, I cleaned up some whitespace issues introduced by the change.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Chad Versace <chad@chad-versace.us>
Acked-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
18e2e19b07b312c978dfbb6d336f69fa84b3ffe2 27-Sep-2011 Paul Berry <stereotype441@gmail.com> i965: Make brw_compute_vue_map's userclip dependency a boolean.

Previously, brw_compute_vue_map required an argument indicating the
number of clip planes in use, but all it did with it was check if it
was nonzero.

This patch changes brw_compute_vue_map to take a boolean instead.
This allows us to avoid some unnecessary recompilation of the Gen4/5
GS and SF threads.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
bbc53d6285efc664b9b9f326cdcd82a9414507c1 25-Aug-2011 Paul Berry <stereotype441@gmail.com> i965: SF: Remove unnecessary variables.

This patch removes the variables nr_attrs and nr_setup_attrs, whose
purpose is now being served by the VUE map. nr_attr_regs and
nr_setup_regs are still needed, however they are now computed using
the VUE map rather than by counting the number of vertex shader
outputs (which caused subtle bugs when gl_PointSize was written).

Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
08f030baec3d13805c5800183550d8ad88ed8881 25-Aug-2011 Paul Berry <stereotype441@gmail.com> i965: SF: Remove attr_to_idx and idx_to_attr.

These data structures were serving the same purpose as the VUE map,
but were buggy. Now that the code has been transitioned to use the
VUE map, they are not needed.

Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
4a1fb81902a7863d5dfe304e5e4ca2c631159be1 24-Aug-2011 Paul Berry <stereotype441@gmail.com> i965: SF: Modify calculate_point_sprite_mask to use the VUE map.

Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
39fc725b0c81db8d76cb490488cd95de5c4d7a79 23-Aug-2011 Paul Berry <stereotype441@gmail.com> i965: SF: Move the computation of urb_entry_read_offset.

This patch moves the computation of the SF URB entry read offset from
upload_sf_unit() to its own function, so that it can be re-used when
creating the gen4-5 SF program.

Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
f147599ef4b0d14c25a7e0d3f9f1c9b0229bb6fc 19-May-2011 Eric Anholt <eric@anholt.net> i965: Remove linear_color for GL_PERSPECTIVE_CORRECTION_HINT.

From the GL 2.1 spec:

"Required perspective-correct interpolation for all fragment
attributes except depth in sections 3.4.1 and 3.5.1, effectively
making GL PERSPECTIVE CORRECT HINT a no-op."

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
ec2b92f98c2e7f161521b447cc1d9a36bce3707c 11-Jun-2010 Brian Paul <brianp@vmware.com> mesa: rename src/mesa/shader/ to src/mesa/program/
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
bc632d04370566c1156cbd0345fe303834f0b910 08-Mar-2010 Eric Anholt <eric@anholt.net> i965: Fix up the handling of point sprite coordinate replacement.

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.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
5606dfb572bf4b89b4882265924705bacc8c182b 18-Nov-2009 Ian Romanick <ian.d.romanick@intel.com> Merge branch 'outputswritten64'

Add a GLbitfield64 type and several macros to operate on 64-bit
fields. The OutputsWritten field of gl_program is changed to use that
type. This results in a fair amount of fallout in drivers that use
programs.

No changes are strictly necessary at this point as all bits used are
below the 32-bit boundary. Fairly soon several bits will be added for
clip distances written by a vertex shader. This will cause several
bits used for varyings to be pushed above the 32-bit boundary. This
will affect any drivers that support GLSL.

At this point, only the i965 driver has been modified to support this
eventuality.

I did this as a "squash" merge. There were several places through the
outputswritten64 branch where things were broken. I foresee this
causing difficulties later for bisecting. The history is still
available in the branch.

Conflicts:
src/mesa/drivers/dri/i965/brw_wm.h
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
217a40d8d92d377e73ed1ab5a326703fab779dd1 29-Oct-2009 Brian Paul <brianp@vmware.com> i965: indentation fix
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
26d22b094bb7b2f37d4bc8edfeb1b2a9a1c96d88 29-Oct-2009 Brian Paul <brianp@vmware.com> i965: make brw_sf_prog_key::sprite_origin_lower_left one bit

Shrinks size of key to 8 bytes from 12.
Note that progs/demos/spriteblast.c is still broken.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
18af7c384cf663533f210d95d074c244d4214f29 13-Jun-2009 Brian Paul <brianp@vmware.com> i965: interpolate colors with perspective correction by default

...rather than with linear interpolation. Modern hardware should use
perspective-corrected interpolation for colors (as for texcoords).
glHint(GL_PERSPECTIVE_CORRECTION_HINT, mode) can be used to get
linear interpolation if mode = GL_FASTEST.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
4cca760a9b7fe120ed92257a6a6c4a3a6e929ba8 19-Dec-2007 Xiang, Haihao <haihao.xiang@intel.com> i965: allocate GRF registers before building subroutines,
it ensures there are sufficient registers for all subroutines.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
6ef27b88e6f767cd476676b33cb7c4ea6922234e 26-Oct-2007 Zou Nan hai <nanhai.zou@intel.com> Merge branch '965-glsl'

Conflicts:

src/mesa/drivers/dri/i965/brw_sf.h
src/mesa/drivers/dri/i965/intel_context.c
acfeb3b6ea93bcb5b18e6f51a0727e39da608d76 11-Sep-2007 Brian <brian.paul@tungstengraphics.com> Fix-up #includes to remove some -I options.

eg: #include "shader/program.h" and remove -I$(TOP)/src/mesa/program
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
60179434d15989b81e2d4757f34033009184a678 30-Jul-2007 Zou Nan hai <nanhai.zou@intel.com> ARB sprite point support on i965
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
35707dbe57873adb5a8088cd47c13bd216e143e4 12-Apr-2007 Zou Nan hai <nanhai.zou@intel.com> Initial 965 GLSL support
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h
9f344b3e7d6e23674dd4747faec253f103563b36 09-Aug-2006 Eric Anholt <anholt@FreeBSD.org> Add Intel i965G/Q DRI driver.

This driver comes from Tungsten Graphics, with a few further modifications by
Intel.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_sf.h