History log of /external/mesa3d/src/gallium/state_trackers/d3d1x/gd3d1x/sm4_to_tgsi.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a5f44cc8c2ce0916809ce5da5a2490ad000ef099 01-May-2012 Francisco Jerez <currojerez@riseup.net> gallium/tgsi: Split sampler views from shader resources.

This commit splits the current concept of resource into "sampler
views" and "shader resources":

"Sampler views" are textures or buffers that are bound to a given
shader stage and can be read from in conjunction with a sampler
object. They are analogous to OpenGL texture objects or Direct3D

"Shader resources" are textures or buffers that can be read and
written from a shader. There's no support for floating point
coordinates, address wrap modes or filtering, and, unlike sampler
views, shader resources are global for the whole graphics pipeline.
They are analogous to OpenGL image objects (as in
ARB_shader_image_load_store) or Direct3D UAVs.

Most hardware is likely to implement shader resources and sampler
views as separate objects, so, having the distinction at the API level
simplifies things slightly for the driver.

This patch introduces the SVIEW register file with a declaration token
and syntax analogous to the already existing RES register file. After
this change, the SAMPLE_* opcodes no longer accept a resource as
input, but rather a SVIEW object. To preserve the functionality of
reading from a sampler view with integer coordinates, the
SAMPLE_I(_MS) opcodes are introduced which are similar to LOAD(_MS)
but take a SVIEW register instead of a RES register as argument.
14193da589275969be31dbdb3280bb48cd24d0c0 15-Dec-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> d3d1x: implement new stream output interface
c463dfe4e4999a0d745c31bce9a2a2bbe6a05899 13-Oct-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> d3d1x: implement array textures
65303c49d1efc996f5cc9dafa2768d0225b76f1c 20-Oct-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> d3d1x: switch to TGSI SAMPLE opcodes

We don't want to clutter the code or handicap new hardware for
the sake of ancient GPUs on which d3d1x won't ever be used,
much less be fully compliant, anyway.
db6f1d0436b66435bac5e2b6db5d2f4e07e80473 27-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: support centroid interpolation
0e40b41ceec15d97507fe85343daad54aa1c4824 23-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: don't assert on unsupported resource types
4babdc78448f92b8d027a66cd506351a16aef4ec 23-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: add untested support for geometry shader translation
6c598c78bd17642d731cf57b8369cc794f64ba2f 23-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: normalize whitespace
e5ae4588d150a179974a812887f3b6445d8e2f34 23-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> d3d1x: s/tpf/sm4/g