History log of /external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3703e9920c2a4d1a022871624bd0d7bd16073867 19-Jan-2013 Christoph Bumiller <christoph.bumiller@speed.at> nouveau: fix undefined behaviour when testing sample_count

NOTE: This is a candidate for the 9.0 branch.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
854b8099c3120f3b12624faccf768b2afaff88c8 08-Oct-2012 Ben Skeggs <bskeggs@redhat.com> nvc0: point vertex runout at a valid address

Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
(cherry picked from commit c47a01c29cf14d11731c88bc8ed10a3f575c5a12)
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
9ed65301e044711de0db51b4986085fca170d764 12-Jul-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nouveau: implement missing timer query functionality
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
bcc735aaca3b305d05c28e4076996d91b19d80fd 05-Jul-2012 Marek Olšák <maraeo@gmail.com> gallium: add QUERY_TIMESTAMP cap and get_timestamp screen function
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
af372129e5c1722a3d53dd1fc2f3409207c12f7e 18-Jun-2012 Fredrik Höglund <fredrik@kde.org> gallium: Add PIPE_CAP_START_INSTANCE

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
1befacc7647f51344f5cfbfa86b62e53625a436f 17-May-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nouveau: place static buffers in VRAM if preferred by the driver
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
e6caafd9d7fbfcb5906d22be9d6a3c1714e078ac 16-May-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: handle user vertex buffers

And restructure VBO validation a little in the process.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
ef7bb281292c17b762b57779306e874704c87328 16-May-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: handle user index buffers
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
fcb28682101dfa127486373411043d5d97a0ff8f 16-May-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: handle user constbufs without wrapping them in a resource
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
bf469f4edc60bd1c5fd770cb231b8d5ab801427f 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add void *user_buffer in pipe_index_buffer

Adapted drivers: i915, llvmpipe, r300, r600, radeonsi, softpipe.

User index buffers have been disabled in nv30, nv50, nvc0 and svga to keep
things working.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
4552fd50d959ab99546cfa994f8ba5bdf5d66bc7 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add void *user_buffer in pipe_vertex_buffer

This reduces CPU overhead in st_draw_vbo and removes a lot of unnecessary code
in that function which was required only to comply with the gallium interface,
but wasn't any useful really.

Adapted drivers: i915, llvmpipe, r300, softpipe.
No changes required in: r600, radeonsi.

User vertex buffers have been disabled in nv30, nv50, nvc0 and svga to keep
things working.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
1b749dc34f8d83cf3dfa863279b1fe2b356d34b2 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT

This is required for any serious constant buffer support.
Constant buffer offsets on ATI and NVIDIA DX10 and DX11 GPUs must be
a multiple of 256.

In OpenGL, this can be queried via GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
437ab1d6df7282770ee869180446db36c2dbdfa8 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_CAP_USER_INDEX_BUFFERS and PIPE_CAP_USER_CONSTANT_BUFFERS
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
587c221a29fe01e24c69952a7a9b0034f7652e4e 24-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: handle new vertex fetch caps
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
978c1aa1d0f6fd9a188762a8534de33fc63eeea0 11-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium drivers: report that user vertex buffers are supported
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
e44089b2f79aa2dcaacf348911433d1e21235c0c 14-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: add initial support for nve4+ (Kepler) chipsets

Most things that work on Fermi should work on Kepler too.

There are a few performance optimizations left to do, like better
placement of texture barriers and adding scheduling data to the
shader instructions (without them, a thread group will be masked
for 32 cycles after each single instruction issue).
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
7a40ae4a31f3ab526706fdfda7631d54f094512a 28-Feb-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: prefix all macro methods with MACRO

Some of them have non-macro counterparts.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
edbfeed56f1ebd8517840ef48f8c87e24bb98157 16-Mar-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: improve vertex state validation

