History log of /external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9c5003996ce770d0a377d6323a7ebef237de5513 16-Jan-2017 Emil Velikov <emil.l.velikov@gmail.com> nouveau: remove always false argument in nouveau_fence_new()

No point in having the extra argument considering that it's effectively
unused since the function was introduced.

Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
ee3ebe68f949f1e365029db217808303692863a2 02-Jan-2017 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_TGSI_FS_FBFETCH

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
e51baeb6c1386681d8f9c285a8f4912d91fad7ee 31-Dec-2016 Marek Olšák <marek.olsak@amd.com> gallium: add PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY

Drivers with good compilers don't need aggressive optimizations before TGSI.

Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
026a7223a6c9dcd7c59b95dbaf5e64b7258f8700 01-Apr-2016 Rob Clark <robclark@freedesktop.org> gallium: support for native fence fd's

This enables gallium support for EGL_ANDROID_native_fence_sync, for
drivers which support PIPE_CAP_NATIVE_FENCE_FD.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
611166b8ed08ce39f835385b8e08e37754edcf7b 18-Nov-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> gallium: add PIPE_CAP_TGSI_CAN_READ_OUTPUTS

Drivers that support this benefit by saving one lowering pass in the
GLSL-to-TGSI conversion.

radeonsi already supports this because all outputs are stored in temporary
variables before the export (except for TCS outputs, which have always
been readable in TGSI anyway due to their special semantics).

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
72217d433599041f28bc30bb8e184647e7679e39 28-Oct-2016 Marek Olšák <marek.olsak@amd.com> gallium: add PIPE_SHADER_CAP_LOWER_IF_THRESHOLD

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
3fdeb7c983d5a6e8704024dc841ff217377ba284 14-Oct-2016 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS

This allows the driver to signal that it can't handle random
interleaving of attributes across buffers. This is required for
ARB_transform_feedback3, and it's initialized to whatever the previous
value of PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME was except for nv50 where
it is disabled. Note that the proprietary drivers never expose
ARB_transform_feedback3 on any GT21x's (where nouveau previously did),
and after some effort I was unable to get it to work.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
afb6dc53bff58c137d07ca5b58c50debce5729d8 14-Oct-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50: enable ARB_enhanced_layouts

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
700a571f8963cff4bff230e8e9b25da0bdce4f54 07-Oct-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> gallium: add PIPE_CAP_TGSI_ARRAY_COMPONENTS

This is a screen cap because drivers are expected to support it either
for all shader types or for none of them.

Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
07bb4513c6e48f73df713f590fd8dd0710fad0c8 10-Sep-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gallium: add PIPE_COMPUTE_CAP_MAX_VARIABLE_THREADS_PER_BLOCK

v3: - use a new case statement in r600_pipe_common.c
- fix compilation of softpipe...

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
5981ab544562c667c882526c31a6f8c2ce6eba12 07-Sep-2016 Marek Olšák <marek.olsak@amd.com> gallium: remove PIPE_BIND_TRANSFER_READ/WRITE

not used in any useful way

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
c7af84968d4ee0f67c46c347c6fb83d6fbc83ef3 28-Aug-2016 Jan Vesely <jan.vesely@rutgers.edu> gallium: add cap to export device pointer size

v2: document the new cap
v3: fix 80 char limit in screen.rst

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
9515d651f95d58feea64d1c4c989a216ff83f8b4 21-Aug-2016 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add a cap to expose whether driver supports mixed color/zs bits

Some hardware can't render to color/depth buffers of mixed bitness. When
that happens a fallback has to happen, but this allows the driver to
express that this isn't an optimal scenario. The purpose of this is to
remove such fbconfigs from the GLX/EGL config list.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
3cd28fe3de203934f2bab33cce7a91da499c7376 19-Jul-2016 Józef Kucia <joseph.kucia@gmail.com> gallium: add a cap for VIEWPORT_SUBPIXEL_BITS (v2)

This allows Gallium drivers to advertise the subpixel precision
for floating point viewports bounds.

v2:
- Set ViewportSubpixelBits in st_init_limits.

Signed-off-by: Józef Kucia <joseph.kucia@gmail.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
59a692916ca251db995050f7fc0bb7b4e6e4780b 13-Jun-2016 Axel Davy <axel.davy@ens.fr> gallium: Add a cap for offset_units_unscaled

D3D9 has a different behaviour for depth bias.

For OGL/D3D1X, the depth bias unit is the
minimal resolvable value for the depth buffer,
which depends on the format (and has different
behaviour for float depth buffers).

For D3D9, the depth bias unit is 1.0f.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
194bcb49d1a7110832df3175739ec503d21beca3 12-Jun-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50: add support for GL_EXT_window_rectangles

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
07fcb06fe0220a51ad20b6b8a70512071999182c 11-Jun-2016 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_MAX_WINDOW_RECTANGLES to all drivers

This says how many window rectangles are supported by the
implementation, although it may not exceed PIPE_MAX_WINDOW_RECTANGLES.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
f47845596bce36aeb84a8a7f6c7e643486ec2185 11-Jun-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50: enable indirect addressing of fragment shader inputs

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
edfa7a4b25839fb7bda71ce42af9a0a02c7c5b27 29-May-2016 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_TGSI_VOTE for when the VOTE ops are allowed

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
70048eb1e3bc155b2b6f3554e6a03fb239082f2d 21-May-2016 Kenneth Graunke <kenneth@whitecape.org> gallium: Add a pipe cap for whether primitive restart works for patches.

