History log of /external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fc10dc9fdea6ad7d04dfcdb8fd2e2d59ea67f68b 22-Dec-2016 Rob Clark <robdclark@gmail.com> freedreno/ir3: rework location of driver constants

Rework how we lay out driver constants (driver-params, UBO/TFBO buffer
addresses, immediates) for more flexibility. For a5xx+ we need to deal
with the fact that gpu ptrs are 64b instead of 32b, which makes the
fixed offset scheme not work so well. While we are dealing with that
we might also make the layout more dynamic to account for varying # of
UBOs, etc.

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
bea8602e5b576eb98d8e4657f2b1287fb9f148a1 12-Dec-2016 Rob Clark <robdclark@gmail.com> freedreno: fdN_gmem_restore_format() is not gen specific

Refactor out into a common helper, since this is the same across
generations when we need equiv z/s gmem restore format.

Next patch needs this in a5xx, rather than creating yet another
helper push this into core.

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
fcba3046e1b90ecec6f5f4ad5397cd36e0c740ac 08-Nov-2016 Rob Clark <robdclark@gmail.com> freedreno: update generated headers

Pull in a5xx

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
b8b800d18a75d8d919239a91be07ac0aee42fa0d 09-Nov-2016 Rob Clark <robdclark@gmail.com> freedreno/a4xx: make _emit_const() static

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
89f00f749fda4c1beca38f362c7f86bdc6e32785 15-Aug-2016 Ilia Mirkin <imirkin@alum.mit.edu> a4xx: make sure to actually clamp depth as requested

We were previously ... not clamping. I guess this meant that everything
got clamped to 1/0, which was enough to pass the existing tests. Or
perhaps the clamping would only happen to the rasterized depth value and
not the frag shader's output depth value.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97231
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
9f0eb6952790bffe2670f26d399f15acec199cac 19-Jul-2016 Rob Clark <robdclark@gmail.com> freedreno: drop needs_rb_fbd

We need to emit RB_FRAME_BUFFER_DIMENSION once per batch.. tracking this
in fd_context is wrong when the gmem code executes asynchronously from
the flush_queue worker. But in fact we don't really need to track it at
all. We cannot assume previous value at the beginning of the batch
(because of other processes potentially using the GPU), so just drop the
tracking and emit it in _tile_init().

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
e6bfe1c7734cfbf41a763797527db6cb49fa1566 19-Jul-2016 Rob Clark <robdclark@gmail.com> freedreno: move needs_wfi into batch

This is also used in gmem code, which executes from the "bottom half"
(ie. from the flush_queue worker thread), so it cannot be in fd_context.

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
7f8fd02dc7cad1ddcfb610db10ffbb41e3e34e7d 11-Jul-2016 Rob Clark <robdclark@gmail.com> freedreno: re-order support for hw queries

Push query state down to batch, and use the resource tracking to figure
out which batch(es) need to be flushed to get the query result.

This means we actually need to allocate the prsc up front, before we
know the size. So we have to add a special way to allocate an un-
backed resource, and then later allocate the backing storage.

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
f02a64dbdd2ec147167ad60357bd46d8d964290a 27-Jun-2016 Rob Clark <robdclark@gmail.com> freedreno: move more batch related tracking to fd_batch

To flush batches out of order, the gmem code needs to not depend on
state from fd_context (since that may apply to a more recent batch).
So this all moves into batch.

The one exception is the gmem/pipe/tile state itself. But this is
only used from gmem code (and batches are flushed serially). The
alternative would be having to re-calculate GMEM layout on every
batch, even if the dimensions of the render targets are the same.

Note: This opens up the possibility of pushing gmem/submit into a
helper thread.

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
9bbd239a4039522d7c1023ecb21764679447bb2d 20-May-2016 Rob Clark <robclark@freedesktop.org> freedreno: introduce fd_batch

