History log of /external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/basetexture9.c
cadc7a5d9459b7a47d934cf0055a1a06d1f774d4 03-Dec-2016 Axel Davy <axel.davy@ens.fr> st/nine: Use nine_context_gen_mipmap in BaseTexture9

Generate mipmaps in the worker thread.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
31262bbce085c69ef7a654528f509cb37415b41f 12-Nov-2016 Axel Davy <axel.davy@ens.fr> st/nine: use get_pipe_acquire/release when possible

Use the acquire/release semantic when we don't need
to wait for any pending command.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
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/basetexture9.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/basetexture9.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/basetexture9.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/basetexture9.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/basetexture9.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/basetexture9.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/basetexture9.c
2a4d1509c8de5973871a69aa64b4f92d73351e0e 24-Sep-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Fix use of uninitialized memory

The values of box.z and box.depth weren't set and lead to 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/basetexture9.c
d0a4374e1a04ba16f36ea91fdb390633fe941978 13-May-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Fail on D3DUSAGE_DYNAMIC for D3DPOOL_SCRATCH textures

Texture with pool D3DPOOL_SCRATCH and D3DPOOL_MANAGED
cannot be used with flag D3DUSAGE_DYNAMIC.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
bb1c2c2aa3b15ee1fdf8b8085cc1ca9f8ef04ed9 12-May-2015 Patrick Rudolph <siro@das-labor.org> st/nine: Fix GenerateMipSubLevels potential crash

For the case of D3DPOOL_MANAGED textures, This->base.resource can be NULL
at the start of the function. In This case, UploadSelf will take care
of the defining. Assign resource after the UploadSelf call
to prevent NULL pointer exception.

Reviewed-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.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/basetexture9.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/basetexture9.c
e4f69bc394e1b92e3d1dabf320258425c2876091 03-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: SetAutoGenFilterType should regenerate the sublevels

It should regenerate the sublevels according to the spec

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
3f36ad732c7fbe8fd38aa852c3699101fdd5041d 05-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Simplify Volume9 dirty region tracking

Similar to what was done for Surface9, track the dirty region
only in VolumeTexture9.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
74de849bd44ee4a99d36d4d0c43d2a82a6ec07c2 16-May-2015 Axel Davy <axel.davy@ens.fr> st/nine: Fix Swizzle for ATI2 format

We had red and green in the wrong channels
for the ATI2 format (RGTC2).

Found thanks to 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/basetexture9.c
231be57ee2515428e3de31f514effe9cf06bcda0 20-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: Remove Managed texture hack.

Previously binding an unitialized managed texture
was causing a crash, and a workaround was added to
prevent the crash.

This patch removes this workaround and instead set the initial
state of managed textures as dirty, so that when the texture is bound
for the first time, it is always initialized.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
58d295d41e30434c570248eeee73af2006b79eea 20-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: Enforce LOD 0 for D3DUSAGE_AUTOGENMIPMAP

For D3DUSAGE_AUTOGENMIPMAP textures, applications can only
lock/copy from/get surface descriptor for/etc the first level.
Thus it makes sense to restrict the LOD to 0, and use only the first
level to generate the sublevels.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
24eca6a30dea4cde0b0528b85e83d45a6430762e 19-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: util_gen_mipmap doesn't need we reset states.

util_gen_mipmap uses pipe->blit, and thus doesn't need
we restore all states after using it.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
ec411d9b74f9aca941b27fafeae1416df0f9eaec 19-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: Fix NineBaseTexture9_PreLoad

It wasn't uploading the texture when the lod
had changed.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
b45fa97a22d091a5c9a3d9c9432ff880e79231d6 19-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: Rewrite Managed texture uploads

That part of the code was quite obscure.
This new implementation tries to make it clearer
by separating the differents parts, and commenting more.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
520e36f89cb9048258d9c1ca42de68564ad876a9 19-Feb-2015 Axel Davy <axel.davy@ens.fr> st/nine: Simplify Surface9 Managed resources implementation

Remove the Surface9 code for dirty rects, used only for Managed
resources. Instead convey the information to the parent texture.

