History log of /external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5ba380c226b127cbfad00dd647471e1518ba2cb2 02-Jan-2017 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: enable FBFETCH with a special slot for color buffer 0

We don't need to support all the color buffers for advanced blend, just
cb0. For Fermi, we use the special binding slots so that we don't
overlap with user textures, while Kepler+ gets a dedicated position for
the fb handle in the driver constbuf.

This logic is only triggered when a FBFETCH is actually present so it
should be a no-op most of the time.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
96e21ad7634452312ef7e51e67ef496756e90237 31-Aug-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: add a new bin for the code segment

To avoid the bins list to grow up indefinitely when the code segment
size will be bumped, we need to separate that bin from the SCREEN
one because it contains other resources like the uniform bo.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
63ac80879e22f397cead3e031d2d41a8c4d84c7e 31-Aug-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: add nvc0_screen_resize_text_area() helper

This function will be helpful for resizing the code segment
area when we need to evict all shaders.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
34883626d12a09b4e02c771e7af133522a673ad1 31-Aug-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: refactor the program upload process

This refactoring will help for fixing the "out of code space"
eviction issue because we will need to reupload the code for
all currently bound shaders but it's slightly different than
uploading a new fresh code.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
e7b2ce5fd872f6bf348310dcb6541ee5263886d5 25-Jul-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: upload sample locations on GM20x

This fixes a bunch of multisample piglit tests on GM206, like
bin/arb_texture_multisample-texelfetch 2 -auto -fbo

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
2ae4b5d6229ac1961cb09794e06a6cb1c73e14d3 04-Jul-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: bind images for 3d/cp shaders on GM107+

On Maxwell, images binding is slightly different (and much better)
regarding Fermi and Kepler because a texture view needs to be uploaded
for each image and this is going to simplify the thing a lot.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
1da704a94c57aa0b0cf8faaa3236fe47dfb8f88c 26-Jun-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: increase the tex handles area size in the driver cb

Currently, we can store 32 tex handles of 32-bits integer each and
that fits perfectly with the underlying hardware except on GM107+
which requires to upload a texture view for each images.

This patch increases the number of storable texture handles in the
driver constant buffer from 32 to 40 because we expose 8 images.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
9bc083284f3d4eb6148237eec3d9032d32ff1451 11-Jul-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: use a define for the driver constant buffer size

This might avoid mistakes if the size is bumped in the future.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
2aa1197eee442ab960f6ad6b84d4cf58511d6cb7 25-Apr-2016 Hans de Goede <hdegoede@redhat.com> nouveau: Add support for SV_WORK_DIM

Add support for SV_WORK_DIM for nvc0 and nve4.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
3345f70f636ba5ba096e20a343c64a1ec8e5f488 29-Jun-2016 Hans de Goede <hdegoede@redhat.com> nvc0: Make NVC0_CB_AUX_GRID_INFO take an index argument

This brings it inline with the other macros like NVC0_CB_AUX_UBO_INFO
and NVC0_CB_AUX_TEX_INFO.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
b2b5075e04bbe6c6462fd01711524abd80380f45 29-Jun-2016 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: fix up image support for allowing multiple samples

Basically we just have to scale up the coordinates and then add the
relevant sample offset. The code to handle this was already largely
present from Christoph's earlier attempts to pipe images through back in
the dark ages, this just hooks it all up.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
b21a00d1295d721275946e045e92920acdcb1a85 12-Jun-2016 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: add support for GL_EXT_window_rectangles

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
28590eb9492f2e06c95483df7bd7f67b0fee7b8e 03-Jun-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: mark buffer texture range valid for shader images

Loosely based on radeonsi (Thanks to Nicolai).

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: 12.0 <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
9444d71611b97a1f3102ba60b94ce1860a9961e9 30-May-2016 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: fix some compute texture validation bits on kepler

(a) Make sure to update the TIC in case of an updated buffer address
(b) Mark newly-inactive textures dirty so that we update the handle in
set_tex_handles.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
c52e92ec3a37c9ab3fb35132e62e1ddf6a770c27 25-May-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: allow to monitor MP perf counters with compute shaders