Introduce the batch object, to track a batch/submit's worth of
ringbuffers and other bookkeeping. In this first step, just move
the ringbuffers into batch, since that is mostly uninteresting
churn.

For now there is just a single batch at a time. Note that one
outcome of this change is that rb's are allocated/freed on each
use. But the expectation is that the bo pool in libdrm_freedreno
will save us the GEM bo alloc/free which was the initial reason
to implement a rb pool in gallium.

The purpose of the batch is to eventually facilitate out-of-order
rendering, with batches associated to framebuffer state, and
tracking the dependencies on other batches.

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
88cc11e971e8e84c2704a86b325a08cbe8ffc354 20-May-2016 Rob Clark <robclark@freedesktop.org> freedreno: switch emit_const_bo() to take prsc's

We can push the unwrap of pipe_resource down.

Signed-off-by: Rob Clark <robdclark@gmail.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
11f065240438728c36c777ff8fcedd3d32426c3c 01-Jun-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: only update/emit bordercolor state when needed

I noticed in stk that it was contributing to a lot of overhead.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
291ac872a445f3edebd668b27e910a79e1de5a00 03-May-2016 Rob Clark <robclark@freedesktop.org> freedreno: move shader-stage dirty bits to global dirty flag

This was always a bit overly complicated, and had some issues (like
ctx->prog.dirty not getting reset at the end of the batch). It also
required some special hacks to avoid resetting dirty state on binning
pass. So just move it all into ctx->dirty (leaving some free bits
for future shader stages), and make FD_DIRTY_PROG just be the union
of all FD_SHADER_DIRTY_*.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
a48cccacf3c7d655bbca42b51193100b43eeff6e 03-May-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: fix bogus offset for f32x24s8 stencil restore

fixes: $piglit/bin/fbo-clear-formats GL_ARB_depth_buffer_float

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
173871dfb988c3e9fb74a8016d2b024619a5d918 11-Apr-2016 Rob Clark <robclark@freedesktop.org> freedreno/ir3: lower immeds to const

Helps reduce register pressure and instruction counts for immediates
that would otherwise require a mov into gpr.

total instructions in shared programs: 4455332 -> 4369297 (-1.93%)
total dwords in shared programs: 8807872 -> 8614432 (-2.20%)
total full registers used in shared programs: 263062 -> 250846 (-4.64%)
total half registers used in shader programs: 9845 -> 9845 (0.00%)
total const registers used in shared programs: 1029735 -> 1466993 (42.46%)

half full const instr dwords
helped 0 10415 0 17861 5912
hurt 0 1157 21458 947 33

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
adf795432f788b33822d3a94b704be4ca536c8f1 19-Apr-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: better workaround for astc+srgb

This *seems* like a hw bug, and maybe only applies to certain a4xx
variants/revisions. But setting the SRGB bit in sampler view state
(texconst0) causes invalid alpha for ASTC textures. Work around this
setting up a second texture state and using that to sample alpha
separately.

This way, srgb->linear conversion happens in hw *prior* to
interpolation.

This fixes 546 dEQP tests: dEQP-GLES3.functional.texture.*astc*srgb*

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
19118e6f4713fd90d1a0bb75cbb2c06f1043d378 22-Apr-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: blend state no longer depends on fb state

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
e85bef8b128eef7ae549a95bac197601435da9cd 22-Apr-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: fix encoding of blend color state

Fixes a whole bunch of dEQP-GLES3.functional.fragment_ops.random.* (now
they all pass)

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
fb523cb6ad3ffef22ab4b9cce9e53859c17c5739 16-Apr-2016 Marek Olšák <marek.olsak@amd.com> gallium: merge PIPE_SWIZZLE_* and UTIL_FORMAT_SWIZZLE_*

Use PIPE_SWIZZLE_* everywhere.
Use X/Y/Z/W/0/1 instead of RED, GREEN, BLUE, ALPHA, ZERO, ONE.
The new enum is called pipe_swizzle.

