History log of /external/mesa3d/src/gallium/state_trackers/nine/device9.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5f4359ea0ed54b06d443e0ba040eb73406fc3e34 28-Dec-2016 Axel Davy <axel.davy@ens.fr> st/nine: Flush the queue at device dtor

Flush the queue to get refcounts right, and properly
release the items, instead of throwing away all pending
commands.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
4e922c81f616bba71565de8d7fd8f5f6955ce1cc 28-Dec-2016 Axel Davy <axel.davy@ens.fr> st/nine: Process pending commands on Reset

Some nine_state_* and nine_context_* functions
used for Reset() require all pending commands are
flushed.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
d43bc05e8ba0f326273c21b10f714e4d2514adae 28-Dec-2016 Axel Davy <axel.davy@ens.fr> st/nine: Remove duplicated checks

There is no need to check on csmt_active before
calling nine_csmt_process, because the function
checks already.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
123e947228241e743a4d0fdb8a911f57a3dd4ef9 18-Dec-2016 Axel Davy <axel.davy@ens.fr> st/nine: Upload on secondary context for Draw*Up

Avoid synchronization by using the secondary context
for uploading the vertex data for Draw*Up.

v2: Rely on u_upload_mgr to use persistent coherent
buffers. Do not flush.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
bad7f7cc638391acc93f070fce3e1b7035dc48f8 04-Dec-2016 Axel Davy <axel.davy@ens.fr> st/nine: Implement new buffer upload path

This new buffer upload path enables to lock
faster than the normal path when using
DISCARD/NOOVERWRITE.

v2: Diverse cleanups and fixes.
v3: Fix allocation size for 'lone' buffers and
add more debug info.
v4: Rewrite of the path to handle when DISCARD/NOOVERWRITE
is not used anymore. The resource content is copied to the
new resource used.
v5: flush for safety after unmap (not sure it is really required
here, but safer to flush).
v6: Do not use the path if persistent coherent mapping is unavailable.
Fix buffer creation flags.
v7: Do not flush since it is not needed.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
525a1b292a3d65857db06832e175fba840b75ff8 04-Dec-2016 Axel Davy <axel.davy@ens.fr> st/nine: Add arguments to context's blit and copy_region

The new arguments enable to reference the objects while
the function hasn't run.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
884166a251ec45f2bfac0139f18b162d31db241e 13-Nov-2016 Axel Davy <axel.davy@ens.fr> st/nine: Use nine_context_clear_render_target

Enables to not wait for the worker thread for ColorFill.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
7b154ac04d9cacf98631a826c25e7e3756f5cda9 13-Nov-2016 Axel Davy <axel.davy@ens.fr> st/nine: Optimize ColorFill

When we lock the whole surface to overwrite it, we can use DISCARD.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
9bf1da05d9375f6faf4a3977c7674a1cda9ca0b0 13-Nov-2016 Axel Davy <axel.davy@ens.fr> st/nine: Simplify ColorFill

For render targets, NineSurface9_GetSurface is not
expected to fail.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
3e8234fff42022b12ff7bdbff052c75c71f5bedb 03-Nov-2016 Axel Davy <axel.davy@ens.fr> st/nine: Add secondary pipe for device

The secondary pipe will be used for operations
that don't need synchronization.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
e52aded87febcf422ae80551e5d204be04c89278 03-Nov-2016 Axel Davy <axel.davy@ens.fr> st/nine: Track bindings for buffers

Similar code than for textures.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
804b28cdc461043bba18f1b2b914ef61b9773192 06-Nov-2016 Axel Davy <axel.davy@ens.fr> st/nine: Simplify the logic to bind textures

This makes the code more readable.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
fef23f6712064416f02211f1517e387169735e0b 02-Nov-2016 Patrick Rudolph <siro@das-labor.org> st/nine: Use nine_context for resource_copy_region

Use nine_context wrapper for resource_copy_region.
Enables to offload it with CSMT.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
c8913a06b454bd0aca813d2ea362e7d06840216f 27-Oct-2016 Patrick Rudolph <siro@das-labor.org> st/nine: Use nine_context for blit

Enables to offload it with CSMT.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
ac2927335bc7cd4994d2fc0906eb328773b1f923 26-Oct-2016 Patrick Rudolph <siro@das-labor.org> st/nine: Implement gallium nine CSMT

Use an offloading thread for all nine_context functions.
Macros are used to ease the reading of the code.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
2c371a25a8800883dda353853cca6b5a2ba71bb4 18-Dec-2016 Axel Davy <axel.davy@ens.fr> st/nine: Call GetPipe for implicit pipe usages

With csmt, every usage of the pipe in the main thread
has to be protected by calling GetPipe.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
1277ceefd1e8c0c495b75de55cfe661a478d1aae 25-Oct-2016 Patrick Rudolph <siro@das-labor.org> st/nine: Add struct nine_clipplane

Required to know the size exact size of the plane.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
bb666b0297cb81fc1b8192ba91efd2e0a69835c5 01-Nov-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back swvp in nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
152d0077690199b6cb4913d1596ed1d2048e32ca 30-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Move Managed Pool handling out of nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
eb884a4ac2579a8c15a0548e0a72cf9cc07530e0 28-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Integrate nine_pipe_context_clear to nine_context_clear

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b95205b1f28ba23d88bc24bbb663b1e4938bbb48 28-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Move pipe and cso to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
c7237e2c5c9935d80f04f2793bde9489ca6bda9d 28-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Access pipe_context via NineDevice9_GetPipe

Except for nine_ff and nine_state.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
4a4eba8c059022b1bff7a389e72f66e513a3dc06 27-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Remove NineDevice9_GetCSO