To read out MP perf counters we use a compute shader and need to upload
input data like a 64-bits addr used to store the values and a sequence
ID for synchronization. Currently, this input data is uploaded as user
uniforms which means that it's sticked to c0[], but if a compute shader
from a real application is used, monitoring those performance counters
will just overwrite some data and miserably crash.

Instead, sticking the 64-bits addr and the sequence into the driver
constant buffer seems like much better and will allow to monitor
counters with GL 4.3 apps.

Tested on GF119 and GK110, but should not hurt anything on GK104.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
b634936d3b05712ece5ddda4da3c161e293e6678 22-May-2016 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: enable 32 textures on kepler+

For fermi, this likely will require use of linked tsc mode. However on
bindless architectures, we can have as many as we want. As it stands,
the AUX_TEX_INFO has 32 teture handles reserved.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
879bd2ea0c7809ffc4b316f50652dc9cf7291004 27-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: bind images on fragment and compute shaders for Fermi

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
0d64d39e8188c797bc4f4bc7603cff6478972ae3 09-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: inform users that 3D images are not fully supported

3D images are a bit more complicated to implement and will probably
requires a bunch of headaches and we don't care for now because they
do not seem to be really used by apps.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
1eca4c51a2c3fcaf4e39e5bad8eefcea547530fa 08-Apr-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: bind images on compute shaders for Kepler

Old surfaces validation code will be removed once images are completely
done for Fermi/Kepler, that explains why I only disable it for now.

This also introduces nvc0_get_surface_dims() which computes correct
dimensions regarding the given target.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
c6b3c346d15b834d17c97aa4a45714c18f219351 22-Mar-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: reserve an area for surfaces info in the driver constbuf

To process surfaces coordinates from the codegen part, and because
some information like the format is not always available (eg. when
writeonly is used), we have to stick some surfaces data in the
driver constbuf. This is especially true for OpenCL because we don't
know the format at shader compile time.

This bumps the size of each shader area from 1K to 2K.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
afa04785fade4ed032a621db13e0a03505afa7ee 18-Mar-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: add preliminary support for images

This implements set_shader_images() and resource invalidation for
images. As OpenGL requires at least 8 images, we are going to expose
this minimum value even if this might be raised for Kepler, but this
limit is mainly for Fermi because the hardware only accepts 8 images.

Based on original patch by Ilia Mirkin.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
e2e8085fac13a7af33feaf11a9c085467d257490 31-Mar-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: store ubo info to the driver constbuf on Kepler

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
debd9105122586ee00c0d20a73bb4e3191c50e70 24-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: bind driver cb for compute on c7[] for Kepler

Instead of using the screen->parm buffer object which will be removed,
upload auxiliary constants to uniform_bo to be consistent regarding
what we already do for Fermi.

This breaks surfaces support (for compute only) but this will be
properly re-introduced later for ARB_shader_image_load_store.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
902bbda81b31bacb2a8c60ca6a8ba8ca34ae73d3 24-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: avoid using magic numbers for the uniform_bo offsets

Instead make use of constants to improve readability.

The first 32 bytes of the driver constant buffer are unknown... This
doesn't seem to be used in the codegen part, but if the texBindBase
offset is shifted from 0x20 to 0x00, this breaks the universe for
really weird reasons. This sounds like to be related to textures.

Anyway, name this NVC0_CB_AUX_UNK_INFO and add a todo should be
enough for now.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
db9b41d3020452c71728995f39f5fc0bad2f3b1d 08-Mar-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: rework the validation path for 3D

This exposes an interface for state validation that will be also used
to rework the compute validation path.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
aad48f86911998ab4164c9bbd091709bf5dd94a7 24-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: rework nvc0_compute_validate_program()

Reduce the amount of duplicated code by re-using
nvc0_program_validate(). While we are at it, change the prototype
to return void and remove nvc0_compute.h which is now useless.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Pierre Moreau <pierre.morrow@free.fr>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
dcf793883378b7c4d2d815409a28dd9bbd7bd633 24-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: move nvc0_validate_global_residents() to nvc0_compute.c