Some hardware supports primitive restart on patch primitives, and other
hardware does not. Modern GL and ES include a query for this feature;
adding a capability bit will allow us to answer it.

As far as I know, AMD hardware does not support this feature, while
NVIDIA and Intel hardware does. However, most Gallium drivers do not
appear to support tessellation shaders yet. So, I've enabled it for
nvc0 and disabled it everywhere else.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
f57a8440d53b8cdffb78d16bfed0c15e6e8abd5d 22-May-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv30,nv50: add PIPE_SHADER_CAP_PREFERRED_IR support

The mesa state tracker has recently started to query this.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
8c0293979457dab49f0055075d1ca4daa3fb8033 08-May-2016 Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> nv50,nvc0: add support for cull distances

Cull distances are just a special case of clip distances as far as the
hardware is concerned. Make sure that the relevant "planes" are enabled,
and flip the clip mode to cull for those.

Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
[imirkin: add enables on nvc0, add nv50 support]
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
2be258ea1826b2bee2173efafa98af9874cfddfa 08-May-2016 Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> gallium: Add a pipe cap for arb_cull_distance

This lets us safely enable or disable the extension as needed

Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
70dcd841f7d94a7b44b294d5264324fc5905aae8 12-Apr-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> gallium: Add capability for ARB_robust_buffer_access_behavior.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
59ca92137b3841a65d9232bee1164bff1e6bd57d 03-Apr-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: support sending string markers down into the command stream

This should hopefully make it a little easier to debug with GL
applications like glretrace and looking at command streams.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
f9480d7918a2da19b8ac85a8326049488feef92b 03-Apr-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: add invalidate_resource support for buffer resources

Provide a callback to reallocate the underlying storage of a resource so
that it is not bound to any existing fences.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
4bc9130fba2f815cb910536d3d3a253a8c3ed0b9 17-Feb-2016 Edward O'Callaghan <eocallaghan@alterapraxis.com> gallium: Add PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT

Add PIPE_CAP to determine if the GL extension
'GL_ARB_framebuffer_no_attachments' shall be
supported.

The driver is required to support 'PIPE_FORMAT_NONE'
via its 'is_format_supported()' callback in order
to determine the MSAA modes the hardware supports so
that values requested from the application using
'GL_ARB_framebuffer_no_attachments' may be quantized
to what the hardware expects.

V.2:
Fix doc for a more detailed description of the PIPE_CAP
and the corresponding GL constant.

V.3:
Renamed and repurposed once again.

V.4:
Remove CAP from cap_mapping array.

[airlied: fix damaged whitespace]

Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
1a5c8c24b5791efa02a7beefa4ba1c49ae033c73 25-Mar-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> gallium: distinguish between shader IR in get_compute_param

For radeonsi, native and TGSI use different compilers and this results
in different limits for different IR's.

The set we strictly need for radeonsi is only the MAX_BLOCK_SIZE
and MAX_THREADS_PER_BLOCK params, but I added a few others as shader
related that seemed like they would also typically depend on the
compiler.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
df03be196abc34bdf29ff1119099e1477a991ad3 01-Apr-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: add PIPE_BIND_LINEAR support to is_format_supported

vdpau has recently come to rely on this, so make sure to check it
properly.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
c1e4a6bfbf015801c6a8b0ae694482421a22c2d9 13-Mar-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: handle SQRT lowering inside the driver

First off, st/mesa lowers DSQRT incorrectly (it uses CMP to attempt to
find out whether the input is less than 0). Secondly the current
approach (x * rsq(x)) behaves poorly for x = inf - a NaN is produced
instead of inf.

Instead we switch to the less accurate rcp(rsq(x)) method - this behaves
nicely for all valid inputs. We still don't do this for DSQRT since the
RSQ/RCP ops are *really* inaccurate, and don't even have Newton-Raphson
steps right now. Eventually we should have a separate library function
for DSQRT that does it more precisely (and perhaps move this lowering to
the post-opt phase).

This fixes a number of dEQP precision tests that were expecting better
behavior for infinite inputs.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
dcb2b7782317cf06c1c98472c9a34d2c9dfffae7 29-Feb-2016 Marek Olšák <marek.olsak@amd.com> gallium: add CAPs returning PCI device location

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
aa3b85fd18d32a49f2e0051ef434d6c16d4a5d18 27-Feb-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: bump minimum texture buffer offset alignment

It appears that it actually needs to be aligned to the datum size, so it
was 1 when testing with R8, but it can be as high as 16 with RGBA32.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
89d25a82e85a058fbf822c1c1494aaacd8b4a40a 19-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50: do not advertise about compute shaders

Compute shaders are totally unsupported. This avoids Clover to
report that OpenCL is supported on Tesla because it's a lie.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre Moreau <pierre.morrow@free.fr>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
1d1ddfe5f887980acfb1283cf1c0b1240b3a60a6 14-Feb-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: enable/disable seamless cubemap texturing as requested

In a situation where the seamless setting isn't available on a
per-texture basis (G200+ Teslas, and all Fermis), assume that all
samplers will have it identically set, and enable accordingly.

This fixes arb_seamless_cubemap piglit test on Fermi and Tesla.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
346d7a24ea27f1415061bf8392cb21a330e4aff6 15-Feb-2016 Ben Skeggs <bskeggs@redhat.com> nv50-: separate vertex formats from surface format descriptions