Was useless. Remove useless usage in
swapchain9.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b748b8fd8619ab412517f859dbf9a42b62ef6309 20-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Track dirty state groups in nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
a0a18920c7cdba1ffc6d642aff039476755c1cae 20-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back User Clip Planes to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
c6ca7c747e47127bb0ced0c7ca38beaa760376a4 20-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back ps to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
d671190df907b7643ba00143b2fbf0a1f5bee6c4 20-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back ds to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
1a735a99d0ab4d618802e4044f068f926aaf4513 19-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back all ff states in nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
bb62ea925a9aaebb053f0df14a9b7c995fdb6537 19-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Refactor LightEnable

Call a helper function.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
cbe370020e4e2b6293230bf0908f3f199c2468eb 19-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Refactor SetLight

Call a helper function to set the light.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
c5af96aebd2be165e29124c1e5d5bb3b7021bb30 19-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Put ff data in a separate structure

And make nine_state_access_transform take this
new structure as input.
Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
4a6d83ebc29546e8a70b4187bf1b66f6d745ef2e 19-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back viewport to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
9498613607aa9bf42a36db0462f5e38b1d1f4c60 19-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back scissor to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
7f6e01052b77ee825ec681ee5d9b65f5d182ca4f 19-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back RT to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
aafbd62955f279172b0b57c3fd2b82da54f8035f 19-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back current index buffer to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b13b217243f1700e9c88bfc91a4d85cc2c17ab60 18-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back all shader constants to nine_context

For device vs shader float constants and may_swvp,
the same tips than for the other constant types is
used.

Also memset the constants properly.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
93ac6dfdcce5260ee06b8c32306cb2af8ee782e3 18-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back sampler states to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
2a698c3df2a940a693d39c77692b32d946ccec1d 17-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back vs to nine_context

And move programmable_vs storage and computation.
Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
43288cf376a280f1f7757e2c47f6ddcaad0c384f 17-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back vdecl to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
63633e2a08b227025f1e479fe26244e6bf37d7e7 16-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Move stream freq data to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
848ffc81e4c91414ec29464ee71560547a12cd64 16-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Move vtxbuf to nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
eed47b748f26363c0de063f51b0c67959e7e5b06 16-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Back textures into nine_context

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
6bbb7b9fc5bc978ac3236064a1de50376177c735 16-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Move texture setting to nine_context_*

And move samplers_shadow to nine_context.
Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
c1871e829aa220a7040ca6e423d404f072256db9 16-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Track changed.texture only for stateblocks

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
64e232bd60336591e55e6c95112bac334cb38970 16-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Move draw calls to nine_state

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

v2: Release buffers for Draw*Up functions in device9.c,
instead of nine_context. This prevents a leak with csmt
where the wrong pointers were released.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
f72d8719ebecce0937087a56eec24a51bea9e27a 15-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Move core of device clear to nine_state

Part of the refactor to move all gallium calls to
nine_state.c, and have all internal states required
for those calls in nine_context.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
1b24d5e1f5450e51d79c22679fed5d4b9731004c 15-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Introduce nine_context

nine_context is a new structure which goal will be
to contain all internal states. It will be the states
of the second thread in the to-be-introduced CSMT mode.

This patch moves several internal states to nine_context,
while the next patches add the other fields.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
85811d0e87b4e460a1cf4cc6654482c05628c383 20-Nov-2016 Axel Davy <axel.davy@ens.fr> st/nine: Ignore MULTISAMPLEMASK when RT is not multisampled

We were ignoring MULTISAMPLEMASK for non-maskable multisample
modes, but we were missing the non-multisampled case.

Fixes a crash in Halo.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
c3e5140142c65edc7004a3e8c0d4a852dfb8e60e 24-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Correctly release sw cursor image

cursor.image is used for software cursor
emulation. It wasn't released.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
9c0f65e08a197d153801f0ea3ee0fb9e85884f44 24-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Handle when cursor stride is not what is expected

SetCursor assumes for now a 32x32 argb cursor with pitch 128.
32x32 argb doesn't have pitch 128 on all hw, thus use a
temporary surface with the correct pitch when needed.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
e7a0f580a6029845b372504388b5b5d2eed2c55b 23-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Avoid crash on empty Draw*Up

Ignore empty draw calls.
Avoid assertion fault when such draw calls happen
in u_upload_mgr.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
ada0c2ceaa510550ad11f509016fc09f5a5e56d3 23-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Capture texturestage states in pixel stateblocks

pixels stateblocks need to capture these.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
8b021be769ae74ba0bf5d79b7faee693f5cd5807 23-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Add missing changed states to pixel stateblocks

Some states were not properly recorded in pixel stateblocks.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
d38215fb175140050c721a357c0982377ce423bb 19-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Fix useless swapchain init checks

In NineDevice9_SetDefaultState we can assume the
implicit swapchain is properly initialized.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
0630d3600bfb770cf3b23761c45b3add3b277c6b 16-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Remove useless call to nine_update_state

The call was not needed.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
494ace4b851fc3201bdb0297e53ccf8dfde78510 16-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Add validation to SetSamplerState

Check value validity and mimick Win behaviour.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
eef0744d4384a48c70da3f9863a02ceab08c97bb 02-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: More checks for GetRenderTargetData

Fixes a wine test crash

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
5d85253dc30cc26a40fa6f4a52cf61880827edee 28-Sep-2016 Patrick Rudolph <siro@das-labor.org> st/nine: Prevent crash in GetRenderTargetData

Return error instead of crashing on source surfaces
with format D3DFMT_NULL.

Fix for issue #236.

Tested on Windows 7.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
60624be2033f06b414cf76794c2f3b061dc28332 22-Sep-2016 Patrick Rudolph <siro@das-labor.org> st/nine: Implement MSAA quality levels

Advertise quality levels:
Each supported multisample count matches to one quality level.
The application doesn't know how much samples each quality level has.
For that reason it's not possible to set the multisample mask.

Return errors on quality level missmatch.

Fixes several old games not having multisample support until now.

Fix for issue #73.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
ba0274c7d6c3b77a36bbe1b444f427b0c873e2f3 15-Sep-2016 Patrick Rudolph <siro@das-labor.org> st/nine: Allocate surface resources in surface ctor