Now updating vertex attribute format only when necessary.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
2206a7f5132905bb1b53d8343d11847010f6b63a 01-Mar-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: use new scratch buffers code
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
802d02c453486936053c75323ce5128ae2f158d6 14-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: handle PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
6d1cdec3ba151168bfc3aef222fba6265dfb41fb 06-Apr-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nouveau: switch to libdrm_nouveau-2.0
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
04e324008759282728a95a1394bac2c4c2a1a3f9 23-Feb-2012 Marek Olšák <maraeo@gmail.com> gallium: remove PIPE_SHADER_CAP_OUTPUT_READ

r600g is the only driver which has made use of it. The reason the CAP was
added was to fix some piglit tests when the GLSL pass lower_output_reads
didn't exist.

However, not removing output reads breaks the fallback for glClampColorARB,
which assumes outputs are not readable. The fix would be non-trivial
and my personal preference is to remove the CAP, considering that reading
outputs is uncommon and that we can now use lower_output_reads to fix
the issue that the CAP was supposed to workaround in the first place.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
8b4f7b0672d663273310fffa9490ad996f5b914a 06-Feb-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: add PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION

Just let the hardware do it if it can and avoid drivers having to
check for the special case on each draw call.

v2: update the draw module
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
672ad90f54539ed38a5d03b47b58ec17f250b63d 29-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvfx,nv50,nvc0: handle PIPE_CAP_GLSL_FEATURE_LEVEL
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
bc1c8369384b5e16547c5bf9728aa78f8dfd66cc 23-Jan-2012 Marek Olšák <maraeo@gmail.com> st/mesa: do vertex and fragment color clamping in shaders

For ARB_color_buffer_float. Most hardware can't do it and st/mesa is
the perfect place for a fallback.
The exceptions are:
- r500 (vertex clamp only)
- nv50 (both)
- nvc0 (both)
- softpipe (both)

We also have to take into account that r300 can do CLAMPED vertex colors only,
while r600 can do UNCLAMPED vertex colors only. The difference can be expressed
with the two new CAPs.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
ab69d584f923101fab05560b8e9ff97cf3cc2c5f 20-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: fix some limit cap values

NOTE: This is a candidate for the 8.0 branch.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
601fb4b746ac498e69356fba0c17a1f6ce78df6c 10-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: enable shader watchdog timer

Prevent infinite loops in shaders from locking up the GPU.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
f37c3a3335821c0d0e13238846b2726b3fdaba71 07-Jan-2012 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: handle new PIPE_CAPs
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
dc4c821f0817a3db716f965692fb701079f66340 10-Jan-2012 Marek Olšák <maraeo@gmail.com> Squash-merge branch 'gallium-clip-state'

Conflicts:
src/gallium/auxiliary/tgsi/tgsi_strings.c
src/mesa/state_tracker/st_atom_clip.c

commit d919791f2742e913173d6b335128e7d4c63c0840
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Fri Jan 6 17:59:22 2012 +0100

d3d1x: adapt to new clip state

commit cfec82bca3fefcdefafca3f4555285ec1d1ae421
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Fri Jan 6 14:16:51 2012 +0100

gallium/docs: update for clip state changes

commit c02bfeb81ad9f62041a2285ea6373bbbd602912a
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Fri Jan 6 14:21:43 2012 +0100

tgsi: add TGSI_PROPERTY_PROHIBIT_UCPS

commit d4e0a785a6a23ad2f6819fd72e236acb9750028d
Author: Brian Paul <brianp@vmware.com>
Date: Thu Jan 5 08:30:00 2012 -0700

tgsi: consolidate TGSI string arrays in new tgsi_strings.h

There was some duplication between the tgsi_dump.c and tgsi_text.c
files. Also use some static assertions to help catch errors when
adding new TGSI values.

v2: put strings in tgsi_strings.c file instead of the .h file.

Reviewed-by: Dave Airlie <airlied@redhat.com>

commit c28584ce0d8c62bd92c8f140729d344f88a0b3cd
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Fri Jan 6 12:48:09 2012 +0100

gallium: extend user_clip_plane_enable to apply to clip distances

commit f1d5016c07f786229ed057effbe55fbfd160b019
Author: Marek Olšák <maraeo@gmail.com>
Date: Fri Jan 6 02:39:09 2012 +0100

