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
|