Allocate resources in surface ctor.
Allows to use statetracker internal memory accounting.

Fix for issue #231.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
f7dd27aed3045174eb91ec5a99c4c619504f6559 25-Sep-2016 Axel Davy <axel.davy@ens.fr> st/nine: Fix texbem

Error found with wine tests.
nine_shader was expecting another order
than the one device9 was using.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b9639c661fb6b52c8abb96c06263f85ca4bd78c1 19-Sep-2016 Axel Davy <axel.davy@ens.fr> st/nine: Initial ProcessVertices support

For now only VS 3 support is implemented.

This enables The Sims 2 to work.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
3bf02d383fe94a69dfec3ff54ede3e3b2e9dff6b 17-Sep-2016 Axel Davy <axel.davy@ens.fr> st/nine: Partial software vertex processing support

Software Vertex Processing allows:
. Less limitations for shaders (more loops, etc)
. Less limitations for ff (more enabled lights, 255
matrices for VertexBlend)

In particular shaders can get more constants.
This patch implements support for this (not using software
rendering, but hardware rendering, as llvmpipe and dx10+ hw
have the same limits...)

This is considered a second class path. Even apps asking for
"Mixed Vertex processing" (ie the ability to switch to swvp
on demand) do not use the feature much. Some just initialize
more constants than the normal limit at the start of the
application, but never use more than the normal limit.
When the apps do not need the software vertex processing
features, they do not seem to turn it on. This means it is
ok if that path is slow.
Thus no care has been made to make the path optimized.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
f8c8f4424405c4789a044470e64df810720358c8 04-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Rework vs int and bool constants buffer

This will help to support swvp constants.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
a83dce01284f220b1bf932774730e13fca6cdd20 04-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Change dirty tracking for vs int and bool constants

This change makes easier to introduce tracking for
swvp constants.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
f78089b962537364d52ba05aa14dacbe20de995c 04-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Drop unused constant upload path

This path has been disabled for some time because
of some bugs with it. It hasn't been updated to the
new features, and is not faster.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
56ea3df7d437f3f4460992f18eae3dbf00af8ab9 15-Sep-2016 Axel Davy <axel.davy@ens.fr> st/nine: Initial mixed vertex processing support

In mixed vertex processing, the user can enable or disable
software vertex processing. It is on hardware by default.

This feature is not a state, and thus the setting doesn't
need to be recorded by stateblocks.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
747f1ef8b6f0ea78f247504ef55e72d8aa3f733a 11-Sep-2016 Axel Davy <axel.davy@ens.fr> st/nine: Implement SetNPatchMode

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
9ff0dc31296fe8b40689948101ba2eb6e56a3755 17-Apr-2016 Axel Davy <axel.davy@ens.fr> st/nine: Disable seamless cubemap for d3d

d3d9 doesn't have seamless cubemap.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
9904581dc663543861c05ecf0ddd1a51a934f812 09-Oct-2016 Axel Davy <axel.davy@ens.fr> st/nine: Memset pipe_resource templates

Fixes regression introduced by
ecd6fce2611e88ff8468a354cff8eda39f260a31
and is more future proof than just clearing the next
field.

Other nine usages did already zero out the templates.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
/external/mesa3d/src/gallium/state_trackers/nine/device9.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/state_trackers/nine/device9.c
9a4d5db4d2d6a11cb4760bfe265cc9065616e28e 10-Aug-2016 Trevor Davenport <trevor.davenport@gmail.com> st/nine: Fix invalid attempt to use indirect draws.

Since commit 6d7177f01b231e9fe79a558c28d2b562a218d7ea, radeonsi
would take a different path if info->indirect_params was not
initialized properly. Nine was not initializating this field.

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
a909210131494a6a131855d7d344b61b81fbf40e 09-Aug-2016 Marek Olšák <marek.olsak@amd.com> gallium: add render_condition_enable param to clear_render_target/depth_stencil

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b76fa5673924ce09e28f3000808e3bd50ffe4570 14-Jun-2016 Axel Davy <axel.davy@ens.fr> st/nine: Use offset_units_unscaled

offset_units_unscaled enables proper support
for depth bias for gallium nine. Use it
if available.

Solves issues with some games using depth bias.
For example:
https://github.com/iXit/Mesa-3D/issues/220

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
60a27ad122128145d28be37e9c0b0bc86a8e5181 23-Jun-2016 Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Remove wrongly repeated words in comments

Clean up misrepetitions ('if if', 'the the' etc) found throughout the
comments. This has been done manually, after grepping
case-insensitively for duplicate if, is, the, then, do, for, an,
plus a few other typos corrected in fly-by

v2:
* proper commit message and non-joke title;
* replace two 'as is' followed by 'is' to 'as-is'.
v3:
* 'a integer' => 'an integer' and similar (originally spotted by
Jason Ekstrand, I fixed a few other similar ones while at it)

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
f21b7d1e5c21b749ae7c19d3dc80dc4e14e4bb77 10-May-2016 Wang He <xw897002528@gmail.com> st/nine: Minor change to support musl libc

A few changes to support musl libc as well.

In particular fpu_control.h is glibc specific.
fenv.h doesn't enable to do exactly what we want either,
so instead use assembly directly.

Signed-off-by: Wang He <xw897002528@gmail.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
9cae3cdc890b2aa261d635667a5850929a0913f5 03-Apr-2016 Axel Davy <axel.davy@ens.fr> st/nine: Fix usage of rasterizer multisample bit.

pipe_rasterizer multisample bit should be enabled only when really
wanting to do multisampling, thus we should disable when not having
msaa render target.
This fixes some depth calculation precision issues on radeon.
Also disable it when depth and stencil tests are disabled, since in that
case multisampling is same as not multisampled.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
f297e7de0f3fc0bd4fec483d4bf778a9678992c7 03-Apr-2016 Axel Davy <axel.davy@ens.fr> st/nine: ATOC has effect only with ALPHATESTENABLE