We've previously had identical naming between vertex and texture
formats, so it mostly made sense to define these together.

However, upcoming patches are going to transition the driver over to
using updated texture header definitions using NVIDIA's naming, and this
will no longer be the case.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
9fbfa1abb2f88a534139738ee7cf022217342652 09-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_SHADER_CAP_MAX_SHADER_IMAGES

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
cbf24a01dd3d8170ded0aef310053e0493a62ede 14-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50: add missing PIPE_SHADER_CAP_SUPPORTED_IRS

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d2e4c9e7371c108a7655f78ae77f55ced812aba8 01-Feb-2016 Marek Olšák <marek.olsak@amd.com> gallium: add interface for querying memory usage and sizes (v2)

If you're worried about the duplication of some CAPs, we can remove them
later.

v2: add fields for memory eviction stats

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
f9e6f46335be94b19b01be21ca872d9cc93c82e9 10-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_QUERY_BUFFER_OBJECT

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
6af6d7b08af5d14b7a5848c87c01ae3c711c7963 26-Jan-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> gallium: Add PIPE_CAP_SURFACE_REINTERPRET_BLOCKS

This cap indicates whether pipe->create_surface can reinterpret a texture
as a surface with a format of different block width/height (but equal
block size).

v2: fix whitespace

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
3abb548ef681a63a077f7e6cbf36988426b244c0 26-Jan-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> gallium: Add PIPE_CAP_BUFFER_SAMPLER_VIEW_RGBA_ONLY

This cap indicates that the driver only supports R, RG, RGB and RGBA
formats for PIPE_BUFFER sampler views.

v2: move into "unsupported features" section for nouveau (Ilia Mirkin)

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d6408372eb359d972614838f838776f1695e3c99 10-Aug-2015 Rob Clark <robclark@freedesktop.org> gallium: add GREMEDY_string_marker

Since the GREMEDY extensions are normally only exposed by the gremedy
debugger (and could possibly trigger debug paths in the app), we don't
expose the extension by default, but instead only with
ST_DEBUG=gremedy.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
3038e8984df2be35a7164043ec6d385e32e26238 14-Jan-2016 Charmaine Lee <charmainel@vmware.com> gallium/st: add pipe_context::generate_mipmap()

This patch adds a new interface to support hardware mipmap generation.
PIPE_CAP_GENERATE_MIPMAP is added to allow a driver to specify
if this new interface is supported; if not supported, the state tracker will
fallback to mipmap generation by rendering/texturing.

v2: add PIPE_CAP_GENERATE_MIPMAP to the disabled section for all drivers
v3: add format to the generate_mipmap interface to allow mipmap generation
using a format other than the resource format
v4: fix return type of trace_context_generate_mipmap()

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
654670b4048ae079879a04c41829902060a93931 11-Jan-2016 Nicolai Hähnle <nicolai.haehnle@amd.com> gallium: add PIPE_CAP_INVALIDATE_BUFFER

It makes sense to re-use pipe->invalidate_resource for the purpose of
glInvalidateBufferData, but this function is already implemented in vc4
where it doesn't have the expected behavior. So add a capability flag
to indicate that the driver supports the expected behavior.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
e3706a7118cb572077c877b92450dc955e7a6754 08-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: use a face sysval to avoid the useless back-and-forth conversion

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
ebfb5446c78cd3e9f3f3e92fef88e4b0645a34e8 03-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
266d001261b19c6124e10c05cf3d8054b2db380b 27-Sep-2015 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_SHADER_CAP_MAX_SHADER_BUFFERS

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
34738a92dea31ab91edb62bf83a3fe1ca44c35a1 02-Jan-2016 Marek Olšák <marek.olsak@amd.com> gallium: add caps for POSITION and FACE system values

v2: document the integer behavior

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d67b9ba9a1af18306aa68f16ee1b9bbc124da42e 31-Dec-2015 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add caps to expose support for multi indirect draws

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
e9f43d6333657d3f6c47c656fbbe18aaebbe804a 03-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_TGSI_PACK_HALF_FLOAT to indicate UP2H/PK2H support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
87b4e4e29fb2013ce2f0770f39113069bd16057c 29-Dec-2015 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_DRAW_PARAMETERS

This allows the state tracker to know that the various draw parameters
are available in vertex shaders.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
323d4da372298900ce02293a682ba563ac29f4cb 26-Nov-2015 Ben Skeggs <bskeggs@redhat.com> nouveau: fix screen creation failure paths

The winsys layer would attempt to cleanup the nouveau_device if screen
init failed, however, in most paths the pipe driver would have already
destroyed it, resulting in accesses to freed memory etc.

This commit fixes the problem by allowing the winsys to detect whether
the pipe driver's destroy function needs to be called or not.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
6c1bfff66ca6dd9dac11507889ee17987bed31cb 26-Nov-2015 Ben Skeggs <bskeggs@redhat.com> nouveau: return nouveau_screen from hw-specific creation functions

Kills off a void cast.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
1a9ec8e062f597fd4e4905602adc7c2e507c525f 26-Nov-2015 Ben Skeggs <bskeggs@redhat.com> nouveau: remove use of deprecated nouveau_device::drm_version

v2. update for libdrm nouveau_drm::lib_version removal

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
695ae816da2fd9739eac769820bee8b7b4a87d95 16-Dec-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50: free memory allocated by the prog which reads MP perf counters

