diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2016-05-17 01:52:16 -0700 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2016-05-20 14:30:08 -0700 |
commit | dac10e8a1390711f1f36f224644c4a33586cebe3 (patch) | |
tree | fa332e97d19225f705f72a6247ef1e3c254cf832 /src/mesa/drivers/dri/i965/brw_fs.h | |
parent | 6e5d86c07af920fa52afbe075a04116b9ebb3cc3 (diff) | |
download | external_mesa3d-dac10e8a1390711f1f36f224644c4a33586cebe3.zip external_mesa3d-dac10e8a1390711f1f36f224644c4a33586cebe3.tar.gz external_mesa3d-dac10e8a1390711f1f36f224644c4a33586cebe3.tar.bz2 |
i965, anv: Use NIR FragCoord re-center and y-transform passes.
This handles gl_FragCoord transformations and other window system vs.
user FBO coordinate system flipping by multiplying/adding uniform
values, rather than recompiles.
This is much better because we have no decent way to guess whether
the application is going to use a shader with the window system FBO
or a user FBO, much less the drawable height. This led to a lot of
recompiles in many applications.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs.h')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index f705217..de583e3 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -183,8 +183,7 @@ public: void emit_dummy_fs(); void emit_repclear_shader(); - fs_reg *emit_fragcoord_interpolation(bool pixel_center_integer, - bool origin_upper_left); + fs_reg *emit_fragcoord_interpolation(); fs_inst *emit_linterp(const fs_reg &attr, const fs_reg &interp, glsl_interp_qualifier interpolation_mode, bool is_centroid, bool is_sample); @@ -457,8 +456,7 @@ private: struct brw_reg dst, struct brw_reg src); void generate_ddx(enum opcode op, struct brw_reg dst, struct brw_reg src); - void generate_ddy(enum opcode op, struct brw_reg dst, struct brw_reg src, - bool negate_value); + void generate_ddy(enum opcode op, struct brw_reg dst, struct brw_reg src); void generate_scratch_write(fs_inst *inst, struct brw_reg src); void generate_scratch_read(fs_inst *inst, struct brw_reg dst); void generate_scratch_read_gen7(fs_inst *inst, struct brw_reg dst); |