nvfx: adapt to new clip state

commit 6f6fa1c26bd19f797c1996731708e3569c9bfe24
Author: Marek Olšák <maraeo@gmail.com>
Date: Fri Jan 6 01:41:39 2012 +0100

st/mesa: fix DrawPixels with GL_DEPTH_CLAMP

commit c86ad730aa1c017788ae88a55f54071bf222be12
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Tue Jan 3 23:51:30 2012 +0100

nv50: adapt to new clip state

commit 3a8ae6ac243bae5970729dc4057fe02d992543dc
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date: Tue Jan 3 23:32:36 2012 +0100

nvc0: adapt to new clip state

commit 6243a8246997f8d2fcc69ab741a2c2dea080ff11
Author: Marek Olšák <maraeo@gmail.com>
Date: Thu Dec 29 01:32:51 2011 +0100

draw: initalize pt.user.planes in draw_init

This fixes a crash in glean/fpexceptions.

commit e3056524b19b56d473f4faff84ffa0eb41497408
Author: Marek Olšák <maraeo@gmail.com>
Date: Mon Dec 26 06:26:55 2011 +0100

svga: adapt to new clip state

commit c5bfa8b37d6d489271df457229081d6bbb51b4b7
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 14:11:51 2011 +0100

r600g: adapt to new clip state

commit f11890905362f62627c4a28a8255b76eb7de7df2
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 14:10:26 2011 +0100

r300g: adapt to new clip state

commit e37465327c79a01112f15f6278d9accc5bf3103f
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 12:39:16 2011 +0100

draw: adapt to new clip state

This adds a regression in the LLVM clipping path. Can anybody see anything
wrong with the code? It works for every other case, just glean/fpexceptions
crashes when doing the "Infinite clip plane test".

commit b474d2b18c72d965eefae4e427c269cba5ce6ba2
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 13:14:59 2011 +0100

u_blitter: don't save/set/restore clip state

commit 9dd240ea91f523a677af45e8d0adb9e661e28602
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 13:11:56 2011 +0100

gallium: don't cso_save/set/restore clip state

The enable bits are in the rasterizer state.

commit a4f7031179f5f4ad524b34b394214b984ac950f6
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 12:58:55 2011 +0100

gallium: default depth_clip to 1

depth_clip = !depth_clamp

commit fe21147a00ab90e549d63fe12ee4625c9c2ffcc3
Author: Marek Olšák <maraeo@gmail.com>
Date: Mon Dec 26 06:14:19 2011 +0100

trace,util: update state logging to new clip state

Also dump the other missing flags.

commit 2a3b96e84ac872dcc5bc1de049fe76bb58d64b23
Author: Marek Olšák <maraeo@gmail.com>
Date: Sun Dec 25 10:43:43 2011 +0100

st/mesa: adapt to new clip state

commit b7b656a42fca19d7c85267f42649a206a85a2c72
Author: Marek Olšák <maraeo@gmail.com>
Date: Sat Dec 17 15:45:19 2011 +0100

gallium: move state enable bits from clip_state to rasterizer_state
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
1b9577b833db28651e89e5c12559c7af5dde8822 17-Dec-2011 Marek Olšák <maraeo@gmail.com> gallium: remove PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_ATTRIBS

It's the same as PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
14bd9d764802b5fedb652c791faafe4d13b65262 09-Dec-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: implement new stream output interface
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
861a029ddb31e91bb4d8e18ab708d0d172f63aad 15-Dec-2011 Marek Olšák <maraeo@gmail.com> gallium: interface changes necessary to implement transform feedback (v5)

Namely:
- EXT_transform_feedback
- ARB_transform_feedback2
- ARB_transform_feedback_instanced

The old interface was not useful for OpenGL and had to be reworked.

This interface was originally designed for OpenGL, but additional
changes have been made in order to make st/d3d1x support easier.