This fixes a memory leak introduced in 6a9c151
("nv50: add compute-related MP perf counters on G84+")

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.1" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
aede8ca9a79cafa7d019a16d38e6ee6bfc557100 10-Nov-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50: expose two groups of compute-related MP perf counters

This turns on GL_AMD_performance_monitor.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
9e40a621c177d595ffd1cf094246219e7067d768 19-Nov-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50: add NV84_3D macro

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
6a9c151dbb87a10b6d51c451a5a277d646d08857 10-Nov-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50: add compute-related MP perf counters on G84+

These compute-related MP performance counters have been reverse
engineered using CUPTI which is part of NVIDIA CUDA.

As for nvc0, we use a compute kernel to read out those performance
counters, and the command stream to configure them. Note that Tesla
only exposes 4 MP performance counters, while Fermi has 8.

Only G84+ is supported because G80 is an old and weird card.

Tested on G84, G96, G200, MCP79 and GT218 with glxgears, glxspheres64,
xonotic-glx, heaven and valley.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Pierre Moreau <pierre.morrow@free.fr>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
ff72440b40211326eda118232fabd53965410afd 14-Oct-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50: implement a basic compute support

This adds the ability to launch simple compute kernels like the one I
will use to read out MP performance counters in the upcoming patch.

This compute support is based on the work of Francisco Jerez (aka curro)
that he did as part of his EVoC project in 2011/2012 to get OpenCL
working on Tesla. His original work can be found here:
https://github.com/curro/mesa/commits/nv50-compute

I did some improvements on the original code, like fixing using both 3D
and COMPUTE simultaneously, improving global buffers binding, and making
the code closer to what nvc0 already does. This compute support has been
tested by Pierre Moreau and myself with some compute kernels. This is a
step towards OpenCL.

Speaking about this, it seems like compute programs overlap fragment
programs when they are used both. To fix this, we need to re-validate
fragment programs when binding compute programs and vice versa.

Note that, textures, samplers and surfaces still need to be implemented.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Pierre Moreau <pierre.morrow@free.fr>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
c4182bb9b0897b4a4ac4f06b54fc7f6a2ddeb105 09-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: add ARB_clear_texture support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
3695b253f908b58290d69e2d770209abf0c6beee 09-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_CLEAR_TEXTURE and clear_texture prototype

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
ba093a099af13a630c255b34dc5d315760248e5f 31-Oct-2015 Ilia Mirkin <imirkin@alum.mit.edu> nouveau: send back a debug message when waiting for a fence to complete

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
bb73fc4cb82c1abdf47aa373c78c2a85fe29b3ec 05-Nov-2015 Ilia Mirkin <imirkin@alum.mit.edu> nouveau: relax fence emit space assert

We also have the "reserved for kick" space available. Some of my earlier
changes can probably be removed, but this is a quick fix for some of the
rarer fallout.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
06fa2e864acea8f34eb3821523b1924fe8efdc9b 30-Oct-2015 Ilia Mirkin <imirkin@alum.mit.edu> nv50: mark contexts shareable, compile at creation time

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
f768eaa87d3413610df645dcc94b06fa1fbe0005 30-Oct-2015 Ilia Mirkin <imirkin@alum.mit.edu> nv50: allow per-sample interpolation to be forced via rast

Uses the same technique as for nvc0 of fixups before upload, and
evicting in case of state change. Removes one source of variants kept by
st/mesa.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d0693d7515efb9a747b7fe1d0a21a1ca4bdf33a0 29-Oct-2015 Ilia Mirkin <imirkin@alum.mit.edu> nv50: add ARB_copy_image support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
ce9db16e1c101204cdb6b2482aa1b4c7d0c59d41 24-Aug-2015 Marek Olšák <marek.olsak@amd.com> gallium: add PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS

For ARB_copy_image.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
814f31457e9ae83d4f1e39236f704721b279b73d 20-Oct-2015 Marek Olšák <marek.olsak@amd.com> gallium: add PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT

This avoids a serious r600g bug leading to a GPU hang.
The chances this bug will get fixed are pretty low now.

I deeply regret listening to others and not pushing this patch, leaving
other users with a GPU-crashing driver. Yes, it should be fixed
in the compiler and it's ugly, but users couldn't care less about that.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86720

Cc: 11.0 10.6 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d74e7b6fb9dca5622c17413821d4cfcc67472e76 27-Sep-2015 Marek Olšák <marek.olsak@amd.com> gallium: add PIPE_CAP_SHAREABLE_SHADERS

I'll let drivers figure out how to do it.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
47d11990b2ca3eb666b8ac81fee7f7eb5019eba1 05-Oct-2015 Ilia Mirkin <imirkin@alum.mit.edu> nouveau: make sure there's always room to emit a fence

I started seeing a lot of situations on nv30 where fence emission
wouldn't fit into the previous buffer (causing assertions). This ensures
that whenever checking for space, we always leave a bit of extra room
for the fence emission commands. Adjusts the nv30 and nvc0 fence
emission logic to bypass the space checking as well.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
f3b37e321fe5ea8a8c0ff026636d69ce90437a6f 27-Sep-2015 Marek Olšák <marek.olsak@amd.com> gallium: add per-sample interpolation control into rasterizer statOAe