ATOC extension does something only when alpha test is enabled.
Use a second bit to encode the difference with ATIATOC.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
c673c46ccf1ed78eaf68011f32bfb1696f765966 10-Feb-2016 Patrick Rudolph <siro@das-labor.org> st/nine: Use new function to query for resolution mismatch

Any third party app might change the current screen resolution.
Poll for resolution mismatch to force a device reset.
Required for non ex devices only.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
c4e85202cbdde001d0ca0e607797a9b7a1d772c4 07-Mar-2016 Axel Davy <axel.davy@ens.fr> st/nine: Format conversion for volumes in UpdateTexture

We were doing the conversion for surfaces, but not yet
volumes. Now that volumes can do conversion, use it.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
c4af3099731f48eb348b1b9a4919bbff14a459ca 05-Mar-2016 Axel Davy <axel.davy@ens.fr> st/nine: Fix header of GetIndices

There is a mistake in the online documentation,
the function only has 2 arguments.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
7fc8391d235e96b66abaa9944241a6935b256023 09-Feb-2016 Axel Davy <axel.davy@ens.fr> st/nine: Add ColorFill test for compressed textures

ColorFill should contain alignment checks
for compressed textures.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
217d969746e3c1473df4cc1e6e6ec1eb0d84a3d4 09-Feb-2016 Axel Davy <axel.davy@ens.fr> st/nine: Rework UpdateTexture Checks

Our code did match the user documentation of the function
quite well (except for format check).

However the DDI documentation and wine tests show that
documentation was not correct. Thus adapt our code to
fit the best possible to the -real- spec.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
4c77673de75049a3f1d707efce8ee30df03634c8 09-Feb-2016 Axel Davy <axel.davy@ens.fr> st/nine: Use bufs instead of Flags for Clear

bufs doesn't contain depthstencil if
there is z buffer mismatch. This is the behaviour
we want.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
47b390fe45e5e6f982c60b58985892438959cd8e 17-May-2016 Jan Vesely <jano.vesely@gmail.com> Treewide: Remove Elements() macro

Signed-off-by: Jan Vesely <jano.vesely@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
fb523cb6ad3ffef22ab4b9cce9e53859c17c5739 16-Apr-2016 Marek Olšák <marek.olsak@amd.com> gallium: merge PIPE_SWIZZLE_* and UTIL_FORMAT_SWIZZLE_*

Use PIPE_SWIZZLE_* everywhere.
Use X/Y/Z/W/0/1 instead of RED, GREEN, BLUE, ALPHA, ZERO, ONE.
The new enum is called pipe_swizzle.

Acked-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
cc0114f30b587a10766ec212afb3ad356099ef23 06-Feb-2016 Axel Davy <axel.davy@ens.fr> st/nine: Implement Managed vertex/index buffers

We were implementing those the same way than
the default pool, which is sub-optimal.

The buffer is supposed to return pointer to
a ram copy when user locks, and automatically
update the vram copy when needed.

v2: Rename NineBuffer9_Validate to NineBuffer9_Upload
Rename validate_buffers to update_managed_buffers
Initialize NineBuffer9 managed fields after the resource
is allocated. In case of allocation failure, when the dtor
is executed, This->base.pool is then rightfully set.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
77d6c11f8fa87ba1070028cb036807dc8a115633 07-Feb-2016 Axel Davy <axel.davy@ens.fr> st/nine: Align stack for entry points

For 32 bits, incoming stack is 4-byte aligned.
We need to realign the stack to 16-byte at some point,
or there are issues later (crash with SSE, llvm, etc).

This patch chooses to align the stack at API entry points.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
6cba347530433c61b218d2b897fb57f33835b37b 26-Jan-2016 Axel Davy <axel.davy@ens.fr> st/nine: SCRATCH does support all formats

Add new argument to d3d9_to_pipe_format_checked to
be able to bypass format support checks. This argument
is set to TRUE when the requested Pool is SCRATCH.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
dbcb4f46ad792ed4f0f3cc64449ccd6288a6f386 26-Jan-2016 Axel Davy <axel.davy@ens.fr> st/nine: Add format checks to create_zs_or_rt_surface

Returns INVALIDCALL when trying to create a surface
of unsupported format.

In practice, apps are supposed to check for format
support before trying to create a render target
of that format. However some bad behaving apps
could just try to create the surface and deduce if
it failed that it wasn't supported.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
bb65b189f34fb497b69e1b267cb355a6829d4b6b 26-Jan-2016 Axel Davy <axel.davy@ens.fr> st/nine: Move texture creation checks

We were having checks at both Create*Texture functions
and in ctors.

Move all Create*Texture checks to ctors.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
6b12fe77ea7bbd8f159c0902a7c1d4ab22d4629c 26-Jan-2016 Axel Davy <axel.davy@ens.fr> st/nine: Disallow non-argb8888 cursors

Only argb8888 cursors are allowed.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
ee31f0fed4bd97e3c9a0c4547ad908d55607f532 04-Jan-2016 Axel Davy <axel.davy@ens.fr> st/nine: Use fast clears more often for MRTs

This enables to use fast clears in the following
case:

pixel shader renders to 1 RT
4 RT bound
clear
new pixel shader bound that renders to 4 RTs

Previously the fast clear path wouldn't be hit,
because when trying the fast clear path,
the framebuffer state would be configured for 1 RT,
instead of 4.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
56b4222b299ff08da4eda63fcc608dc77fc585f1 16-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Add Render state validation layer

Testing Win behaviour seems to show wrong states
are accepted, but then depending on the states
some specific 'good' behaviours happen.

This adds some validation to catch invalid
states and have these 'good' behaviours
when it happens.

Also reorders SetRenderState to match the expected
optimisation:
(Value == previous Value) => return immediately,
which affects D3D9 hacks too.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
1a893ac8869a0be08582f3b224d1a92ff37fc400 30-Sep-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Implement NineDevice9_GetAvailableTextureMem

Implement a device private memory counter similar to Win 7.