The most notable change is the stream-out info must be linked
with a vertex or geometry shader and cannot be set independently.
This is due to limitations of existing hardware (special shader
instructions must be used to write into stream-out buffers),
and it's also how OpenGL works (stream outputs must be specified
prior to linking shaders).

Other than that, each stream output buffer has a "view" into it that
internally maintains the number of bytes which have been written
into it. (one buffer can be bound in several different transform
feedback objects in OpenGL, so we must be able to have several views
around) The set_stream_output_targets function contains a parameter
saying whether new data should be appended or not.

Also, the view can optionally be used to provide the vertex
count for draw_vbo. Note that the count is supposed to be stored
in device memory and the CPU never gets to know its value.

OpenGL way | Gallium way
------------------------------------
BeginTF = set_so_targets(append_bitmask = 0)
PauseTF = set_so_targets(num_targets = 0)
ResumeTF = set_so_targets(append_bitmask = ~0)
EndTF = set_so_targets(num_targets = 0)
DrawTF = use pipe_draw_info::count_from_stream_output

v2: * removed the reset_stream_output_targets function
* added a parameter append_bitmask to set_stream_output_targets,
each bit specifies whether new data should be appended to each
buffer or not.
v3: * added PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME for ARB_tfb2,
note that the draw-auto subset is always required (for d3d10),
only the pause/resume functionality is limited if the CAP is not
advertised
v4: * update gallium/docs
v5: * compactified struct pipe_stream_output_info, updated dump/trace
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
10e931219f0619c01456dd13fea65b8c21f3b87b 02-Dec-2011 Marcin Slusarz <marcin.slusarz@gmail.com> nouveau: get rid of winsys object

Its only purpose was to destroy itself.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
27e77cb902b4f7f5e127dcd78951e3167f13d59c 11-Nov-2011 Marcin Slusarz <marcin.slusarz@gmail.com> nv50/nvc0: fix crash when channel allocation fails
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
bb71f9249a66b9a4921a878766c0a2d87624c369 19-Nov-2011 Marek Olšák <maraeo@gmail.com> gallium: separate out floating-point CAPs into its own enum

The motivation behind this is to add some self-documentation in the code
about how each CAP can be used.

The idea is:
- enum pipe_cap is only valid in get_param
- enum pipe_capf is only valid in get_paramf

Which CAPs are floating-point have been determined based on how everybody
except svga implemented the functions. svga have been modified to match all
the other drivers.

Besides that, the floating-point CAPs are now prefixed with PIPE_CAPF_.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
2a0126932b320806e030c1c085791e257516e0cd 18-Nov-2011 Marek Olšák <maraeo@gmail.com> gallium: remove PIPE_CAP_GLSL and enable GLSL unconditionally

Only i965g does not enable GLSL, but that driver has been unmaintained and
bitrotting for quite a while anyway.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
f03810fbdd41012422f6920c2026c49927bcb820 09-Oct-2011 Marcin Slusarz <marcin.slusarz@gmail.com> nv50,nvc0: avoid unnecessary flushes

Relocations don't consume pushbuffer space, so there is no need to
ensure there is any space in pushbuffer.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
9849f366cbfd781ebeca725058029b70c96836f9 08-Oct-2011 Marcin Slusarz <marcin.slusarz@gmail.com> nouveau: fix fence hang

If there is not enough space in pushbuffer for fence emission
(nouveau_fence_emit -> nv50_screen_fence_emit -> MARK_RING),
the pushbuffer is flushed, which through flush_notify ->
nv50_default_flush_notify -> nouveau_fence_update marks currently
emitting fence as flushed. But actual emission is done after this mark.
So later when there is a need to wait on this fence and pushbuffer
was not flushed in between, fence wait will never finish causing
application to hang.

To fix this, introduce new fence state between AVAILABLE and EMITTED,
set it before emission and handle it everywhere.

Additionally obtain fence sequence numbers after possible flush in
MARK_RING, because we want to emit fences in correct order.

Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>

Note: This is a candidate for the 7.11 branch.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
ba89086e79b22bd9578ea642846108de624c91e9 27-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_CAP_TEXTURE_BARRIER