According to documentation, this seems to be the expected behaviour,
and if documentation is wrong there, that's not a problem since it can
only leads to more texture updates in corner cases.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.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/basetexture9.c
bf0adf248f3562e6fb205b31d14f650ab0a14c8e 14-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: Add D3DFMT_DF16 support

This depth buffer format, like D3DFMT_INTZ, can be used to read
the depth buffer values when bound to a shader.

Some apps may use this format to get better performance when
they don't need the precision of INTZ (24 bits for depth, 8 for
stencil, whereas DF16 is just 16 bits for depth)

We don't add support for DF24 yet, because it implies support
for FETCH4, which we don't support for now.

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
5c61f6344a93e2bddb1984dcc735b8bc587c5db9 24-Jan-2015 Axel Davy <axel.davy@ens.fr> st/nine: fix early basetexture destruction

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
77f0ecf9cead20ee6f61149f66663258cebd6179 07-Dec-2014 Axel Davy <axel.davy@ens.fr> st/nine: Add ATI1 and ATI2 support

Adds ATI1 and ATI2 support to nine.

They map to PIPE_FORMAT_RGTC1_UNORM and PIPE_FORMAT_RGTC2_UNORM,
but need special handling.

Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Xavier Bouchoux <xavierb@gmail.com>

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
b0b5430322406a521b8a75468452ac5d4ce86750 03-Dec-2014 Axel Davy <axel.davy@ens.fr> st/nine: Check if srgb format is supported before trying to use it.

According to msdn, we must act as if user didn't ask srgb if we don't
support it.

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

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
82810d3b660dfeef53a18c0d48914783e2999b2a 04-Dec-2014 Stanislaw Halik <sthalik@misaki.pl> st/nine: Hack to generate resource if it doesn't exist when getting view

Buffers in the MANAGED pool are supposed to have the content in a ram buffer,
a copy in VRAM if there is enough memory (driver manages memory and decide when
to delete the buffer in VRAM).

This is not implemented properly in nine, and a VRAM copy is going to be created
when the RAM memory is filled, and the VRAM copy will get synced with the RAM
memory updates.

Due to some issues (in the implementation or in app logic), it can happen
we try to create a sampler view of the resource while we haven't created the
VRAM resource. This hack creates the resource when we hit this case, which prevents
crashing, but doesn't help with the resource content.

This fixes several games crashing at launch.

Acked-by: Axel Davy <axel.davy@ens.fr>
Acked-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Stanislaw Halik <sthalik@misaki.pl>

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
47280d777d33c8a78fb7286892071ef31c12f604 02-Dec-2014 Axel Davy <axel.davy@ens.fr> st/nine: NineBaseTexture9: update sampler view creation

While previous code was having the correct behaviour in general,
this new code is more readable (without checking all gallium formats
manually) and has a more defined behaviour for depth stencil resources.

Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.c
18c7e702262425759cafddf7cc6d58543d97d7b3 02-Dec-2014 Axel Davy <axel.davy@ens.fr> st/nine: NineBaseTexture9: fix setting of last_layer

Use same similar settings as u_sampler_view_default_template

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

Cc: "10.4" <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/state_trackers/nine/basetexture9.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/basetexture9.c
6aeae7442d1d5a8b1ff77b6f50f4ac7333cd22b0 25-Nov-2014 Axel Davy <axel.davy@ens.fr> st/nine: rework the way D3DPOOL_SYSTEMMEM is handled

This patch moves the data field from Resource9 to Surface9 and cleans
D3DPOOL_SYSTEMMEM handling in Texture9. This fixes HL2 lost coast.

It also removes in Texture9 some code written to support importing
and exporting non D3DPOOL_SYSTEMMEM shared buffers. This code hadn't
the design required to support the feature and wasn't used.

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/basetexture9.c
133b2087c5ba9942527bc1b218a32205fb7a10a6 25-Nov-2014 Axel Davy <axel.davy@ens.fr> st/nine: Rework Basetexture9 and Resource9.

Instead of having parts of the structures initialised by the parents,
have them initialised by the children.

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/basetexture9.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/basetexture9.c