Only textures and surfaces increment vidmem and may return
ERR_OUTOFVIDEOMEMORY. Vertexbuffers and indexbuffers creation always
succeedes, even when out of video memory.

Fixes "Vampire: The Masquerade - Bloodlines" allocating resources until crash.
Fixes "Age of Conan" allocating resources until crash.
Fixes failing WINE test device.c test_vidmem_accounting().

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
a961ec335d5f38c07181e4956341c9b4cca59fa4 20-Jun-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Handle Window Occlusion

Apps can know if the window is occluded by checking for
specific error messages. The behaviour is different
for Device9 and Device9Ex.

This allow games to release the mouse and stop rendering
until the focus is restored.

In case of multiple swapchain we do care only of the device one.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
e59908e57f4f6d63bbe079fde4e0180167e709c1 23-Aug-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Store minor version num

To keep compatible with older ID3DPresent interfaces (used to talk
with Wine), store the minor version num accessible to all
statetracker functions (in the NineDevice9 structure).

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
f481b9b952552da48af83e9fd041d73ba47b73f7 22-Oct-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Fix remaining swapchain tests

Return D3DERR_INVALIDCALL instead of E_POINTER.
On error set ppBackBuffer to NULL.

Multiple swapchains can only be created in windowed mode as
windowed swapchain.

Set backbuffer to NULL in NineDevice9_GetBackBuffer, but not
in NineSwapChain9_GetBackBuffer.

This fixes all WINE's device.c test_swapchain() tests.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
cbbd3c65cc6f9a9850b945bc3d56c1860836e26c 11-Nov-2015 Axel Davy <axel.davy@ens.fr> st/nine: Fix crash NineDevice9_CreateAdditionalSwapChain

When no window is specified, we should revert to the focus window.

This deserves more tests however (what if the device swapchain is
already using the focus window ?)

Fixes crash for FFXIV

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
996f76bd8a6444970e57d646ad5af94f200bec00 22-Oct-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Fix possible crash on error

In case swapchain creation fails This->swapchains[i] might be NULL and
causes a crash.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
924038c08f03e8f55522951a6ae27d9fab42e3a1 23-Sep-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Fix clear for multisample mismatch depth-stencil

Tests show in case of multisample mismatch between the depth-stencil
buffer and the render target, then it is not cleared.

Fixes failing WINE test visual.c test_multisample_mismatch().

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b142f616214c810505c63c6a22f044041dab37a7 05-Dec-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Allow ColorFill on D3DFMT_NULL surfaces

Report success instead of failing as there's no resource for those surfaces.
Fixes a crash in Crysis: Warhead.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
04e22a04a61e0388ccc5d8c65f79bc3cfa5ac3bc 12-Dec-2015 Axel Davy <axel.davy@ens.fr> st/nine: Introduce STREAMFREQ state

Previous vertex elements code update
was protected by
'if ((group & (NINE_STATE_VDECL | NINE_STATE_VS)) ||
state->changed.stream_freq & ~1)'
itself protected by
'if (group & (NINE_STATE_COMMON | NINE_STATE_VS))'

If no state is changed except the stream frequency,
no update would happen.

This patch solves the problem by adding a new
NINE_STATE_STREAMFREQ state.
Another way would be to add state->changed.stream_freq & ~1
check to the main test.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
15ce2778fb7a530ab000f453b2a18c1edbaee59c 12-Dec-2015 Axel Davy <axel.davy@ens.fr> st/nine: Catch redundant SetStreamSourceFreq calls

Some apps do redundant SetStreamSourceFreq calls.
Catch them to improve performance.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
ea3f504f7caf9900f71a52f1711baf8a50fec490 15-Nov-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Squash indexbuffer9 and vertexbuffer9

The indexbuffer9 codebase was lagging behind the one of vertexbuffer9.

Add buffer9 as common code base for indexbuffer9 and vertexbuffer9.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b63c144d1e12c0052fe5e697d9fa031eb1439bbe 30-Jan-2016 Axel Davy <axel.davy@ens.fr> st/nine: Use pipe_resource_reference for vtxbuf

This seems cleaner to actually reference the resources for vtxbuf,
rather than relying on the fact the bound d3d streams do.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b5876e47623a20c9a123d33927f97bada7c95f3c 07-Nov-2015 Axel Davy <axel.davy@ens.fr> st/nine: Use ff vertex shader when position_t is used

When an application sets a vertex shader, we are supposed
to use it, and when no vertex shader are set, we are supposed
to revert to fixed function vertex shader.

It seems there is an exception: when the vertex declaration
has a position_t index, we should revert to fixed function
vertex shader.

Up to know we were checking if device->state.vs is set
to know whether to use programmable shader or not.

With this commit we determine whether we use programmable shader
or not when vertex shader/declaration are set, but
stateblocks do complicate things a bit.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b39fd5b1daa8baac3d792c0032d7a12f6eaf0392 24-Aug-2015 Axel Davy <axel.davy@ens.fr> st/nine: Change StretchRect check order

Textures in SYSTEMMEM don't have resources attached.
Instead of returning an error for them, StretchRect
was crashing.
This changes the check order to fix that case.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
ecb2da1559bcb9a9eec7ac224c8ff47b026c95ff 19-Dec-2015 Marek Olšák <marek.olsak@amd.com> u_upload_mgr: allow specifying PIPE_USAGE_* for the upload buffer

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
37d0aea772a39f9ae7fe3d791e23c1be03ccf9de 19-Dec-2015 Marek Olšák <marek.olsak@amd.com> u_upload_mgr: remove alignment parameter from u_upload_create

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
e0f932846c91e6eca6495c86b72e87af64dfefb5 19-Dec-2015 Marek Olšák <marek.olsak@amd.com> u_upload_mgr: pass alignment to u_upload_data manually

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
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/state_trackers/nine/device9.c
20746c2e7d8d065445bbb30f0d1383c30459a784 20-Aug-2015 Krzysztof Sobiecki <sobkas@gmail.com> st/nine: Always use user constant buffers