Acked-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.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_emit.c
2224ba597629b299e8601a137ead54ad5d93c489 05-Mar-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: remove RB_RENDER_CONTROL patching

Bitfields where shuffled around for the better on a4xx, so we don't need
any patching on this one. It appears to be something we set entirely in
the gmem code so no conflict between tiling and render state like we had
in a3xx.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
5b955f09f72b2217576ea8980a3d8fd3ba63854a 07-Mar-2016 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: constify the shader variants

Most of the driver just needs read-only access, so constify..

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
c3f2f8cbe47a51087dcc82826bd939786c812366 01-Mar-2016 Rob Clark <robclark@freedesktop.org> freedreno/ir3: pass ctx to constant-emit code

Rather than fishing it out of the shader. This removes the other big
user of shader->pctx.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
8529e210ecb2aa362f51399f8632c6d4429401cf 10-Feb-2016 Rob Clark <robclark@freedesktop.org> freedreno/query: add optional enable hook

Add enable hook for hw query providers. Some will need to configure
perfctr selector registers, which we want to do at the start of the
submit.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
6062941e4dd441bb67d5db760b87ffc0509befb7 18-Jan-2016 Rob Clark <robclark@freedesktop.org> freedreno: per-generation OUT_IB packet

Some a4xx firmware doesn't implement the "PFD" (prefetch-disabled)
version of the CP_INDIRECT_BUFFER packet. So allow for PFD vs PFE per
generation. Switch a3xx and a4xx over to using prefetch-enabled version
(which is also what blob does.. it seems only on a2xx we cannot use
PFE).

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
020009f7ccdffa84c6e1649c4e915954f5fd7cc0 19-Dec-2015 Marek Olšák <marek.olsak@amd.com> u_upload_mgr: pass alignment to u_upload_alloc manually

The fixed alignment of u_upload_mgr will go away.
This is the first step.

The motivation is that one u_upload_mgr can have multiple users,
each allocating from the same buffer, but requiring a different alignment.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.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_emit.c
9761d5146fa76dbb03da0ba94beba4c249f061d1 22-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: re-emit program on dirty framebuffer

The program emit depends on certain fb details. Make sure those get
updated when the fb changes.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
81b16350fa2e7c1b47d976be12d2313283f22e24 22-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: use a factor of 32767 for snorm8 blending

It appears that the hardware wants the integer to be scaled the same way
that the hardware representation is. snorm16 uses one of the float
factors, so this is only relevant for snorm8.

This fixes a number of subcases of
bin/fbo-blending-formats GL_EXT_texture_snorm

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
6f17f19b17d6150788e713f92f6a05ef410c4060 22-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: only compute texture offset once for the view

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
f10bb0ac9ea558efe7b6dccd673eb2b6604119db 22-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: add ARB_texture_view support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
99f12a3f1a825c53d790f12dae114f388bb6244c 21-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: add ARB_texture_buffer_range support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
d4c40f99ab9b8ccf807cea45599231c0072f740b 21-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: add polygon mode support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
22aeb0c5684cec11fd8cb4a159b10edbcfe8d6ec 21-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: disable blending and alphatest for integer rt0

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
f54c89f13e6c4759854d0b40b2b9bbac04dde5be 21-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: set fetchsize in mem2gmem texture restore

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
740eb63aa78a48bae5248b72f023d725ed82d1b3 21-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: fix 3d texture setup

Same fix as on a3xx - set the second (tiny) layer size bitfield to the
smallest level's size so that the hw knows not to minify beyond that.

This fixes texelFetch sampler3D piglits.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
ec106e9f621cc1f8b3c1ee55aafa69d5ad159276 20-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno/a4xx: fix dst_alpha blend for RGBX render targets

