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/nine_state.h
|
325324c749c2331162e7889efc335bfcfcd27005 |
|
04-Dec-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Idem for nine_context_gen_mipmap Will enable to use the bind count as an information for whether the surface/volume is used in the worker thread. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
7089d88199d607d8a135a9605f14ec6393134205 |
|
04-Dec-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Bind destination for surface/volume uploads Will enable to use the bind count as an information for whether the surface/volume is used in the worker thread. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
c873a2bd0c5a9fcb6e83f23e4494b5f53d71288b |
|
03-Dec-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Implement nine_context_box_upload This function will be used for surface and volume uploads Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
8d3e0f2187d146e7b34abe1f852320ea5e14732e |
|
03-Dec-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Implement nine_context_gen_mipmap To offload mipmap generation as well. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
a78b5f437865fc976154d226eb87b67ef2f098d2 |
|
01-Dec-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Implement nine_context_range_upload Will be used to upload buffers. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
9c4b4e8809f1e6e076c01ba7b11dc1636c2a26b4 |
|
13-Nov-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Avoid flushing the queue for queries GetData Use the newly introduced counter to know when we don't need synchronization. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
7a7eeefd7dd858682244e43eb5cb0d2c84fb0b07 |
|
12-Nov-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Add nine_context_get_pipe_acquire/release See commit for description. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
7ebdbb573b6d784068d92993d1f5f81986cfe279 |
|
31-Oct-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Do not use NineBaseTexture9 in nine_context Some fields are subject to modification outside of nine_context (SetLod, etc). Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
66ad5b1592bb050269216bc64aa7916056cca466 |
|
28-Oct-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Rename pipe to pipe_data in nine_context This patch it to avoid name conflict when device->pipe will be moved to nine_context. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
fc49f7df8920df77dfbb0163a11486494f0c7883 |
|
28-Oct-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Rename cso in nine_context to cso_shader This patch it to avoid name conflict when device->cso is moved to nine_context. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
6a7541a5aa5ce496cbef4d1b15dc3caeb512606c |
|
27-Oct-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Move query9 pipe calls to nine_context This will enable to use threading for them. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
aea7a019ef67a4a5cb83f97aceafac098275171c |
|
16-Oct-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Move stream_usage_mask 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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
9be94d5c1ac42bd39b9774db9de507c947ceb8f2 |
|
19-Oct-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Remove unused ff.changed.group It was unused. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
09edc0555f91d76001b1ffc0e656b0614abb809a |
|
24-Sep-2016 |
Patrick Rudolph <siro@das-labor.org> |
st/nine: Set CLAMP_TO_EDGE on cubetextures Wine tests show that cubetextures always use PIPE_TEX_WRAP_CLAMP_TO_EDGE regardless of set sampler states. Fixes failing d3d9 wine test test_cube_wrap. Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
89344a80fc4479fa3ac466cb17706cf12070afe1 |
|
06-Mar-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Fix Pointsize in programmable shader Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
1a747094ed0ab32541936dd18931f382901affe6 |
|
25-Jul-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Fix the number of texture stages The number of texture stages is 8. 'tex_stage' array was too big, and thus the checks with 'Elements(state->ff.tex_stage)' were passing, causing some invalid API calls to pass, and crash because of out of bounds write since bumpmap_vars was just the correct size. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
bae2c7c15444b02a4820e3182c345545bd348561 |
|
13-Aug-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Remove NINED3DRS_ZBIASSCALE It wasn't giving the expected result. This fixes some object being transparents in games like FEAR. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
8f39ffc11e8b6fdf7c940f9c1853a362a886977a |
|
12-May-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Finish Fog implementation Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
69de5d626f2e67e74e4de94ce13f7ac50fa52161 |
|
11-May-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Rework shader states Separate state setting and commit Changes how the shader key is computed Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
a3f0d21da9a33e58a4be41f65f77eebe1dd85841 |
|
24-Mar-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Rework blend states Separate state preparation and state commit Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
5a2302b5ece2edf944b474eeb19ad7fc17906e7d |
|
24-Mar-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Rework rasterizer states Separate state preparation and state commit Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
71616d0c501077a04deb4f2a3cc115b50634763d |
|
15-May-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Reorder DSA state settings Separate state preparation and state commit Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
1b645df2f309833cca5dbeaa2deceeda36a7426c |
|
19-Apr-2015 |
Patrick Rudolph <siro@das-labor.org> |
st/nine: Account POINTSIZE_MIN and POINTSIZE_MAX for point size When using D3DRS_POINTSIZE make sure the value is at least D3DRS_POINTSIZE_MIN but not greater than D3DRS_POINTSIZE_MAX. Fixes some Wine tests. Reviewed-by: Axel Davy <axel.davy@ens.fr> Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
7a30668ad665f3315106e1a959c6186dea79a24a |
|
28-Apr-2015 |
Jason Ekstrand <jason.ekstrand@intel.com> |
util: Move gallium's linked list to util The linked list in gallium is pretty much the kernel list and we would like to have a C-based linked list for all of mesa. Let's not duplicate and just steal the gallium one. Acked-by: Connor Abbott <cwabbott0@gmail.com> Reviewed-by: Rob Clark <robclark@freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
1f3b7d40392c2a9e0b80c56e199c4c9ffd0c88a0 |
|
07-Jan-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Check for the correct number of constants. This removes unneeded hack for Anno 1404. This app is not checking the number of supporting constants, and rely on the shader compilation to fail if it puts too many constants. This patch also checks for the correct number of constants for ps. Note that we don't check the official limitations for old vs and ps versions. The restrictions were fixed, unlike for the number of vertex shader constants for later versions. Likely apps use the correct number, and it's not a problem for us if it wants use more. Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com> Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
a249c7a161cdbb995b17195f1af88ed14f69f8b6 |
|
07-Jan-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Refactor how user constbufs sizes are calculated Count explicitly the slots for float, int and bool constants, and deduce the constbuf size in nine_shader. Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com> Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|
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/nine_state.h
|