We had several reports of users hitting bugs
with the other path to upload constants,
and switching to the user constant buffer
path solves the bugs.

User constant buffers are expected to be slower
for Nvidia cards, so ideally this patch should be
reverted when the path is fixed.

Reviewed-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Krzysztof Sobiecki <sobkas@gmail.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
719f124620d3c9b4d6ce14db3dbfc7af05626e5b 09-Aug-2015 Axel Davy <axel.davy@ens.fr> st/nine: Catch setting the same shader

This is quite rare that an app does set again
the same shaders, but it isn't an expensive check
either.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
eba3c390a3c6221781ca4d9c344c6f448e177b6c 09-Aug-2015 Axel Davy <axel.davy@ens.fr> st/nine: Avoid Constant upload when there is no change

It is very common for d3d9 apps to set again the constants
they need before every draw call, even if nothing changed.

Since we are mostly gpu bound, it is better to check
for change, and upload constants again (and thus use
gpu bandwith) only if the constants changed.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
f15ff98e2c53f6ce62443b24e3a9cf79c60ddff7 14-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Use CSO cache for sampler views

The CSO cache unbinds views that are not needed anymore,
which we don't do.
It checks for change before committing the views.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
98f786b270b3e55a1e8a7bdc8182e436702748a2 14-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Calculate dummy sampler state only once

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
4a00e4cdc970582df338ebf880168a4ef4ec05d9 14-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Programmable ps D3DTTSS_PROJECTED support

The implementation used Wine tests for conformance

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
87ec6b56b28c25d4184422c40f576c24ebe7cd75 24-Mar-2015 Axel Davy <axel.davy@ens.fr> st/nine: Rework ff constant buffers

Always use a user constant buffer for ff.
It means we have to:
. commit the user constant buffer for ff when we use it
. commit back the non-ff constant buffer when we stop using it

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
993e68fa6a431a7c7c451c738e07d02a84ea40e4 24-Mar-2015 Axel Davy <axel.davy@ens.fr> st/nine: Rework constant buffer state handling

We have two paths:
. One that uses a fixed constant buffer, and updates it when needed
. One that uses a user constant buffer, and uploads it when needed.

This patch separates the preparation of the constant buffer
and the commit.

It also removes NineDevice9_RestoreNonCSOState, which was
used to restore all states. Instead the commit of the constant
buffer is moved to nine_state, and the other field settings
moved to other functions where more appropriate.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b06f3ee6f4ebf6ad403e7ee917c54bef85899c19 03-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Improve fallback when driver doesn't support user buffers.

For now the path updated is only used by Amd drivers, but a later
patch will make it used by all drivers. Some drivers like llvmpipe
doesn't support the uploading of constants from user buffers, so improve
the path to work for all drivers

Inspired from the gl state tracker.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
a7ce3cd0d3a9f3580d02afe5a4fc6588d20aba6b 15-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: Avoid useless updates in SetSamplerState

Check for redundant settings

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: David Heidelberg <david@ixit.cz>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
99537f68db829bd4708eb8e1b1ef0948f3dd3c66 15-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: Remove group_mask argument from nine_update_state

It was only used to discriminate update framebuffer vs update
everything. Instead use two functions.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
360ba5b74858b3854784e3d4678c242140088395 30-Jan-2015 Tiziano Bacocco <tizbac2@gmail.com> st/nine: Implement TEXBEM,TEXBEML and BEM

Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
620f3e9bfe4bc56c65638a49b1c4f1d5cbef057d 17-May-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Fix use of uninitialized values

Set all values to 0 after allocation. Found using valgrind.

Reviewed-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
bc6c80e54714e939e4bc116374f410680e7a3632 19-May-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Return correct error codes in NineDevice9_Reset

Allow more than two errors, and return D3DERR_INVALIDCALL
for failed display resolution changes.

Reviewed-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
d0daec1797a22b51f7a3f5aa585ad6826af06cd3 14-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Impose restrictions on DXTN texture sizes

This is the expected behaviour.

Fixes wine tests.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: David Heidelberg <david@ixit.cz>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
3bcab9ba75b24bd6cabcd9d31165ad4c1fe9d75c 16-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Fix FillColor Flag check

IT is better check if the surface was created with RT flag,
instead of checking capability (llvmpipe was complaining)

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
ef8ade6f09410b734fb84861a8bce23dc9e49afc 08-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Fix StretchRect checks

Fixes Wine tests

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
c57f777b095fbbb6273fccfe7ea2d1ced5fbc0a4 08-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Implement EvictManagedResources

EvictManagedResources is used by apps to free
the gpu memory of MANAGED textures (which have
a cpu memory backing)

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
4c126f0b5837227d93e481fb04e43c96b3316413 07-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Track managed textures

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
41f54040e20d40e5e2ecbf73c09dcb4a154c4577 05-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Only update dirty rect for UpdateTexture

UpdateTexture is supposed to optimise by uploading only for the
dirty region of the source (d3d9 doc, wine tests).
This patch adds the behaviour for surfaces, but not entirely for
volumes.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b75f830166eaf294e43746f1bf5630f7f2dcf30f 03-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Simplify NineVolume9_CopyVolume

We had only one usage for this function.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
bc42c29013209f80182a634e32c702edb2327b22 03-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Split NineSurface9_CopySurface

NineSurface9_CopySurface was supporting more cases than what
we needed, and doing checks that were innapropriate for
some NineSurface9_CopySurface use cases.

This patch splits it into two for the two use cases, and moves
the checks to the caller.

This patch also adds a few checks to NineDevice9_UpdateSurface

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
23da32a9234065e0a16e91ef2f54f1e1d9bf52e5 31-May-2014 Christoph Bumiller <e0425955@student.tuwien.ac.at> gallium: Add blending to pipe blit

This type of blending is used for gallium nine software cursor