There are not native RGBX render formats, so we must manually force
dst_alpha to be one, same as for a3xx.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
8106fec74c4d8548974fcf64e052a6bac07e926f 16-Nov-2015 Rob Clark <robclark@freedesktop.org> freedreno/a3xx+a4xx: fix for stk binning pass hang

We'd end up in a state where shader uses no inputs, yet num_elements is
greater than zero. Triggered by a TF vertex shader which did:

gl_Position = vec4(0.0, 0.0, 0.0, 0.0);

resulting in a binning pass variant with no inputs.

Includes equiv fix in a4xx, even though we don't have binning-pass
enabled yet on a4xx.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
6459e780ae44d8826322e0dc2466d0ee6d9e9800 27-Oct-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: fix blend color

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
7465e161248b94d0bd1cdae6fc4c501ecfcf9b0b 27-Oct-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_emit.c
1e8d0cc62897fc90ac7dc9a92e80e714e52d3e77 23-Oct-2015 Rob Clark <robclark@freedesktop.org> freedreno: remove unnecessary null checks

According to piglit/xonotic/neverball/stc, blend/rasterize/zsa state
will always be bound (never null). And the null checks were in-
consistent anyways, so remove them.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.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_emit.c
d85267c4bb5416dc3fbac7798b4bb68247340508 15-Sep-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: border-color support

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
500025a23784877c8a61d8b3c7a8eab6fddf242a 11-Aug-2015 Rob Clark <robclark@freedesktop.org> freedreno/a3xx+a4xx: add texture buffer object support

Basic texture buffer support. Should be straightforward to add first/
last_element support. And with a bit of work in ir3 emulate larger
texture buffer sizes. But this seems to be enough for stk gl31 render
paths.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
7bfe8cf4a487aec4870df23f6f72c828f1caaa49 06-Aug-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: add s8/z32/z32_s8x24 support

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.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_emit.c
a221f8d9ebb4ef43a83ef638458d1338dfe1e517 31-Jul-2015 Rob Clark <robclark@freedesktop.org> freedreno: small bit of cleanup about max rendertargets

We hard-coded 4 or 8 as the max in various places. Switch it all to a
define since the limit will go up with a4xx (and maybe even again in the
future?)

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
65d36a109a7dd333c15180a0f30ad919eb01d78f 24-Jul-2015 Rob Clark <robclark@freedesktop.org> freedreno/a3xx+a4xx: add support for vtxcnt semantic

This will be used for stream-out (transform-feedback)

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
56462a30080c1f25a81ae566d59a25d2ad6bb809 24-Jul-2015 Rob Clark <robclark@freedesktop.org> freedreno/ir3: move emit_const to ir3

Details of the cmdstream packets are different between a3xx and a4xx,
but the logic about the layout of const registers is the same, as that
is dictated by the ir3 shader compiler. So rather than duplicating
logic that is tightly coupled to ir3 between a3xx and a4xx, move this
into ir3 and use per-generation callbacks for to build the cmdstream
packets.

This should make it easier to pass additional const regs (such as for
transform feedback). And it also keeps the layout internal to ir3 in
case we want to make the layout more dynamic some day.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
2b7a54452fbb7e6436aa4ecc700cb2fe2f96ad86 10-Jul-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_emit.c
3244195f48affec1d3c2eb5d0e267c75b046db9f 26-Jun-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: fix for sparse-samplers

Some piglit tests, like arb_fragment_program-sparse-samplers, result in
having a null samp#0 but valid samp#1.

TODO: a3xx probably needs similar fix

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
a86918312320ccc2e6dafae25fd5800ef62b3710 22-Apr-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: primitive-restart

This was the missing bit to get dolphin-emu working on a4xx.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
632ea2a1139f4b228ca55331e411dbae9920c28d 22-Apr-2015 Rob Clark <robclark@freedesktop.org> freedreno/nir: sysval fixes

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
48a651e98ce764a9dae3d4dfd6e18044414be18b 22-Apr-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: formats updates/fixes