Required by ARB_sample_shading for drivers that don't want a shader variant
in st/mesa.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Acked-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
7a275fcda8ffa3d69b7be6f356469f4af272a6ad 16-Sep-2015 Ilia Mirkin <imirkin@alum.mit.edu> nv50, nvc0: fix max texture buffer size to 128M elements

This is what the hardware supports, there never was any sort of 64K
limit.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.6 11.0" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
4294db90b1804dd213b0b4b3ff4eb46a5c390c76 11-Sep-2015 Ilia Mirkin <imirkin@alum.mit.edu> nv50/ir: add support for TXQS tgsi opcode

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
f46a53ffa50f186df347a181ca336fc3e9f96eaf 11-Sep-2015 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_TGSI_TXQS to let st know if TXQS is supported

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Glenn Kennard <glenn.kennard@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
a6bf20d153f06639e1ae7d52d37ace9df440354d 11-Aug-2015 Ilia Mirkin <imirkin@alum.mit.edu> nv50: add depth bounds test support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
3b7800e75089d4dc8ed9b2a0ce994760c167b93a 10-Aug-2015 Marek Olšák <marek.olsak@amd.com> gallium: add an interface for EXT_depth_bounds_test

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
44dc1d307d7eacef0d6f1618ba0fb7f62e08f896 10-Aug-2015 Marek Olšák <marek.olsak@amd.com> gallium: add support for GLES texture float extensions (v3)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74329

v2: add a CAP for half floats
drivers should not expose the CAPs if they don't support the formats

v3: update relnotes

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
cd0dec0d9dfab642c51774c3f5788cbdf00b8c9b 20-Jul-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nouveau: use bool instead of boolean

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
19a6214b0ff707ae52e9624c263b7d6c1c20e6d3 13-Jul-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50: limit the maximum number of samplers to 16

NV50_3D_BIND_TSC only allows to bind 16 samplers, and since we don't
want to do anything with NV50_3D_BIND_TSC2, just limit the maximum
number of samplers to 16 like for nvc0.

This fixes dmesg fails with the following piglit test:
max-samplers

But the test still fails.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
26222932c013da3688e39dc831179659cc65c39a 12-Jun-2015 Marek Olšák <marek.olsak@amd.com> gallium: add PIPE_CAP_MAX_SHADER_PATCH_VARYINGS

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
b6ebe7eabf54936a02acc0968e718e0c264a73f5 25-May-2015 Marek Olšák <marek.olsak@amd.com> tgsi/ureg: don't emit in/out arrays if drivers don't support ranged declarations

Softpipe, llvmpipe, r300g, and radeonsi pass tests. Other drivers need testing.

Freedreno and nv30 are definitely broken. Other drivers seem to be alright.
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
79ffc08ae8641e5b22d8cd4d9edc7ca7f0cf3aa8 29-Apr-2015 Marek Olšák <marek.olsak@amd.com> gallium: add PIPE_CAP_DEVICE_RESET_STATUS_QUERY

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
216543ea547dd0572d9f2f0364f7a239a5aeafe1 28-Feb-2015 Marek Olšák <marek.olsak@amd.com> gallium: add FMA and DFMA opcodes (v3)

Needed by ARB_gpu_shader5.

v2: select DMAD for FMA with double precision
v3: add and select DFMA

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
c85a686d028a6e90f7487ac4319dae2edd40c9a0 20-Feb-2015 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add new double-related shader caps to all the getters

Missed a few drivers in the earlier changes, this should fix up all the
ones that print unknown caps or don't have a default statement.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
5000a5f67b556096b6ba1e9bdac3a6e5cd5a1f68 18-Feb-2015 Ilia Mirkin <imirkin@alum.mit.edu> nv50: add PIPELINE_STATISTICS query support, based on nvc0

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Tested-by: Nick Tenney <nick.tenney@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
8b587ee7011aee900fd84f6203467ba899f2ed01 10-Feb-2015 Marek Olšák <marek.olsak@amd.com> gallium: add interface and state tracker support for GL_AMD_pinned_memory

v2: add alignment restrictions to docs, fix indentation in headers

Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
eb1c12d20d96f56fbfa68d79bcf2103d8b3846bb 17-Jan-2015 Axel Davy <axel.davy@ens.fr> gallium: Add MULTISAMPLE_Z_RESOLVE cap

Resolving a multisampled depth texture into
a single sampled texture is supported on >= SM4.1
hw. It is possible some previous hw support it.

The ability was tested on radeonsi and nvc0.
Apparently is is also supported for radeon >= r700.

This patch adds the MULTISAMPLE_Z_RESOLVE cap and
add it to the drivers. It is advertised for drivers
for which it is sure the ability is supported.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
7c211a12aa6c22187264f718c81224a70e224ebe 01-Feb-2015 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add a cap to determine whether the driver supports offset_clamp

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Glenn Kennard <glenn.kennard@gmail.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
1f8c0be27e1aa09e39d3016b6aae96c3ac228e17 03-Jan-2015 Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> nv50: enable texture compression

Compression seems to be supported for only some formats. Enable it for
those. Previously this was disabled for everything despite the code
looking like it was actually enabled.

Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
be0311c9626eef841f6d245359759cf1e082aebf 31-Dec-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: set vertex id base to index_bias

Fixes the piglits which check that gl_VertexID includes the base vertex
offset:
arb_draw_indirect-vertexid elements
gl-3.2-basevertex-vertexid

