mesa/src/gallium/docs/source
Nicolai Hähnle 3c78215a1c tgsi: clarify the semantics of DFRACEXP
The status quo is quite the mess:

1. tgsi_exec will do a per-channel computation, and store the dst[0]
   result (significand) correctly for each channel. The dst[1] result
   (exponent) will be written to the first bit set in the writemask.
   So per-component calculation only works partially.

2. r600 will only do a single computation. It will replicate the
   exponent but not the significand.

3. The docs pretend that there's per-component calculation, but even
   get dst[0] and dst[1] confused.

4. Luckily, st_glsl_to_tgsi only ever emits single-component instructions,
   and kind-of assumes that everything is replicated, generating this for
   the dvec4 case:

     DFRACEXP TEMP[0].xy, TEMP[1].x, CONST[0][0].xyxy
     DFRACEXP TEMP[0].zw, TEMP[1].y, CONST[0][0].zwzw
     DFRACEXP TEMP[2].xy, TEMP[1].z, CONST[0][1].xyxy
     DFRACEXP TEMP[2].zw, TEMP[1].w, CONST[0][1].zwzw

Settle on the simplest behavior, which is single-component calculation
with replication, document it, and adjust tgsi_exec and r600.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2017-09-29 12:07:50 +02:00
..
cso gallium/docs: document alpha_to_coverage and alpha_to_one blend state 2016-09-16 08:44:26 -06:00
drivers swr: update gallium driver docs 2017-04-14 15:21:31 -05:00
exts gallium/docs: Add formatting for envvar role; change debugging. 2010-08-15 03:43:54 -07:00
conf.py gallium/docs: use imgmath instead of pngmath 2017-02-22 00:01:08 +00:00
context.rst gallium: add PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE 2017-09-18 11:25:18 +02:00
cso.rst
debugging.rst galahad: remove driver 2015-03-21 17:18:28 +00:00
distro.rst galahad: remove driver 2015-03-21 17:18:28 +00:00
drivers.rst gallium/docs: add some freedreno compiler docs 2015-03-08 17:42:43 -04:00
format.rst gallium/docs: add format to index 2014-04-01 10:17:13 -04:00
glossary.rst gallium: support for array textures and related changes 2010-12-02 04:33:43 +01:00
index.rst gallium/docs: add some freedreno compiler docs 2015-03-08 17:42:43 -04:00
intro.rst
pipeline.txt gallium/docs: added new pipeline.txt diagram 2010-09-17 18:50:47 -06:00
resources.rst gallium/docs: fix incorrect/missing references 2014-04-01 10:17:13 -04:00
screen.rst gallium/docs: add reference links for resource_create method 2017-09-28 13:20:14 +01:00
tgsi.rst tgsi: clarify the semantics of DFRACEXP 2017-09-29 12:07:50 +02:00