While we are at it, rename it to nvc0_compute_validate_globals() and
update its prototype.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Pierre Moreau <pierre.morrow@free.fr>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
2999257e0fe703f73d32620fed88040d29ac5bac 21-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: rename 3d binding points to NVC0_BIND_3D_XXX

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
9c6a7bfb4060264f02830d6ca5e56511546e7078 21-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: rename 3d dirty flags to NVC0_NEW_3D_XXX

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
5330ed959e8e047495191ebe1a72dd54347cc004 21-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: rename nvc0_context::dirty to nvc0_context::dirty_3d

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
fa7333a742d8f816c0502e79503a7ad33ab0a9a5 11-Jan-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: bind textures/samplers for compute on Fermi

Textures and samplers don't seem to be aliased between COMPUTE and 3D.

Changes from v2:
- refactor the code to share (almost) the same logic between 3d and
compute

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
917a5ff6eac8e000e1ac7041929ae376bd476496 06-Jan-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: bind shader buffers for compute on Fermi

This is loosely based on 3D. Shader buffers are bound on c15 (the
driver constbuf) at offset 0x200.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
a9b70a86db9fe948ca7ce40aad4831408b1377ef 11-Jan-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: bind driver constbuf for compute on Fermi

Changes from v3:
- add new validation state for COMPUTE driver constbuf

Changes from v2:
- always bind the driver consts even if user params come in via clover

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
527652629dc6e7dc593e16505e4b6b648b1f09cc 17-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: add a new validation state for 3D driver constbuf

This will be used to invalidate 3D driver constbuf when using COMPUTE
and vice-versa. This is needed because this CB contains a bunch of
useful information like the addrs of shader buffers.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
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/nvc0/nvc0_context.h
bfd695e1d2975e5dd5363c2e7fcc3084a28457aa 12-Jan-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> gallium: add a new interface for pipe_context::launch_grid()

This introduces pipe_grid_info which contains all information to
describe a launch_grid call. This will be used to implement indirect
compute in the same fashion as indirect draw.

Changes from v2:
- correctly initialize pipe_grid_info for nv50/nvc0

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
d759f0ddf10543def4bde985fb1fc38f0df5a681 11-Feb-2016 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50,nvc0: remove unused parameter in nvXX_state_validate()

This 'words' parameter is there since 2011 but it has never been used.
While we are at it, get rid of the extern declaration.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
fe01be4ad51b5b3cbc53ec6e0737819c2986bd07 03-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: add state management for shader buffers

(address, length) pairs are uploaded to the driver constbuf as well to
make these values available to the shaders.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
53dddab78c9bc7fbfd78bf23284ec6d92b70e93b 09-Dec-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nv50,nvc0: optimize coherent buffer checking at draw time

Instead of iterating over all the buffer resources looking for coherent
buffers, we keep track of a context-wide count. This will save some
iterations (and CPU cycles) in 99.99% case because usually coherent
buffers are not so used.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
4f6cd5fad03757e371b66049dcd42855e4853c14 30-Oct-2015 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: provide debug messages with shader compilation stats

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
0644196ab13c769570e5e2dcd738ebe5deca5754 17-May-2015 Samuel Pitoiset <samuel.pitoiset@gmail.com> nvc0: add a header file for nvc0_query

This will allow to split SW and HW queries in an upcoming patch.

While we are at it, make use of nvc0_query struct instead of pipe_query.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
e50c01d5af305e07110cb4a38d5a655437058f04 09-Sep-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: keep track of cb bindings per buffer, use for upload settings

CB updates to bound buffers need to go through the CB_DATA endpoints,
otherwise the shader may not notice that the updates happened.
Furthermore, these updates have to go in to the same address as the
bound buffer, otherwise, again, the shader may not notice updates.

So we keep track of all the places where a constbuf is bound, and
iterate over all of them when updating data. If a binding is found that
encompasses the region to be updated, then we use the settings of that
binding for the upload. Otherwise we upload as a regular data update.