Signed-off-by: David Heidelberg <david@ixit.cz>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
a30684712ee9a3ef6738de8c357134a01a24924c 21-Mar-2015 Axel Davy <axel.davy@ens.fr> st/nine: Revert to sw cursor in case of failure to set hw cursor

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: David Heidelberg <david@ixit.cz>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
78b304e2f9f9ad9b97ac8665a44af09567159800 22-Mar-2015 Axel Davy <axel.davy@ens.fr> st/nine: Force hw cursor for Windowed mode

According to the spec, Windowed mode must
have hw cursor

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: David Heidelberg <david@ixit.cz>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
1b20eaff67fba9ac6310511c79d6de8851c39145 21-Mar-2015 Axel Davy <axel.davy@ens.fr> st/nine: Hide hardware cursor when we don't use it

We have either hardware cursor or software cursor.
When we use software cursor, we should hide the hardware
cursor.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: David Heidelberg <david@ixit.cz>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
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/state_trackers/nine/device9.c
6f57e014365563c0dcc32451401a76212abf0a54 20-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: Some D3DUSAGE_AUTOGENMIPMAP fixes

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
e558ce98f2b01e11ff79c29efaea2877121ae04a 19-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: Encapsulate variables for MANAGED resource

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
87868d38328a3875881fe1ca6861eb7816a5b0cf 22-Mar-2015 Axel Davy <axel.davy@ens.fr> st/nine: Add debug warning when application uses sw processing

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
31bb4cd5c6e3d696b2f240c270a257abfcd8848f 25-Jan-2015 Tiziano Bacocco <tizbac2@gmail.com> st/nine: Change x86 FPU Control word on device creation

As on wined3d and windows, when D3DCREATE_FPU_PRESERVE is not
specified, change the fpu control word to all exceptions masked,
single precision, round to nearest.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
e7b1a1e57cdfd8d019ba0ff4cdc2c7239066869f 20-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: Do not advertise D3DDEVCAPS_TEXTURESYSTEMMEMORY

No major vendor advertises it, and we weren't supporting it.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
6e825b69bd4fb163cba0a565616ed966fb1a8929 23-Apr-2015 Axel Davy <axel.davy@ens.fr> st/nine: Workaround barycentrics issue on some cards

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
f3fd06e94d29172a5de68594d3a6433f91a41362 16-Feb-2015 Xavier Bouchoux <xavierb@gmail.com> st/nine: Clear struct pipe_blit_info before use.

render_condition_enable was uninitialized.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Xavier Bouchoux <xavierb@gmail.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
77a38d2088678fa756aca61592777f12e245ac0c 20-Feb-2015 Patrick Rudolph <siro@das-labor.org> st/nine: NineDevice9_Clear skip fastpath for bigger depth-buffers

This adds an additional check to make sure the bound depth-buffer doesn't
exceed the rendertarget size when clearing depth and color buffer at once.
D3D9 clears only a rectangle with the same dimensions as the viewport, leaving
other parts of the depth-buffer intact.

This fixes failing WINE test visual.c:depth_buffer_test()

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
17abefa12be1d5e7d436bfbb082c3eba19adf26c 30-Jan-2015 Tiziano Bacocco <tizbac2@gmail.com> st/nine: Implement dummy vbo behaviour when vs is missing inputs

Use a dummy vertex buffer object when vs inputs have no corresponding
entries in the vertex declaration. This dummy buffer will give to the
shader float4(0,0,0,0).

This fixes several artifacts on some games.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
2c54d154e86cd93caed527824166f468a6c24c70 24-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Dummy sampler should have a=1

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
9ac74e604bbce3b24565a9c277dc8f8fe9826e97 23-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Fix update_framebuffer binding cbufs the pixel shader wouldn't render to

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
ee606b47800021d74732bf5155a1d7d68822fa02 23-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Clear: better behave if rt_mask is different to the one of the framebuffer bound

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
a1d369e804623663e78002c0101d668bd3d42762 21-Jan-2015 Tiziano Bacocco <tizbac2@gmail.com> st/nine: Fix enabled lights in stateblocks

Reviewed-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
1543defc5ea8a17cf5558bb6468031f9c29b9a15 19-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Fix depth stencil formats bindings flags.

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
63221c6f0944bf82eee07a54c42a473890ee655c 16-Jan-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Fix bufferoverflow in {Get|Set}PixelShaderConstantF

Previous code wasn't checking against the correct limit: 224
for sm3 hardware, but 256.

Fixes wine test test_pixel_shader_constant()

Reviewed-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
2dcad120a04ac42987756d244125bb814e5ca5f5 12-Jan-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Set [out] argument to NULL for some functions

Wine tests, and probably some apps, check for errors by checking for NULL
instead of error codes.
Fixes wine test test_surface_blocks()

Reviewed-by: Axel davy <axel.davy@ens.fr>
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
75676886e4dd43c1e9ab85891d1ab6b2bf1fad92 14-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Implement ATOC hack

ATOC is an hack for Alpha to coverage
that is supported by NV and Intel.

You need to check the support for it
with CheckDeviceFormat.

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
0a4aaf1d411360c2a557fb016ffcb41f2701b9a2 14-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Implement AMD alpha to coverage

This D3D hack is supposed to be supported
by all AMD SM2+ cards. Apps use it without
checking if they are on AMD.

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
25f1e5584ceafe5a3f07309ac52885f10b16e86e 08-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: NineDevice9_SetClipPlane: pPlane must be non-NULL

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
27e438e35630819914bd42c5aa27fe6e53ebe491 10-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Refactor format d3d9 to pipe conversion

Move the checks of whether the format is supported
into a common place.
The advantage is that allows to handle when a d3d9
format can be mapped to several formats, and that
cards don't support all of them.

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
42ac71a4e20c04a2cd7cd441274e5c527012a03c 07-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Implement RESZ hack

This D3D hack allows to resolve a multisampled
depth buffer into a single sampled one.