Update formats table with new formats that Ilia has figured out, and fix
sampling from srgb texture and integer vbo's.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
21ceedfd8bd1b9e45ee12be24b328876bd7fa4eb 18-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_emit.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_emit.c
70b2f872ea6ae651b832a2b3dd975efd78289fad 11-Apr-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: sysvals and UBOs

Basically just sync up the cmdstream emit parts to match the changes
already done on a3xx.

Also, fix scheduling for mem instructions. This is needed on a4xx, and
I am a bit surprised it isn't needed for a3xx.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
bfb0a8eb6967065be92e40ba620fc6fededde51a 03-Apr-2015 Ilia Mirkin <imirkin@alum.mit.edu> freedreno: remove tex_resource

pipe_sampler_view already contains a texture, remove the redundant
tex_resource member which pointed at the same thing.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
583a8a8f65c3086d21de864c602c6aa6283bcd45 27-Feb-2015 Rob Clark <robclark@freedesktop.org> freedreno/a3xx,a4xx: silence some warnings

fd3_emit.c: In function ‘fd3_emit_vertex_bufs’:
fd3_emit.c:377:11: warning: unused variable ‘semantic’ [-Wunused-variable]
uint8_t semantic = sem2name(vp->inputs[i].semantic);

and

fd4_emit.c: In function ‘fd4_emit_vertex_bufs’:
fd4_emit.c:304:11: warning: unused variable ‘semantic’ [-Wunused-variable]
uint8_t semantic = sem2name(vp->inputs[i].semantic);

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
daccbd27ce2f838e855ade1216445c8dba7731f3 21-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: add ARB_instanced_arrays support

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
283bb4848e0904d901e79d32883bf7dd546d6159 21-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: add support for vertexid and instanceid sysvals

ir3 bits of it already in place from a3xx patch..

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
51e335742e55d6725fd5c4558158769a32f70f22 21-Feb-2015 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: set PC_PRIM_VTX_CNTL.VAROUT properly

Fixes xonotic, some webgl stuff, and really pretty much anything with
more than 4 varyings.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
fb1301e40abbac1de973563cacd2c7f31aa6bb4f 21-Feb-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_emit.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_emit.c
aa6415b4852557ed91b4f31065a79b2a6c987c53 20-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: blend-color

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
097d760aac9f4248298e954378123852c7f13f28 20-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno: update generated headers
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
0ebd623f6058fd20ee28e206da2da259073fdf86 12-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: mipmaps

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
7474de2235beee9240be702ab99b93989fa7c7c1 12-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno: helper to calc layer/level offset

Rather than duplicating this everywhere. Especially as on a4xx the
layout of layers and levels differs based on texture type.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
5b38a1740beccf1f33b9dfe4d38f00a711b6b2e0 06-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: XA gpu hang at startup

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
1e3a732603a4a4d5b3e7102cf0d7840f79ecf5c4 05-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: texture fixes

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.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_emit.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_emit.c
036f434ac2dfed6ff730a1bd8f74eafd95bcad4e 02-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: alpha blend fixes

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
bb19f2c3c4a47c25c2680ad2d94a10f8ee5e70d7 01-Dec-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: invalidate cache when vbo's change

Otherwise vertex shader can see stale cache data. This in particular
happens when the same vbo is updated and reused. Not sure yet if vbo's
at differing addresses but bound to same vertex buffer slot could have
issues, but seems safest to flush whenever new vertex buffers are bound.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.c
66f694b16c2279e9fac9d6970611e812742f6dc9 28-Nov-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: stencil fixes

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.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_emit.c
7c5707bd4a7c5440f2f84b2805860a922ce365ac 15-Nov-2014 Rob Clark <robclark@freedesktop.org> freedreno/a4xx: implement mem->gmem (restore)

Support to restore gmem (tile buffer) (in case it wasn't glClear'd).

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_emit.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_emit.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_emit.c