History log of /external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
79b66ec05e2745e5d19838dcfd83f905afa82b6c 13-Dec-2016 Bruce Cherniak <bruce.cherniak@intel.com> swr: Implement fence attached work queues for deferred deletion.

Work can now be added to fences and triggered by fence completion. This
allows for deferred resource deletion, and other asynchronous tasks.

Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
ef59cb0820c5542af9d62721a51c7f7256155069 27-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: add streamout buffer offset into pBuffer pointer

The buffer_size does not take the offset into account. Just add the
offset into the pointer which lines up the structures much better.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
3d837a8871e83e86da7e76ef855e8a877e8c971c 27-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: fix assertion for max number of so targets

The number has to be less than or equal to the max, not just less than.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
632c11e8570f040ed089ab8755f02aac8c458de7 26-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: fix range computation for instanced client-side arrays

We need to take the instance divisor and number of instances into
account for instanced client-side arrays, rather than the vertex
parameters.

Loosely based on the comparable nvc0 logic.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
53ca06be8f2f18cbc00d77324006f725c7faa31c 20-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: use util_copy_framebuffer_state helper

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
0a5e1b02cf6103037b488db5daa3097fbcfcf670 26-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: don't clear all dirty bits when changing so targets

Among other things, blits would clear existing SO targets which would
cause a bunch of updates from u_blitter to be missed.

Fixes fbo-scissor-blit fbo, probably among many others.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
2595aebd91956cbe47d2805d8c7beac2d9de7fa8 21-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: flatshading makes color outputs flat, it doesn't affect others

We were previously not marking the "regular" flat outputs as flat when
flatshading was enabled.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
7cfb364b1a373bce6b0b273556953fbb78c139e9 09-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: rework resource layout and surface setup

This is a bit of a mega-commit, but unfortunately there's no great way
to break this up since a lot of different pieces have to match up. Here
we do the following:
- change surface layout to match swr's Load/StoreTile expectations
- fix sampler settings to respect all sampler view parameters
- fix stencil sampling to read from secondary resource
- respect pipe surface format, level, and layer settings
- fix resource map/unmap based on the new layout logic
- fix resource map/unmap to copy proper parts of stencil values in and
out of the matching depth texture

These fix a massive quantity of piglits, including all the
tex-miplevel-selection ones.

Note that the swr native miptree layout isn't extremely space-efficient,
and we end up using it for all textures, not just the renderable ones. A
back-of-the-envelope calculation suggests about 10%-25% increased memory
usage for miptrees, depending on the number of LODs. Single-LOD textures
should be unaffected.

There are a handful of regressions as a result of this change:
- Some textureGrad tests, these failures match llvmpipe. (There are
debug settings allowing improved gallivm sampling accurancy.)
- Some layered clearing tests as swr doesn't currently support that. It
was getting lucky before because enough other things were broken.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
807bc6ea9ee60240b44ca906e875f23d6e4f0ef7 19-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: calculate viewport width/height based on the scale

The former calculations were for min/max y. The width/height don't take
translate into account.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
d48740568faff4aad78a46c67f73ea3c5ea3bd0c 20-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: allocate all scratch space in one go for vertex buffers

Multiple buffers may reference client arrays. When this happens, we
might reach for scratch space multiple times, which could cause later
arrays to invalidate the pointers allocated for the earlier ones.

This fixes copyteximage 2D_ARRAY.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
ea276512a0c4c95f004e314f12e977786656f015 18-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: mark streamout buffers as written

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
2b6b15ab3fbf8aea268296269843344d111a1340 13-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: always enable adding start/base vertex to gl_VertexId

Fixes gl-3.2-basevertex-vertexid

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
a2c1d58ddbd77692a1c07a3e7606f6472722a93c 12-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: make sure that all rendering is finished on shader destroy

Rendering could still be ongoing (or have yet to start) when the shader
is deleted. There's no refcounting on the shader text, so insert a
pipeline stall unconditionally when this happens.