Same issue as with conditional_render.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
3d13b081c72626acba6b9a25baec740c60dfafe1 27-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_CAP_CONDITIONAL_RENDER

We were checking whether render_condition is set. That was not reliable,
because it's always set with trace and noop regardless of driver support.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
f5bfe54a34d9c8cd5de2b096d0e8486fe0d990a7 27-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: add and use PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS

This removes:
- PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS
- PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS
in favor of the that new per-shader cap.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
557c3febdfd88ba1a41d3e8e0221e447d491c343 26-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: remove PIPE_CAP_TEXTURE_MIRROR_REPEAT

All drivers support it (well, except Cell). The boolean option is going away
from core Mesa too.

This is a follow-up to Ian Romanick's patch
"mesa: Remove ARB_texture_mirrored_repeat extension enable flag".

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
7744e867b7f45f3f9d763b61d7219dc28ca39c45 14-Sep-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: implement resource_resolve
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
d53c49bcd4f1cb179ba83656224272574f89801b 05-Sep-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: handle PIPE_CAP_MIN/MAX_TEXEL_OFFSET
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
3afabfb929cf24a783c10c99bf0d86245e70a94a 13-Sep-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: hook up to new shader code generator

Also includes loading of shared shader library code (used for f64
and integer division) and setting up the immediate array buffer
which is appended to the code.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
379429137238e79296b8222c0e13d7d961910633 05-Sep-2011 Marek Olšák <maraeo@gmail.com> gallium: add PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS

v2: remove PIPE_CAP_ARRAY_TEXTURES in favor of the new CAP.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
66e8d223b61dc034fb941e7d704a85ee44d7bbcc 30-Aug-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: fix multisample format hack

Advertising different format support based on sample count was a
bad idea, it made resolve to window work, but resolve to anything
else would fail.

See 9f4998639c3c47f0b7ee3e2a29b7f3609d3f7796.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
9f4998639c3c47f0b7ee3e2a29b7f3609d3f7796 27-Aug-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: reject R8G8B8A8/X8_UNORM for multisample surfaces

The window system buffer will be BGRA and applications will try to
directly resolve to it, which would trigger an INVALID_OPERATION in
BlitFramebuffer if the multisample renderbuffer is RGBA.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
4683529048ee133481b2d8f1cae1685aa1736f9a 04-Aug-2011 Bryan Cain <bryancain3@gmail.com> Merge branch 'glsl-to-tgsi'

Conflicts:
src/mesa/state_tracker/st_atom_pixeltransfer.c
src/mesa/state_tracker/st_program.c
17b695e6e7dd730497fb60a8e161935b23fa0e9c 06-May-2011 Bryan Cain <bryancain3@gmail.com> gallium: add PIPE_SHADER_CAP_INTEGERS
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
ea316c5e060cbd92b34e0d794c0707d4ca79e6e8 21-Jul-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nouveau: hook up video decoding with nouveau_context

This doesn't include nvfx since its context struct is not derived
from common nouveau_context (yet).
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
b2dcf880e8bcd61be59602f5a2d18c77a5fc60c1 11-Jul-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: add support for multi-sample resources
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
cad17554c4b121c03e188dd0281718a52d603a15 14-Jul-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: unify nvc0_miptree and nv50_miptree structs

Share some functions and restructure miptree creation a little.
Prepare for multi-sample resources.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
3069a7eaa5d83e7f41616347ba244c0dc0d944ae 07-Jul-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: use screen instead of context for flush notifier

Context may become NULL and we still have to be able to flush
pending fences.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
531b12af35a832bcd8928a4919d76f8e9405cde0 06-May-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: activate seamless cube map filtering
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
b5dfc38eea8a4b497574ca791452c11fa4163c8a 16-Apr-2011 Marcin Slusarz <marcin.slusarz@gmail.com> gallium: include u_format.h for util_format_is_supported

Without it gcc complains:
nv50_screen.c: In function ‘nv50_screen_is_format_supported’:
nv50_screen.c:48: warning: implicit declaration of function ‘util_format_is_supported’

