History log of /external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
728e2c4d38b2c03ad1fdc997bef70e646ada9fe4 23-Nov-2016 Rob Clark <robdclark@gmail.com> freedreno/ir3: don't offset inloc by 8

On a3xx/a4xx, the SP_VS_VPC_DST_REG.OUTLOCn is offset by 8, so we used
to add this offset into fs->inputs[n].inloc. But a5xx drops this extra
offset-by-8. So instead make inloc zero based and add the offset when
we emit OUTLOCn values (for the gen's that need the offset).

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
98c83b5d1c865ecac2f1e8c7b6e8a092b3f351fa 23-Nov-2016 Rob Clark <robdclark@gmail.com> freedreno/a4xx: use new shader linkage helper

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
ac1181ffbef5250cb3b651e047cce5116727c34c 07-Jul-2016 Kenneth Graunke <kenneth@whitecape.org> compiler: Rename INTERP_QUALIFIER_* to INTERP_MODE_*.

Likewise, rename the enum type to glsl_interp_mode.

Beyond the GLSL front-end, talking about "interpolation modes" seems
more natural than "interpolation qualifiers" - in the IR, we're removed
from how exactly the source language specifies how to interpolate an
input. Also, SPIR-V calls these "decorations" rather than "qualifiers".

Generated by:
$ find . -regextype egrep -regex '.*\.(c|cpp|h)' -type f -exec sed -i \
-e 's/INTERP_QUALIFIER_/INTERP_MODE_/g' \
-e 's/glsl_interp_qualifier/glsl_interp_mode/g' {} \;

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
80c288603300a06ac1585769cc491711c3d1b4f0 02-Jun-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: silence coverity warning

CID 1362451

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
1f2bc64f31872f04c27f9aa7a93e63a0091aaabf 03-May-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: deal with VS which do not write position

Fixes $piglit/bin/glsl-1.40-tf-no-position

a3xx may need similar?

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
663c0e5155e9916b10163c102f0ece4eda5c3154 24-Apr-2016 Rob Clark <robclark@freedesktop.org> freedreno/ir3: use pipe_debug_callback for shader-db traces

For multi-threaded shader-db support.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
f68c6951b86ac38ebdb89bc6b5a6285433e684a6 05-Mar-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: hw binning

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
dd9135c452a2a457fb6cabf7de573075d22a869a 07-Mar-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: move where we deal w/ binning FS

Move where we pick dummy FS for binning pass, so the whole driver sees
the same dummy/no-op FS stage.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
c4ae047cabd8f7ef8ff90add285804635d8e0c50 01-Mar-2016 Rob Clark <robclark@freedesktop.org> freedreno/ir3: enable shareable shaders

Now that we are no longer using the pctx reference in the shader, drop
it and turn on shareable shaders.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
805e080ba0ef637cfc7b637538b5a0ce5f0b53dc 18-Jan-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: use smaller threadsize for more registers

Once we go past half of the "GPR" register file, it seems like we need
to run frag shader with smaller threadsize. (The vertex shader already
runs at TWO_QUADS, which is the minimum.)

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
e677b3047be30c0990ce72e5debb19c1f5627fc4 13-Dec-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: fix fragcoord.z + fragdepth

It seems like disabling earlyz on a4xx also, by defaults, disables
fragcoord.z to the FS. For frag shaders that both read fragcoord(.z)
and write fragdepth, we need to set some extra bits to prevent a
lockup.

This lets us get rid of the hack of disabling fragcoord.z (which
prevented 0ad from lockups, but resulted in rendering corruption). Also
fixes fbo-depth-sample-compare.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
57fc0dd8d5610a0a25cece53b172b0c992421db0 26-Nov-2015 Rob Clark <robclark@freedesktop.org> freedreno/ir3: assign varying locations later

Rather than assigning inloc up front, when we don't yet know if it will
be unused, assign it last thing before the legalize pass.

Also, realize when inputs are unused (since for frag shader's we can't
rely on them being removed from ir->inputs[]). This doesn't make sense
if we don't also dynamically assign the inloc's, since we could end up
telling the hw the wrong # of varyings (since we currently assume that
the # of varyings and max-inloc are related..)

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
2fbe4e7d2fdb18e12860cd577990ec97b5e18647 26-Nov-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: rework vinterp/vpsrepl

Same as previous commit, for a4xx.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
ff9450ecd1f7635f8917e3177f0ef18eb8f9f49b 21-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: point regid to "red" even for alpha-only rb formats

Looks like a4xx hw does this in a more standard way and we don't need to
hack around it like we do on a3xx. Fixes GL_ALPHA formats in
fbo-blending-formats, fbo-colormask-formats, and fbo-alphatest-formats.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
c4572b7dfe7a4ae9dc6e900f89786fa9cf7769df 11-Sep-2015 Rob Clark <robclark@freedesktop.org> freedreno/ir3: convert from tgsi semantic/index to varying-slot

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
e523f69b1d2f0cb3ff7659e3c55b9a2e40240c9c 10-Sep-2015 Rob Clark <robclark@freedesktop.org> freedreno/ir3: switch to shader_enums.h interp constants

A small step towards un-TGSI'ifying ir3.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
868b66fce7a156efda840c00088f89f4ba6163c9 13-Aug-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: fix srgb render targets

Also fixes mipmap level generation for srgb textures.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
8885f2befaea68ce7f9d550c9b9ff5ae77524406 11-Aug-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: point-size and spritelist fixes

a4xx needs similar treatment as 995f55a6

Also fixup a few point-size and vpsrepl issues and drop fix_blit_fp()
hack previously needed for mem2gmem.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
2d6a889e8b786cd76d6711627c10be50615c2b62 09-Aug-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: fix vpsrepl for blit shaders

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
054526e49abb5e7fd49fed6f589cff6f1ab4c9f6 31-Jul-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: MRT support

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
0815729d964f4e8e6e263acf70b5b91577de027a 23-Jul-2015 Rob Clark <robclark@freedesktop.org> freedreno/ir3: bit of shader API refactoring

Since for transform-feedback, we'll need more than just the TGSI
tokens from the state object, just pass the entire state object to
ir3_shader_create(). This also cleans things up a bit for some
day in the future when we could take shader either as TGSI or
directly NIR (for ex, glsl2nir or spirv2nir paths). In the same
spirit, drop extra args from ir3_compile_shader_nir() (since it
can anyways get what it needs from the ir3_shader_variant).

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
cb24d3b7ad2f6c03edd86d827db2b308670ae8a7 22-Apr-2015 Rob Clark <robclark@freedesktop.org> freedreno: misc minor cleanups

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
1b58d8c2bf6136af2a89178f9da4e5f0631d2909 22-Apr-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: (partial) gl_FragCoord.zw

The bit to enable .z is still commented out, as it is triggering gpu
hangs in 0ad. But at least gl_FragCoord.w works now, and we know what
bits we are *supposed* to set for .z (with that uncommented all piglit
fragcoord tests are passing).

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
e5e11b5baf26e175f802c8078db92fd8492aa29d 12-Apr-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: support for large shaders

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
20ea698c492ea04f52e50974ecf39e887d144e43 12-Apr-2015 Rob Clark <robclark@freedesktop.org> freedreno: update generated headers

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
6f4c1976f4e5ecdebfe5b9ac16b6d13a5e60eed1 01-Apr-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno: convert blit program to array for each number of rts

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
8efa3e340d13a9f373e7b2834f12d9fae43e6867 30-Mar-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno: remove alpha key from ir3_shader

This complication is unnecessary and makes MRTs more complicated and
likely to generate tons of variants.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
bdf023482a6fd07adef090fb66a4aaaac22810fc 21-Feb-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: bit of cleanup

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
69d23809d06cb1bb20a92430e18720baff5994bc 07-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: frag-coord / face fixes

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
6a5ba23fa6156abb7d643080e2a2b477aa1ed559 06-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: temp hack for FLAT varyings

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
8ecbcbf0aab60e044dc4a9dabef2bdfb8db5abe9 05-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno: update generated headers

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
e9589a8fcf60f9d04ea31e6f84f43f9d10a636da 04-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: fd4_util -> fd4_format

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
c74f2db0a5dd35845727987b1cbd07c0cdab9678 03-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: frag-depth fixes

Also seems to fix kill/discard.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
3e698ebf44b443f28badf7443cf9516fc404871d 29-Nov-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: add render target format to fd4_emit

This lets us move emitting SP_FS_MRT_REG back to fd4_program_emit.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
0c6275300e7eeee347cecc3f41d1a62f9e0592ef 15-Nov-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: move where SP_FS_MRT_REGn is emitted

Addition of color fmt bitfield to this register (compared to a3xx) means
we need to re-emit if either prog or framebuffer state is dirty.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c
61c68b69d704b5faa5ff9d2b73b24bebf7e19412 31-Jul-2014 Rob Clark <robclark@freedesktop.org> freedreno: add adreno 420 support

Very initial support. Basic stuff working (es2gears, es2tri, and maybe
about half of glmark2). Expect broken stuff. Still missing: mem->gmem
(restore), queries, mipmaps (blob segfaults!), hw binning, etc.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_program.c