[Note, we should instead introduce a way to attach work to
fences, so that the freeing can be done in the current fence.]

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
7caed50ff4224b0966bae7628cf99f8163cac4dc 12-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: disable blending for integer formats

The EXT_texture_integer test says that blending and alphatest should
all be disabled. st/mesa takes care of alphatest already.

Fixes the ext_texture_integer-fbo-blending piglit test.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
96291478ea2ab91df571ef6ebe26782ef90bf0c1 10-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: mark both frag and vert textures read, don't forget about cbs

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
828faaef40f9bd50cb75c2cde0d9393bc3fb6695 09-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: correct setting of independentAlphaBlendEnable

This setting is for whether color and alpha have different blend
settings, not for whether blending is enabled on a per-RT basis.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
36e5d68cadd5fd73aa15fc64bcd9a27be38fa538 09-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: set halfz rasterizer setting

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
4af25e713113e5a50c0e03685ce7de20d3828961 09-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: fix support for inverted depth scales

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
f037afb701a8df8a646414e986b3561c8a798e05 08-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: disable logic op when the rt format is float or srgb

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
bef4a48d1c68d74ad42d242483f440b5256e7adf 01-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: add support for EXT_depth_bounds_test

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
95ed1c19bf379ace583adfe520e1673675d17062 04-Nov-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: allow alphatest without blend or logicop

We need to compile a blend function when alphatest is enabled.

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
114f7a92c6a5ea796a4fea9a7b71188fdb243950 30-Sep-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: [rasterizer jitter] canonicalize blend compile state

Canonicalize to prevent unnecessary JIT compiles.

Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
532db3b7881f3dfcd299320cbf44443d06b88373 27-Aug-2016 Kai Wasserbäch <kai@dev.carbon-project.org> gallium: Use enum pipe_shader_type in set_sampler_views()

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
7413625ad357c87f409cd1673b40f8dffbc43259 27-Aug-2016 Kai Wasserbäch <kai@dev.carbon-project.org> gallium: Use enum pipe_shader_type in bind_sampler_states() (v2)

v1 → v2:
- Fixed indentation (noted by Brian Paul)
- Removed second assert from nouveau's switch statements (suggested by
Brian Paul)

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
0ff57446e3786243c6d752c91be2108595f2663e 17-Aug-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: [rasterizer core] only use Viewport/Scissors during SwrDraw* operations

Add explicit rects for:

- SwrClearRenderTarget
- SwrDiscardRect
- SwrInvalidateTiles
- SwrStoreTiles

Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
ad153189ec3fb16fdca2666e0bfe2b88d31ebb70 06-Aug-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: [rasterizer core] viewport array support

Change viewport matrix storage from AOS to SOA to support viewport arrays.

Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
54272e18a682c8b82d4a86b2c07b51c303d8cead 06-Aug-2016 Marek Olšák <marek.olsak@amd.com> gallium: add a pipe_context parameter to fence_finish

required by glClientWaitSync (GL 4.5 Core spec) that can optionally flush
the context

Reviewed-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
efdaf5fa3e74ca4f3d9217dc6955aef6dc698a68 12-Jul-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: [rasterizer] attribute swizzling and linkage

Add support for enhanced attribute swizzling. Currently supports constant
source overrides to handle PrimitiveID support. No support yet for input
select swizzling or wrap shortest. Removes obsoleted linkageMask and
associated code.

Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
9ca741c64524a57f972ce050919a0e2dec3e64f3 17-Jun-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: push/pop DEBUG macro around llvm includes

llvm redefines DEBUG; adding push/pop prevents a undefined reference
to debug_refcnt_state in llvm-3.7+.

v2: add undef DEBUG

Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
ef534b9389bc74b007d76d2a1776068d23e5b887 07-Jun-2016 Rob Clark <robclark@freedesktop.org> gallium: make constant_buffer const

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
6b0ac95c2862b4d464079b2edd9b59b5ef906da3 17-Jun-2016 Bruce Cherniak <bruce.cherniak@intel.com> swr: Update screen->context pointer with multiple contexts.