Note that this leaves out the original G80, for which this will continue
to fail. It could be fixed by passing a driver constbuf value in, but
that's beyond the scope of this change.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
609c3e51f5ca8abb15867537997369e7e8a678e3 30-Dec-2014 Tiziano Bacocco <tizbac2@gmail.com> nv50,nvc0: implement half_pixel_center

LAST_LINE_PIXEL has actually been renamed to PIXEL_CENTER_INTEGER in
rnndb; use that method to implement the rasterizer setting, used for
st/nine.

Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
ade8b26bf515fa4f0cbf43e9df4885368e984277 12-Dec-2014 Roland Scheidegger <sroland@vmware.com> gallium: add TGSI_SEMANTIC_VERTEXID_NOBASE and TGSI_SEMANTIC_BASEVERTEX

Plus a new PIPE_CAP_VERTEXID_NOBASE query. The idea is that drivers not
supporting vertex ids with base vertex offset applied (so, only support
d3d10-style vertex ids) will get such a d3d10-style vertex id instead -
with the caveat they'll also need to handle the basevertex system value
too (this follows what core mesa already does).
Additionally, this is also useful for other state trackers (for instance
llvmpipe / draw right now implement the d3d10 behavior on purpose, but
with different semantics it can just do both).
Doesn't do anything yet.
And fix up the docs wrt similar values.

v2: incorporate feedback from Brian and others, better names, better docs.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
3bc42a09e2d13c42e15423a17b5c571049a11224 23-Oct-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: use clip_halfz setting when creating rasterizer state

This enables the ARB_clip_control extension.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
1a170980a09d82201b88e3fe20684a0df2cfea80 22-Sep-2014 Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> nv50: handle inverted render conditions

This enables ARB_conditional_render_inverted.

Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
56088131d066ee29a15e8111bfce40ce45b42687 14-Sep-2014 Mathias Fröhlich <Mathias.Froehlich@gmx.net> gallium: introduce PIPE_CAP_CLIP_HALFZ.

In preparation of ARB_clip_control. Let the driver decide if
it supports pipe_rasterizer_state::clip_halfz being set to true.

v3:
Initially enable on ilo.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Froehlich <Mathias.Froehlich@web.de
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
5f5b83cbba95a7bb8955b09e24df1e9487c10734 01-Oct-2014 Marek Olšák <marek.olsak@amd.com> gallium: add PIPE_SHADER_CAP_MAX_OUTPUTS and use it in st/mesa

With 5 shader stages and various combinations of enabled and disabled shaders,
the maximum number of outputs in one shader doesn't have to be equal to
the maximum number of inputs in the following shader.

v2: return 32 for softpipe and llvmpipe
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
95058bdec31d3faa76be01731a26939f3039a66b 21-Aug-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: enable ARB_texture_view

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
c113095acdcfedb4ad82da67bc7981056efe9e44 21-Aug-2014 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add a texture target to sampler view and a CAP to use it

This allows a sampler view to have a different texture target than the
underlying resource. This will be used to implement the type casting
between 2d arrays and cube maps as specified in ARB_texture_view.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
89e6806dea5b0a40747447a333c60183d2d46521 20-Aug-2014 Timothy Arceri <t_arceri@yahoo.com.au> gallium: add cap for MAX_VERTEX_ATTRIB_STRIDE

Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
fd5edee7002fbaef96618603bfe831ec7cca128d 17-Aug-2014 Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> gallium: Add and handle PIPE_CAP_CONDITIONAL_RENDER_INVERTED

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
2b5f3956be2defaa3aad81371fc7cba16c338a45 14-Aug-2014 Emil Velikov <emil.l.velikov@gmail.com> gallium/nouveau: handle query_renderer caps

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
f08d7b8fe1e6689beb750d7654af4db228aef392 14-Aug-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: add support for fine derivatives

The quadop-based method we currently use on all chipsets already
provides the fine version of the derivatives.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
8ee74ce50f980a15ab68ad40df702831ac8d68e0 14-Aug-2014 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add opcodes/cap for fine derivative support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1)
Reviewed-by: Roland Scheidegger <sroland@vmware.com> (v1)
v2: Reuse opcode gaps as suggested by Marek
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
c10332bbb8889d733bdaa729ef23cbd90176b55d 06-Aug-2014 Marek Olšák <marek.olsak@amd.com> gallium: remove PIPE_SHADER_CAP_MAX_ADDRS

This limit is fixed in Mesa core and cannot be changed.
It only affects ARB_vertex_program and ARB_fragment_program.

The minimum value for ARB_vertex_program is 1 according to the spec.
The maximum value for ARB_vertex_program is limited to 1 by Mesa core.

The value should be zero for ARB_fragment_program, because it doesn't
support ARL.

Finally, drivers shouldn't mess with these values arbitrarily.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
04f2c88f45e26d7050cc88aaaac8e8154d6018d0 24-Jul-2014 Marek Olšák <marek.olsak@amd.com> gallium: rename shader cap MAX_CONSTS to MAX_CONST_BUFFER_SIZE

This new name isn't so confusing.

I also changed the gallivm limit, because it looked wrong.

Reviewed-by: Brian Paul <brianp@vmware.com>

v2: use sizeof(float[4])
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
a284a0afa2bf647247ac15f45abee170259c9a46 04-Apr-2013 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: add support for indirect drawing

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
32b71246e7e9524c81d545e22bf4dc210cd56f2e 03-Jul-2014 Ilia Mirkin <imirkin@alum.mit.edu> gallium: rename PIPE_CAP_TGSI_VS_LAYER to also have _VIEWPORT