and handles it wrongly - util_format_is_supported returns boolean, which is typedef'ed
to uchar, but function without prototype is assumed to return int.

For me nv50_screen_is_format_supported was returning true for float formats without
--enable-texture-float...
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
25a7f662145f56ad15dbdf3da203a8a85594276f 16-Apr-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: work around what looks like a code prefetch bug

Sounds very unlikely, but I don't have a better explanation at the
moment.
The GPU throws page faults at the first page after the code buffer
quite frequently on startup, and traces don't show us overflowing.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
75fa5c99a86c1ae0f8a4fecc016a5f82da9ae80a 11-Apr-2011 Marek Olšák <maraeo@gmail.com> gallium: add and use generic function for querying patented format support (v2)

v2: Unsigned floats are allowed regardless of the configure switch.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
003224bd970e9cb63b0d3d12e1a8f2f3b3a736e6 10-Apr-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: make the card permit separate colour outputs
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
7b4e478496cf45f527f72c39d72efe2e94fe2386 09-Apr-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50-nvc0: make use of COLOR_MASK,BLEND_ENABLE_COMMON
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
843d5391c3b7b80ff2087ce7e6440417aab623cc 31-Mar-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: identify some line rasterization state

Fixes width of non-smooth (aliased) lines on nvc0.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
4a7f013f9db793dab8dbc9f71646dab49f12ed2f 29-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: set PIPE_CAP_MIXED_COLORBUFFER_FORMATS in some drivers
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
8f060df60d1f5ad63a341e39f2ec5a0c3c452cf5 29-Mar-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: implement colour clamping controls
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
0abaaac87238c7b9ffd4dc4aacfd30f24da64a41 11-Mar-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: identify VERTEX_QUARANTINE

Well, not sure what exactly it is, but it certainly doesn't contain
the control flow stack, but vertex data.

Not sure about size, I've only seen the first few KiB written, but
the binary driver seems to allocate more.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
e968975cb57eb854769292f7c6ff773c64a386c3 08-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: remove the geom_flags param from is_format_supported
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
95c7881ac8240fa369e33db411bbd165d0f61948 05-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: split CAP_INSTANCE_DRAWING into INSTANCEID and INSTANCE_DIVISOR

ARB_instanced_arrays is a subset of D3D9.
ARB_draw_instanced is a subset of D3D10.

The point of this change is to allow D3D9-level drivers to enable
ARB_instanced_arrays without ARB_draw_instanced.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
1f5d6fc59bd899e211c70026eb74cd2219858008 04-Mar-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: share sampler state creation
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
4fae7da9a3a3849ca08ffc6fcbdccc6a9c065ad2 05-Mar-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nv50,nvc0: fix texture layer issues
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
6b4e3e8941f41b6d15ac557e3d47bf4f1aa8b185 03-Mar-2011 Ben Skeggs <bskeggs@redhat.com> nouveau: allow pipe driver to define which buffers should start in sysmem

PIPE_BIND_CONSTANT_BUFFER alone was OK for nv50/nvc0, but nv30 will need
to be able to set others on certain chipsets.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
1ba8e9510812f155359d380bda6876cdee5ba21e 01-Mar-2011 Ben Skeggs <bskeggs@redhat.com> nouveau: ensure vbo_dirty is set when buffer write transfer complete

This introduces a shared nouveau_context struct to track such things.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
4826cd0f6125b071530026143ffd8205d84b3d5e 01-Mar-2011 Ben Skeggs <bskeggs@redhat.com> nvc0: port to common fence/mm/buffer code

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
1a8297139396ec2a6415ef803a3901e1ecef485c 24-Feb-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: set local memory usage info in shader header

Before this, l[] access was a no-op.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
e7845e319679e3539274c37e9c16692a2dfe59fe 15-Feb-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: fix clipping and use VIEWPORT instead of SCISSOR
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
19f2272e94895cf241f6b05117535e008e07d0a7 14-Feb-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: demagic the clear flags and fix region clears