Note that the implementation is slightly incorrect.
When querying the content of D3DRS_POINTSIZE,
it should return the resz code if it has been set.
This behaviour will be implemented when state changes
will be reworked. For now the current behaviour is ok,
since apps use the D3DCREATE_PUREDEVICE flag when creating
the device, which means they won't read states and in exchange
get better performance.

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
65ce2b2848eafe0d51375edca15fbb91956668e4 07-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Commit sampler views again if srgb state changed.

This fixes a wine test and some minor visual issues on some games.

The patch is not optimal, there is probably a more efficient way to
fix this issue, but the code there already has some innefficiencies.
There is plans to rewrite that part of the code to make it more
efficient.

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
65ca8e4b3d6903ef086b81a5bf94688898290c4f 03-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Explicit nine requirements

This patch raises nine requirements and disables nine for old
hw that don't match them.

Currently for these cards only games that don't have tight requirements
would work well with nine. However nine is missing several checks
regarding these limitations.
To make code and future patches less heavy, dropping support for these old
card seems a good solution.

That makes r500 the only dx9 generation cards supported by nine. It seems the one
with the less limitations for nine. Still not everything is ok, and we'll have
for example to implement shader recompilation for these cards to include
integer and boolean constants in the shader.
Eventually when this is done, we can reintroduce support for older cards.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
f8a74410f16b8a01da329975d10b631cb2a928e5 03-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Allocate vs constbuf buffer for indirect addressing once.

When the shader does indirect addressing on the constants,
we allocate a temporary constant buffer to which we copy
the constants from the app given user constants and
the constants filled in the shader.

This patch makes this buffer be allocated once.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
e0f75044c8d2793b6a5bd9832c57c5d199822486 02-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Allocate the correct size for the user constant buffer

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b9cbea9dbc75630061236c9858cbc0e2b5b18974 02-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Add variables containing the size of the constant buffers

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
d08c7b0b880a4d5afdeac4dd5b26e2ad1c10e9da 02-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Convert integer constants to floats before storing them when cards don't support integers

The shader code is already behaving as if they are floats when the the card doesn't support integers

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Axel Davy <axel.davy@ens.fr>

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
d9d18fe39f7b4f628af23b78576e961fd452921f 02-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Rework of boolean constants

Convert them to shader booleans at earlier stage.
Previous code is fine, but later patch will make
integers being converted at earlier stage, so do
the same for booleans

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
4fb1d00f4e4b2062b957b078931197b4316dcee8 19-Dec-2014 David Heidelberg <david@ixit.cz> st/nine: fix DBG typo (trivial)

Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
0a60ebe30c186daf1fbe569e07bfe2e75f765824 07-Dec-2014 Marek Olšák <marek.olsak@amd.com> cso: put cso_release_all into cso_destroy_context

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
b0302a95ece423f18a710dea391686e1a6557716 24-Nov-2014 Axel Davy <axel.davy@ens.fr> st/nine: Queries: Use gallium caps to get if queries are supported. (v2)

Some queries need the driver to advertise a cap to be supported.
For example r300 doesn't support them.

v2 (David): check also for PIPE_CAP_QUERY_PIPELINE_STATISTICS, fix wine
tests on r300g

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
3e48791aea6cb1e21c951360e8d2cbbb27add251 24-Nov-2014 Axel Davy <axel.davy@ens.fr> st/nine: Queries: remove dummy queries

Applications are supposed to call CreateQuery with a NULL
ppQuery to know if the query is supported. We supported that.

However when ppQuery was not NULL, we were accepting to create the
query and were creating a dummy query even when the query is not
supported.

Wine has different behaviour. This patch drops the dummy queries
support and matches wine behaviour.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
a99f31bced1ac5dfea9942bb37301a21c9a73189 25-Nov-2014 David Heidelberg <david@ixit.cz> st/nine: return GetAvailableTextureMem in bytes as expected (v2)

PIPE_CAP_VIDEO_MEMORY returns the amount of video memory in megabytes,
so need to converted it to bytes.

Fixed Warframe memory detection.

v2: also prepare for cards with more than 4GB memory

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
Tested-by: Yaroslav Andrusyak <pontostroy@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: David Heidelberg <david@ixit.cz>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
4eea2496bcb573d730f84f34fb76db3e1ec2e733 25-Nov-2014 Axel Davy <axel.davy@ens.fr> st/nine: Add pool check to SetTexture (v2)

D3DPOOL_SCRATCH is disallowed according to spec.
D3DPOOL_SYSTEMMEM should be allowed but we don't handle it right for now.

v2: Fixes segfault in SetTexture when unsetting the texture

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
Tested-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
7f74b9d47928979fdad445db1e0f249688c62991 25-Nov-2014 Stanislaw Halik <sthalik@misaki.pl> st/nine: call DBG() at more external entry points

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Stanislaw Halik <sthalik@misaki.pl>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
104b5a81933b7a2f4fa24302a1d972ad3dd0dec6 25-Nov-2014 Axel Davy <axel.davy@ens.fr> st/nine: clean device9ex.

Pass ex specific parameters as arguments to device9 ctor instead
of passing them by filling the structure.

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c
fdd96578ef2dfe9c4ad5aab5858036298d444a64 04-Aug-2011 Joakim Sindholt <opensource@zhasha.com> nine: Add state tracker nine for Direct3D9 (v3)

Work of Joakim Sindholt (zhasha) and Christoph Bumiller (chrisbmr).
DRI3 port done by Axel Davy (mannerov).

v2: - nine_debug.c: klass extended from 32 chars to 96 (for sure) by glennk
- Nine improvements by Axel Davy (which also fixed some wine tests)
- by Emil Velikov:
- convert to static/shared drivers
- Sort and cleanup the includes
- Use AM_CPPFLAGS for the defines
- Add the linker garbage collector
- Restrict the exported symbols (think llvm)

v3: - small nine fixes
- build system improvements by Emil Velikov

v4: [Emil Velikov]
- Do no link against libudev. No longer needed.

Acked-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: David Heidelberg <david@ixit.cz>
/external/mesa3d/src/gallium/state_trackers/nine/device9.c