A pipe pointer in the screen allows for access to current device context
in flush_frontbuffer and resource_destroy. This wasn't tracking current
context in multi-context situations.

v2: More caffeine. Corrected compare, removed unnecessary set of
screen-pipe in create_context, and added a few comments.
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
2c85128e015a401550046f47ce3e2dc0c0049540 26-May-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: implement clipPlanes/clipVertex/clipDistance/cullDistance

v2: only load the clip vertex once

v3: fix clip enable logic, add cullDistance

v4: remove duplicate fields in vs jit key, fix test of clip fixup needed

v5: fix clipdistance linkage for slot!=0,4

v6: support clip+cull; passes most piglit clip (failures understood)

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
87f0a0448fba898a7ab2a36eed9682ff8c1c6d5c 01-Jun-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: fix provoking vertex

Use rasterizer provoking vertex API.

Fix rasterizer provoking vertex for tristrips and quad list/strips.

v2: make provoking vertex tables static const

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
c8835a592471a0238e296f6529b5dadb431cc622 24-May-2016 Bruce Cherniak <bruce.cherniak@intel.com> swr: [rasterizer] Correctly select optimized primitive assembly.

Indexed primitives were always using cut-aware primitive assembly,
whether primitive_restart was enabled or not. Correctly pass down
primitive_restart and select optimized PA when possible.

Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
124a5d4ca05de608bc2a1575c507bd2ba3c7bc64 28-Apr-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: remove duplicated constant update code

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
504df3a1d791d071259d23b4a99b9b46b1f601af 27-Apr-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: s/Elements/ARRAY_SIZE/

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
24f23817d2b15941c84f42c202eba5b24599286b 18-Apr-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: [rasterizer core] implement legacy depth bias enable

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
ee9621e2f5653cf2dfa8589bd3a57bafb122c6bd 21-Apr-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: fix memory leaks from vs/fs compilation

v2: varient -> variant

Reviewed by: George Kyriazis <George.Kyriazis@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
3bbe8a09eaf95548313db13b4e56dbdd35d2755e 19-Apr-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: fix resource backed constant buffers

Code was using an incorrect address for the base pointer.

v2: use swr_resource_data() utility function.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94979
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
Tested-by: Markus Wick <markus@selfnet.de>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
b19d214b238228bfebfe3869b6aee540993fe706 31-Mar-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: support samplers in vertex shaders

Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
dd63fa28f14f8ddeeeca1847eb7d38f4e2bc2234 14-Mar-2016 George Kyriazis <george.kyriazis@intel.com> gallium/swr: Cleaned up some context-resource management

Removed bound_to_context. We now pick up the context from the screen
instead of the resource itself. The resource could be out-of-date
and point to a pipe that is already freed.

Fixes manywin mesa xdemo.

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
e9d68cc3da07c4b566799bbaec2434bfc21d3e0c 10-Mar-2016 Bruce Cherniak <bruce.cherniak@intel.com> gallium/swr: Resource management

Better tracking of resource state and synchronization.
A follow on commit will clean up resource functions into a new
swr_resource.cpp file.

Reviewed-By: George Kyriazis <george.kyriazis@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
84f857bef79d66d229a001554719e9299ebe0881 08-Mar-2016 Tim Rowley <timothy.o.rowley@intel.com> gallium/swr: remove use of BYTE from swr driver

Remove use of a win32-style type leaked from the swr rasterizer.

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp
2b2d3680bf164ec4f8b50436b96c3fc195318ea5 17-Feb-2016 Tim Rowley <timothy.o.rowley@intel.com> gallium/swr: add OpenSWR driver

OpenSWR is a new software rasterizer for x86 processors designed
for high performance and high scalablility on visualization workloads.

Acked-by: Roland Scheidegger <sroland@vmware.com>
Acked-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/swr/swr_state.cpp