The CLIP_RECTs always affect dedicated clears, and it's nicer than
having to mark the viewport or scissor state dirty after it.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
7fd29468ec68b5cd08222428577a7dbe8f123426 29-Jan-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: enable PIPE_CAP_ARRAY_TEXTURES and fix them
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
bf1df06773d6eca8b71a687f838edccd1a6c9cb8 21-Jan-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: add MARK_RING where missing to avoid too many relocs errors
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
a4742c6a07179f01eebfc486e6cd21be05d9c8ae 16-Jan-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: fix and enable instanced drawing and arrays
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
370ae0bd614fcbf9c4c0424fb5c41f2cfbc17b3e 13-Jan-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: identify POINT_RASTER_RULES, add POINT_SMOOTH state

Point smoothing requires rasterization rules to be set to OGL.

Sorry for the extra noise caused by the header update.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
bd2b72359ed504434692d7464602c780a322c61e 13-Jan-2011 Ben Skeggs <bskeggs@redhat.com> nvc0: disable calling of sw methods we don't implement

Left in the code as a marker of what NVIDIA do, just in case we need
to do this some day.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
0c1db2feb9c2f5c9a2ef486053b6e9dcd9860b3e 13-Jan-2011 Ben Skeggs <bskeggs@redhat.com> nvc0: fix mp_stack_bo relocation

Fixes a PT_NOT_PRESENT error cause by:
- allocating in VRAM
- emitting GART relocs to 0x17bc/0x17c0, moving the buffer
- telling the bufmgr that the buffer should be in VRAM when we use it,
but not correcting the value sent to 0x17bc/0x17c0.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
b3d8e1fb3bd9b6e5d7a9fc1e710a12547893c487 09-Jan-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: implement queries
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
6de94e1012498b6859d9796f2836a162bb0ca4bc 04-Jan-2011 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: delete memory caches and fence on screen destruction
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
5b0e5e7389a5a09305bd47d69befefc5b85b4b2a 29-Dec-2010 Ben Skeggs <bskeggs@redhat.com> drm/nvc0: don't un-bind every subchannel on init

The initial values in the grctx are 0x0000 anyway, and re-binding them
all to 0x0000 destroys some init done by the nouveau drm.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
e4349027f6842563555992a39add4d0b2283fbbb 27-Dec-2010 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: implement VRAM buffer transfers with bounce buffers
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
780fbecc20ee100c2765b24cb6dc9e28ab96a2e0 23-Dec-2010 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: respond please inline to PIPE_SHADER_CAP_SUBROUTINES
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
2c20aae23393a3f6899f1775df47697ce65fc6ca 22-Dec-2010 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: use most defs/decls from nouveau_pushbuf.h
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
e4e1a85bf8126d67fa0b9bf64b8d094ec1fbe2f8 20-Dec-2010 Ben Skeggs <bskeggs@redhat.com> nvc0: fence.bo is mappable, mark it as such
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
e9de2a31a5a3c5764eef7b57a896bade102bad30 19-Dec-2010 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: use BIND_RING to set subchannel classes
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
5138ac033ad3708e2b82f2beebc887f65a77309e 11-Dec-2010 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: support user clip planes
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
e32ec112785d9ea111a9de0087f2f487cadc9051 09-Dec-2010 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: call grobj_alloc for all used classes

Only doing this to notify the DRM that we need a PGRAPH context,
nvc0 hardware doesn't use actual grobjs anymore.
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
3ef1616b63507db01f54efa882a9cf28839cfdf3 09-Dec-2010 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: buffer suballocation with a primitive slab allocator
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
5655f8d42d919270791588162399ac7a2c718733 09-Dec-2010 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: support primitive restart
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c
4c2247538394a313e1e90bfcd07c1ab9c7d41281 12-Nov-2010 Christoph Bumiller <e0425955@student.tuwien.ac.at> nvc0: import nvc0 gallium driver
/external/mesa3d/src/gallium/drivers/nvc0/nvc0_screen.c