Now that this cap is used to determine the availability of both, adjust
its name to reflect the new reality.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
bc198f8e63f8fa297a458892c1c51ba8808c73a5 05-Apr-2013 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: add facilities for indirect drawing

v2:
Added comments to util_draw_indirect, clarified and fixed map size.
Removed unlikely().
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
746e5260f6308e3d762c0480118d9be3ab5bb544 27-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add a cap for max vertex streams

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
22e9551af0173ddf81d81027e84bb4e27fc6be18 16-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50: organize screen caps

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
4b586a26c8ab8804dacbf400f5fd53b5a1f70dac 17-May-2014 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: create TGSI_PROPERTY to disable viewport and clipping

Marek v2: add a cap

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
b9142c246dd383de6614ff0b96d017e18a3fdefd 25-May-2013 Christoph Bumiller <christoph.bumiller@speed.at> nv50,nvc0: handle guard band defines

[imirkin: moved default case out of switch]
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
4467c0c9fbf2c13b6c73a002e8247448ee12d4c4 03-May-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: leave queries on during blit, turn them on for 2d engine

Fixes the new logic of the conditional rendering piglit test.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d95df4f4e4ecbdf91c44ab19034bf6eb1b476592 27-Apr-2014 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add a cap for supporting 4-offset TG4 opcodes

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
3df4d692f3282f134bb154af41be0512897d8571 30-Apr-2014 Ilia Mirkin <imirkin@alum.mit.edu> nouveau: add ARB_buffer_storage support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
f715a0a39a0f7f19443e7721ae792878ba504eed 31-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50: add support for PIPE_CAP_SAMPLE_SHADING

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
88d8d88d8c151ca1e8ec3af0caba16a4e34ca281 31-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add basic support for ARB_sample_shading

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
c2f9ad52890e9c6525fbe59f4278ce283764aa72 09-Apr-2014 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add a way to query min/max texture gather offsets

Defaults to providing the same offsets as MIN/MAX_TEXEL_OFFSET. For
nvc0, the offset can be -32/31.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d5faf8e78603a27dbedb2e9e28b58b1b2bc32858 26-Feb-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50: enable texture query lod

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
be5276ae7d24563301ae627b994f612069c32461 11-Feb-2014 Dave Airlie <airlied@redhat.com> gallium: add support for LODQ opcodes.

This opcode provide support for GL_ARB_texture_query_lod,

Signed-off-by: Dave Airlie <airlied@redhat.com>
[imirkin: rebase, docs update]
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
76ba50a25a8bbc1e5fbcdb24da7e09f8996cf2c5 27-Nov-2013 Dave Airlie <airlied@gmail.com> mesa/soft/llvmpipe: add fake MSAA support

This adds a gallium cap that allows us to fake GL3.0 by
not exposing MSAA on sw rendering.
It also forces the extra extensions needed for GL3.2.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
507f0230d4ca2238c818006499e21abb4c133203 06-Mar-2014 Ilia Mirkin <imirkin@alum.mit.edu> nouveau: fix fence waiting logic in screen destroy

nouveau_fence_wait has the expectation that an external entity is
holding onto the fence being waited on, not that it is merely held onto
by the current pointer. Fixes a use-after-free in nouveau_fence_wait
when used on the screen's current fence.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75279
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Cc: "9.2 10.0 10.1" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d1b1329c3a69fa018cdd3fcb1fd751da58023633 20-Feb-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50: enable txg where supported

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
0e71c65db0df86401f2caf26209ff73e3715443a 07-Feb-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50: enable cube map array texture support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
db8886ed09d5806dae6475a76928ea8c354cd404 27-Jan-2014 Marek Olšák <marek.olsak@amd.com> gallium: the other drivers don't support ARB_buffer_storage

Reviewed-by: Fredrik Höglund <fredrik@kde.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
2fcbec48d78af2cd03138feb83e63e439a4b6a60 21-Sep-2013 Dave Airlie <airlied@redhat.com> gallium: add texture gather support to gallium (v3)

This adds support to gallium for a TG4 instruction,
and two CAPs. The first CAP is required for GL_ARB_texture_gather.

The second CAP is required to expose GL_ARB_gpu_shader5.

However so far we haven't found any hardware that natively
exposes the textureGatherOffsets feature from GL, so just
lower it for now. If hardware appears for this we can add
another CAP to allow TG4 to take 4 offsets.

v2: add component selection src and a cap to say
hw can do it. (st can use to help control
GL_ARB_gpu_shader5/GLSL 4.00). Add docs.

v3: rename to SM5, add docs.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
246ca4b00156a5ed54c2fca61454ba751bed8912 21-Jan-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50: implement multiple viewports/scissors, enable ARB_viewport_array

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
fee0686c21c631d96d6042741267a3c218c23ffc 12-Feb-2014 Maarten Lankhorst <maarten.lankhorst@canonical.com> nouveau: create only 1 shared screen between vdpau and opengl

This fixes bug 73200 "vdpau-GL interop fails due to different screen
objects" in the same way radeon does.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d34d5fddf85b79f8eacd93c4f87bd7125e852f0a 09-Feb-2014 Grigori Goronzy <greg@chown.ath.cx> gallium: add geometry shader output limits

v2: adjust limits for radeonsi and llvmpipe
v3: add documentation

Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
f76c7ad5b14f5646a56ca3518f0c2e739811f223 04-Feb-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50: only over-allocate by a page for code