This fixes piglit 'arb_uniform_buffer_object-rendering offset' as well
as blurriness in Witcher2.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91890
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.0" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
0fc21ecfc0891d239f20bf7724e51bc75503570c 25-Jul-2015 Marek Olšák <marek.olsak@amd.com> gallium: add flags parameter to pipe_screen::context_create

This allows creating compute-only and debug contexts.

Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
884b4df3b6f3980bb75f20fd256f9e2cca4d9403 26-Jul-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: bind a fake tess control program when there isn't one available

Apparently this is necessary in order for tess factors to work in a tess
eval program without a tess control program bound. Probably because it
uses the fake program's shader header to work out the number of patch
constants.

Fixes vs-tes-tessinner-tessouter-inputs

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
c8e5337a9a240befcc953695c8822b0749c7a042 20-Jul-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: add handling for set_tess_state callback

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
f97c14f9e4ff5ae2b7313eb0098f99816fead71d 12-Jul-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: preliminary tess support

Uncomment the various functionality that was already there and add in
obvious missing bits that parallel vp/gp/fp functionality.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
a2a1a5805fd617e7f3cc8be44dd79b50da07ebb9 21-Jul-2015 Ilia Mirkin <imirkin@alum.mit.edu> gallium: replace INLINE with inline

Generated by running:
git grep -l INLINE src/gallium/ | xargs sed -i 's/\bINLINE\b/inline/g'
git grep -l INLINE src/mesa/state_tracker/ | xargs sed -i 's/\bINLINE\b/inline/g'
git checkout src/gallium/state_trackers/clover/Doxyfile

and manual edits to
src/gallium/include/pipe/p_compiler.h
src/gallium/README.portability

to remove mentions of the inline define.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Acked-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
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/nvc0/nvc0_context.h
e9b1ea29bf1e8f09e83bd6358d0d2068053f09d4 08-May-2015 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: keep track of PGRAPH state in nvc0_screen

See identical commit for nv50. Destroying the current context and then
creating a new one or switching to another existing context would cause
the "current" state to not be properly initialized, so we save it off in
the screen.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
72283020093525ca5248d7f408e88b0bcba1e52b 31-Dec-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: regenerate rnndb headers

The headers hadn't been regenerated in a long time and had seen a number
of manual modifications. A few changes:
- remove nvc0_2d entirely, use the nv50 header which has the nvc0
values too
- remove 3ddefs, it's identical to the nv50 file
- move macros out into a separate file

Also the upstream rnndb changed the overall chip naming convention; this
was fixed up manually in the generated files until a better solution is
determined.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
12311c7c525ce835f97571d0ec58a23feb92f876 06-Sep-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv50,nvc0: get rid of draw module support

This hasn't been enabled in a long time and is completely stale and
unnecessary. Remove, esp since it doesn't build.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
a2fc85f5d0ffe4e46234bebcf24c5d24c5754b44 16-Aug-2014 Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> nvc0: Handle ARB_conditional_render_inverted and enable it

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
9a37eb8adb6558a4abf47774b583cb582a0ae116 01-Jul-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: add a memory barrier when there are persistent UBOs

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
7e7097a4f41caf311c98caae0ff7ebb1c5bc77ca 15-Jun-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: remove vport_int hack and instead use the usual state validation

Commit ad4dc772 fixed an issue with the viewport not being restored
correctly. However it's rather hackish and confusing. Instead just mark
the viewport dirty and let the viewport validation take care of it.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
a2cb3a4a4fa5f22e983ac6081b22a04594c7a10a 15-Jun-2014 Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> nvc0: implement multiple viewports/scissors, enable ARB_viewport_array

Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
[imirkin: mark things dirty on ctx switch, 3d blit]
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
af38ef907c89ecb1125bf258cafa0793f79a5eb7 21-Apr-2014 Ilia Mirkin <imirkin@alum.mit.edu> nvc0: add support for PIPE_CAP_SAMPLE_SHADING

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
dd370f0af69470b1e833298a1a7ea0d0254a31a3 21-Feb-2014 Ilia Mirkin <imirkin@alum.mit.edu> nv30: remove nv30_context use from nvfx_*prog

This should pave the way to being able to use the compiler without a
context. Also leads to cleaner code.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
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/nvc0/nvc0_context.h