The pre-fetching doesn't go too far. Tested with over-allocating by only
a page, and didn't see any errors in dmesg. Saves ~512KB of VRAM.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: 10.1 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
0354b769c2ee865ed40e9994f2147f2d86e989b7 17-Jan-2014 Marek Olšák <marek.olsak@amd.com> gallium: remove PIPE_CAP_MAX_COMBINED_SAMPLERS

This can be derived from the shader caps.

All GPUs from ATI/AMD, NVIDIA, and INTEL have separate texture slots
for each shader stage.
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
839bd3cff7d1c9ac088e8b5b9e7e87556598239f 15-Jan-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50, nvc0: update reported glsl version to 330

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
dc8da4c29bc44731df1077d468fb9354bb51928a 29-Nov-2013 Ilia Mirkin <imirkin@alum.mit.edu> nv50: enable seamless cube maps on all hw

Some of the hardware support is missing. The NVIDIA-provided driver,
which claims seamless cube map support fails the relevant tests as well.
As this is the last extension before we can have OpenGL 3.2, doing this
allows us to expose geometry shaders without doing the additional
work involved in supporting ARB_geometry_shader4.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
b9b7cfbabf740d0b916cafb97b2c9e755c606d84 25-Nov-2013 Ilia Mirkin <imirkin@alum.mit.edu> nv50: report glsl 1.50 now that gp tests pass

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
3bd40073b9803baf62f77ed5ac79979e037d2ed6 12-Jan-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50: add support for texelFetch'ing MS textures, ARB_texture_multisample

Creates two areas in the AUX constbuf:
- Sample offsets for MS textures
- Per-texture MS settings

When executing a texelFetch with a MS sampler, looks up that texture's
settings and adjusts the parameters given to the texfetch instruction.

With this change, all the ARB_texture_multisample piglits pass, so turn
on PIPE_CAP_TEXTURE_MULTISAMPLE.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
b87f5abd218c4a0dc530be6ca387ae6f20970fb7 13-Jan-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50: add comments about CB_AUX contents

Updates a few inconsistencies as well, like the size of the buffer,
location of the runout, etc.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d98b85b50713c12e1970da08220f124b26feaab0 13-Jan-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50: allocate an extra code bo to avoid dmesg spam

Each code BO is a heap that allocates at the end first, and so GPs are
allocated at the very end of the allocated space. When executing, we see
PAGE_NOT_PRESENT errors for the next page. Just over-allocate to make
sure that there's something there.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
d382e90614ff95ddca882b897bc0885d148d2f60 17-Jan-2014 Marek Olšák <marek.olsak@amd.com> gallium: remove PIPE_CAP_SCALED_RESOLVE

If any driver doesn't support this, it can use a blit after resolving
the samples.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
bad8871e524cf518bc5da4ac52c1618a115054a7 01-Dec-2013 Ilia Mirkin <imirkin@alum.mit.edu> nv50: report 15 max inputs for fragment programs

First off, nv50_program only has 16 in/out varyings. However reporting
16 makes 'm' become 68 in nv50_fp_linkage_validate with the
varying-packing-simple piglit test. (Subverting the assert makes it
compile but fail.) With this patch, varying-packing-simple passes.

See: https://bugs.freedesktop.org/show_bug.cgi?id=69155

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "9.2 10.0" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
1a02bb71ddbf7312a84ac1693f562cca191a7d42 21-Nov-2013 Marek Olšák <marek.olsak@amd.com> gallium: add support for AMD_vertex_shader_layer
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
2983c039df630bb9bcb70c52219c631e27b0eae6 26-Nov-2013 Roland Scheidegger <sroland@vmware.com> gallium: new shader cap bit for the amount of sampler views

Ever since introducing separate sampler and sampler view max this was really
missing.
Every driver but llvmpipe reports the same number as number of samplers for
now, so nothing should break.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
12d39b4fa8c3265bd95704371467f1c42072dc86 04-Oct-2013 Ilia Mirkin <imirkin@alum.mit.edu> gallium: add PIPE_CAP_MIXED_FRAMEBUFFER_SIZES

This CAP will determine whether ARB_framebuffer_object can be enabled.
The nv30 driver does not allow mixing swizzled and linear zsbuf/cbuf
textures.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
c1345720c86639bb570f3495b834916849d50e37 23-Oct-2013 Brian Paul <brianp@vmware.com> nv50: clamp PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS to PIPE_MAX_SAMPLERS

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70212
Tested-by: Aaron Watry <awatry@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c
5eb7ff1175a644ffe3b0f1a75cb235400355f9fb 20-Aug-2013 Johannes Obermayr <johannesobermayr@gmx.de> Move nv30, nv50 and nvc0 to nouveau.

It is planned to ship openSUSE 13.1 with -shared libs.
nouveau.la, nv30.la, nv50.la and nvc0.la are currently LIBADDs in all nouveau
related targets.
This change makes it possible to easily build one shared libnouveau.so which is
then LIBADDed.
Also dlopen will be faster for one library instead of three and build time on
-jX will be reduced.

Whitespace fixes were requested by 'git am'.

Signed-off-by: Johannes Obermayr <johannesobermayr@gmx.de>
Acked-by: Christoph Bumiller <christoph.bumiller@speed.at>
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/gallium/drivers/nouveau/nv50/nv50_screen.c