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
---
src/gallium/state_trackers/nine/device9.c| 32 +++
src/gallium/state_trackers/nine/device9.h| 2 -
src/gallium
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
---
src/gallium/state_trackers/nine/device9.c| 16 ++-
src/gallium/state_trackers/nine/nine_state.c | 29
Previously we were uploading Managed buffers at the next draw call
after they were set dirty.
This is not the expected behaviour. Instead upload just before
draw call needing the content.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/buffer9.c | 19 ---
src
Similar code than for textures.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/buffer9.h | 18 ++
src/gallium/state_trackers/nine/device9.c | 9 +--
src/gallium/state_trackers/nine/stateblock9.c | 34 +++
3 files changed, 55
This doesn't make sense to bind the container in that specific case.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/iunknown.h | 12 +---
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/src/gallium/state_trackers/nine/iunknown.h
b/src/gallium/state_tra
From: Patrick Rudolph
Use an offloading thread for all nine_context functions.
Macros are used to ease the reading of the code.
Signed-off-by: Patrick Rudolph
Signed-off-by: Axel Davy
---
src/gallium/auxiliary/os/os_thread.h | 11 +
src/gallium/state_trackers/nine
From: Patrick Rudolph
Required for CSMT.
Signed-off-by: Patrick Rudolph
---
src/gallium/state_trackers/nine/device9.c| 20 ++--
src/gallium/state_trackers/nine/nine_state.c | 18 ++
src/gallium/state_trackers/nine/nine_state.h | 6 ++
3 files changed, 3
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
---
src/gallium/state_trackers/nine/device9.c| 7 +-
src/gallium/state_trackers/nine/nine_state.c | 32
From: Patrick Rudolph
To ease debugging.
Signed-off-by: Patrick Rudolph
---
src/gallium/state_trackers/nine/nine_debug.c | 14 +-
src/gallium/state_trackers/nine/nine_debug.h | 1 +
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nin
Use the secondary pipe for DISCARD/NOOVERWRITE, which
avoids stalling to get the pipe from the worker thread.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/buffer9.c | 62 ++
src/gallium/state_trackers/nine/buffer9.h | 7 ++-
src/gallium
The new version uses nine_context functions instead of
applying the changes directly to nine_context.
This will enable it to work with CSMT.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_state.c | 205 +++
1 file changed, 205 insertions(+)
diff --git
This function will be used for surface and volume uploads
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_state.c | 39
src/gallium/state_trackers/nine/nine_state.h | 11
2 files changed, 50 insertions(+)
diff --git a/src/gallium
Create the pipe_surfaces on renderable resources creation.
This enables to avoid creating them on the fly.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/surface9.c | 9 +
src/gallium/state_trackers/nine/surface9.h | 5 ++---
2 files changed, 11 insertions(+), 3 deletions
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
---
src/gallium/state_trackers/nine/basetexture9.c | 3 ++-
src/gallium/state_trackers/nine/nine_state.c | 4
src/gallium/state_trackers/nine
From: Patrick Rudolph
To ease debugging.
Signed-off-by: Patrick Rudolph
---
src/gallium/state_trackers/nine/nine_debug.c | 24 ++--
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_debug.c
b/src/gallium/state_trackers/nine
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
---
src/gallium/state_trackers/nine/nine_state.c | 4
src/gallium/state_trackers/nine/nine_state.h | 1 +
src/gallium/state_trackers/nine/surface9.c
See commit for description.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_queue.c | 9
src/gallium/state_trackers/nine/nine_queue.h | 3 ++
src/gallium/state_trackers/nine/nine_state.c | 67
src/gallium/state_trackers/nine/nine_state.h
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
---
src/gallium/state_trackers/nine/device9.c | 3 ++-
src/gallium/state_trackers/nine/nine_state.c| 14 --
src
The behaviour is a bit less obscure now.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/iunknown.c | 9 ++---
src/gallium/state_trackers/nine/iunknown.h | 30 --
2 files changed, 18 insertions(+), 21 deletions(-)
diff --git a/src/gallium
Use the newly introduced counter to know when we don't
need synchronization.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_state.c | 33 +++-
src/gallium/state_trackers/nine/nine_state.h | 6 ++---
src/gallium/state_trackers/nine/query9.c
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
---
src/gallium/state_trackers/nine/device9.c| 7 ++-
src/gallium/state_trackers/nine/device9ex.c | 3 +--
src/gallium
From: Patrick Rudolph
Enables to offload it with CSMT.
Signed-off-by: Patrick Rudolph
---
src/gallium/state_trackers/nine/device9.c| 5 +++--
src/gallium/state_trackers/nine/nine_state.c | 8
src/gallium/state_trackers/nine/nine_state.h | 4
3 files changed, 15 insertions(+),
For render targets, NineSurface9_GetSurface is not
expected to fail.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 10 +-
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/src/gallium/state_trackers/nine/device9.c
b/src/gallium/state_trackers/nine
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
---
src/gallium/state_trackers/nine/nine_state.c | 73 ++--
1 file changed, 48 insertions(+), 25 deletions
From: Patrick Rudolph
This queue mechanism will be used for CSMT.
Signed-off-by: Patrick Rudolph
---
src/gallium/state_trackers/nine/Makefile.sources | 2 +
src/gallium/state_trackers/nine/nine_queue.c | 251 +++
src/gallium/state_trackers/nine/nine_queue.h | 48
From: Patrick Rudolph
Required to know the size exact size of the plane.
Signed-off-by: Patrick Rudolph
---
src/gallium/state_trackers/nine/device9.c| 2 +-
src/gallium/state_trackers/nine/nine_state.c | 4 ++--
src/gallium/state_trackers/nine/nine_state.h | 5 -
3 files changed, 7 ins
Remove some noop operations.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_csmt_helper.h | 10 +++---
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_csmt_helper.h
b/src/gallium/state_trackers/nine/nine_csmt_helper.h
From: Patrick Rudolph
Use nine_context wrapper for resource_copy_region.
Enables to offload it with CSMT.
Signed-off-by: Patrick Rudolph
---
src/gallium/state_trackers/nine/device9.c| 6 ++
src/gallium/state_trackers/nine/nine_state.c | 17 +
src/gallium/state_trackers
The last level was not released.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/cubetexture9.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/state_trackers/nine/cubetexture9.c
b/src/gallium/state_trackers/nine/cubetexture9.c
index 0a834eb
The change is required with csmt, where depending on the thread
you don't access the pipe the same way.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_shader.c | 3 +--
src/gallium/state_trackers/nine/nine_shader.h | 4 +++-
src/gallium/state_trackers/nine/pixelsh
BASETEX_REGISTER_UPDATE was adding the texture to the list
of textures to upload in too many cases. tex->base.base.bind
will be set to true if the texture is in a stateblock, whereas
we want to upload only if bound to the device, which is
what bind_count is for.
Signed-off-by: Axel Davy
---
Generate mipmaps in the worker thread.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/basetexture9.c | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/src/gallium/state_trackers/nine/basetexture9.c
b/src/gallium/state_trackers/nine/basetexture9.c
BackBuffers can survive swapchain dtor if
the user has a reference on them.
The swapchain itself has no reference on the buffer.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/swapchain9.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium
This patch it to avoid name conflict when device->pipe
will be moved to nine_context.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c| 20 +++
src/gallium/state_trackers/nine/nine_state.c | 90 ++--
src/gallium/state_trackers/n
The new arguments enable to reference the objects while
the function hasn't run.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c| 14 --
src/gallium/state_trackers/nine/nine_state.c | 10 ++
src/gallium/state_trackers/nine/nine_state.h | 4 ++
Enables to not wait for the worker thread for ColorFill.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c| 7 +--
src/gallium/state_trackers/nine/nine_state.c | 17 +
src/gallium/state_trackers/nine/nine_state.h | 9 +
src/gallium
Next patches will introduce an offset.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_state.c| 15 +--
src/gallium/state_trackers/nine/vertexbuffer9.c | 3 ++-
src/gallium/state_trackers/nine/vertexbuffer9.h | 2 +-
3 files changed, 12 insertions(+), 8
Use nine_context_box_upload for uploads:
. systemmem volume to default volume
. managed volume internal content to its resource.
Check the uploads are executed before any action
that can alter the data, that is LockBox and
volume destruction.
Signed-off-by: Axel Davy
---
src/gallium
Will be used to upload buffers.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_state.c | 11 +++
src/gallium/state_trackers/nine/nine_state.h | 8
2 files changed, 19 insertions(+)
diff --git a/src/gallium/state_trackers/nine/nine_state.c
b/src/gallium
If the volumes (and the texture container) are not referenced,
then they are no pending operations on them. We can lock directly.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/volume9.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/gallium
If the surfaces (and the texture container) are not referenced,
then they are no pending operations on them. We can lock directly.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/surface9.c | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/gallium
: Axel Davy
---
src/gallium/state_trackers/nine/surface9.c | 63 +++---
src/gallium/state_trackers/nine/surface9.h | 2 +
2 files changed, 33 insertions(+), 32 deletions(-)
diff --git a/src/gallium/state_trackers/nine/surface9.c
b/src/gallium/state_trackers/nine/surface9.c
Use the acquire/release semantic when we don't need
to wait for any pending command.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/basetexture9.c | 8 ++--
src/gallium/state_trackers/nine/buffer9.c | 4 +++-
src/gallium/state_trackers/nine/nine_state.c
The secondary pipe will be used for operations
that don't need synchronization.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 4 +++-
src/gallium/state_trackers/nine/device9.h | 2 ++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/ga
Do the upload in the other thread.
Usually managed buffers are used once per frame.
It is then very likely pending_upload is 0 at Lock
time.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/buffer9.c | 3 +++
src/gallium/state_trackers/nine/buffer9.h | 12 +++-
2 files
This new buffer upload path enables to lock
faster than the normal path when using
DISCARD/NOOVERWRITE.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/Makefile.sources | 2 +
src/gallium/state_trackers/nine/buffer9.c | 75 +-
src/gallium/state_trackers/nine
To offload mipmap generation as well.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_state.c | 15 +++
src/gallium/state_trackers/nine/nine_state.h | 7 +++
2 files changed, 22 insertions(+)
diff --git a/src/gallium/state_trackers/nine/nine_state.c
b/src
The last level was not released.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/volumetexture9.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/state_trackers/nine/volumetexture9.c
b/src/gallium/state_trackers/nine/volumetexture9.c
index 4908ed7
The call was not needed.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/gallium/state_trackers/nine/device9.c
b/src/gallium/state_trackers/nine/device9.c
index 055e71d..7bdf19f 100644
--- a/src/gallium
Textures already have the check in BaseTexture9.
Non-Textures cannot be in the MANAGED Pool.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/surface9.c | 4
1 file changed, 4 deletions(-)
diff --git a/src/gallium/state_trackers/nine/surface9.c
b/src/gallium/state_trackers
DRI_CONF_NINE_OVERRIDEVENDOR was missing gettext for the
description.
Signed-off-by: Axel Davy
---
src/mesa/drivers/dri/common/xmlpool/t_options.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/common/xmlpool/t_options.h
b/src/mesa/drivers/dri/common
We want to use centroid for nonmaskable
multisampling as well.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/pixelshader9.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/state_trackers/nine/pixelshader9.h
b/src/gallium/state_trackers/nine
cursor.image is used for software cursor
emulation. It wasn't released.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/state_trackers/nine/device9.c
b/src/gallium/state_trackers/nine/device9.c
index a7
Ignore empty draw calls.
Avoid assertion fault when such draw calls happen
in u_upload_mgr.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/state_trackers/nine/device9.c
b/src/gallium/state_trackers/nine
src was initialized instead of dst.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/stateblock9.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/nine/stateblock9.c
b/src/gallium/state_trackers/nine/stateblock9.c
index 16e60ef
The variable is used only in the hw path.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_state.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_state.c
b/src/gallium/state_trackers/nine/nine_state.c
index 57f7b2d..69f0cff 100644
Fixes bad rendering of a test app.
Wine has the same behaviour.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 4
1 file changed, 4 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_ff.c
b/src/gallium/state_trackers/nine/nine_ff.c
index 8b6f442
if first alpha stage is disabled and writes to temp,
diffuse alpha is written to temp.
Last stage always writes to current.
Behaviour was deduced by tests with a test app.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 20
1 file changed, 20
The code was wrongly detecting which texture coordinates
to generate when the coordinate index was different to
the stage index.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/gallium
Add precision on the behaviour of WaitBufferReleased.
All implementers and users of the API were expecting
that behaviour.
Signed-off-by: Axel Davy
---
include/d3dadapter/present.h | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/d3dadapter/present.h b/include
The cap should be advertised for d3d10 able cards,
but only for Ex contexts.
Unfortunately at this point Mesa has no way to know if
Ex is used or not (the info is got later).
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/adapter9.c | 2 +-
1 file changed, 1 insertion(+), 1
Some drivers crash if NOP is generated.
Besides there is no point to generate NOP.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_shader.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/gallium/state_trackers/nine/nine_shader.c
b/src/gallium
When a texture is read by a stage for colorop, it should
be disabled, and disable following stages.
When a texture is read for alphaop, 1.0f is read for the input,
which is the behaviour for a dummy texture.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 22
The check was not catching all possible cases.
NVE4 should be fine.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 25 +
1 file changed, 1 insertion(+), 24 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_ff.c
b/src/gallium
The API will enable better support for the commonly
used DISCARD swapchain parameter.
Signed-off-by: Axel Davy
---
include/d3dadapter/present.h | 24
1 file changed, 24 insertions(+)
diff --git a/include/d3dadapter/present.h b/include/d3dadapter/present.h
index 187843f
In NineDevice9_SetDefaultState we can assume the
implicit swapchain is properly initialized.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 21 +++--
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/src/gallium/state_trackers/nine/device9
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
---
src/gallium/state_trackers/nine/device9.c | 20 ++--
src/ga
proposed behaviour (which
is equivalent to the 'opengl triple buffering').
Axel Davy (36):
st/nine: Improve doc of D3DPMISCCAPS_POSTBLENDSRGBCONVERT
st/nine: Add validation to SetSamplerState
st/nine: Remove useless call to nine_update_state
st/nine: Don't update stream_usage_
Check value validity and mimick Win behaviour.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 9 ---
src/gallium/state_trackers/nine/nine_limits.h | 36 +++
src/gallium/state_trackers/nine/nine_state.c | 2 ++
src/gallium
The new code properly releases the previous buffers
allocated.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c| 22 +++--
src/gallium/state_trackers/nine/nine_state.c | 46
2 files changed, 39 insertions(+), 29 deletions(-)
diff
Some states were not properly recorded in pixel stateblocks.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/gallium/state_trackers/nine/device9.c
b/src/gallium/state_trackers/nine/device9.c
See the patch for the new controls added.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/adapter9.h | 2 ++
src/gallium/state_trackers/nine/swapchain9.c| 4 ++--
src/gallium/targets/d3dadapter9/drm.c | 17 +
src/mesa/drivers/dri/common/xmlpool
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
---
src/gallium/state_trackers/nine/device9.c| 4 ++--
src/gallium/state_trackers/nine/nine_state.c | 2 +-
2 files changed, 3
In non-debug build, the variables are unused,
and thus trigger a compilation warning.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/iunknown.c | 8
src/gallium/state_trackers/nine/surface9.c | 2 ++
src/gallium/state_trackers/nine/volume9.c | 2 ++
3 files changed, 12
Fix the check for computing ff specular.
This seems to match the opengl behavior,
and give the correct output on windows.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/gallium
We were advertising support for WFOG (like all win drivers),
but we weren't implementing it.
This patch implements the behaviour. See comments.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 42 +--
1 file changed, 35 insertions(
This is useful to check what is exactly recorded.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/stateblock9.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/src/gallium/state_trackers/nine/stateblock9.c
b/src/gallium/state_trackers/nine/stateblock9.c
index a2b281e
The computation was wrong. COLOR0's last component
should be equal to the material diffuse w component.
The behaviour was checked with a test app on Windows.
Wine has the same behaviour.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c
We disable the alpha stage if the color stage is disabled.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_ff.c
b/src/gallium/state_trackers/nine/nine_ff.c
index
Current is already initialized to Diffuse.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 5 -
1 file changed, 5 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_ff.c
b/src/gallium/state_trackers/nine/nine_ff.c
index 7a09986..c3245a3 100644
--- a
Use the new API for DISCARD.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/swapchain9.c | 180 ---
1 file changed, 132 insertions(+), 48 deletions(-)
diff --git a/src/gallium/state_trackers/nine/swapchain9.c
b/src/gallium/state_trackers/nine/swapchain9.c
Count properly the number of backbuffers,
and use the new info to release the correct
number of buffers
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/swapchain9.c | 31 ++--
src/gallium/state_trackers/nine/swapchain9.h | 1 +
2 files changed, 16
It was unused.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_state.h | 1 -
src/gallium/state_trackers/nine/stateblock9.c | 5 -
2 files changed, 6 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_state.h
b/src/gallium/state_trackers/nine/nine_state.h
pixels stateblocks need to capture these.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/gallium/state_trackers/nine/device9.c
b/src/gallium/state_trackers/nine/device9.c
index 5b4d2ae..8b03e9b
Apparently specular enable doesn't affect
the alpha channel.
Fixes https://github.com/iXit/Mesa-3D/issues/253
Behaviour comfirmed looking in wine sources.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --
On 08/12/2016 00:38, Dieter Nützel wrote:
Am 07.12.2016 23:54, schrieb Axel Davy:
This patch adds internal multithreading to gallium nine.
The goal is to offload almost all gallium nine calls (and some other
work) to a worker thread.
Hello Axel,
really nice job!
'But' show us th
There seems to be a regression with this patch.
I noticed one mistake: nine_upload_create_buffer should initialize
buf->resource to NULL.
However someone reports crash after GTT memory exhaustion.
I can't find the mistake. Anyone ?
Axel
On 07/12/2016 23:55, Axel Davy wrote:
This ne
This new buffer upload path enables to lock
faster than the normal path when using
DISCARD/NOOVERWRITE.
v2: Diverse cleanups and fixes.
Signed-off-by: Axel Davy
---
This patch needed a few cleanups, whih this new version adds.
With this version, I wasn't able to reproduce the memory leak
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.
Signed-off-by: Axel Davy
---
This fixes the reported 'leak' (which wa
Tests show SYSTEMMEM should ignore DISCARD.
Prevents game bugs with following patches reimplementing
DISCARD. Halo is affected.
Signed-off-by: Axel Davy
---
This patch prevents a regression on radeonsi for Halo (and probably
other games) with "st/nine: Implement Fast path for dynamic bu
Tests suggest MANAGED buffers are made dirty
at Lock time, not at Unlock time.
Signed-off-by: Axel Davy
---
Dirtying MANAGED buffers at Unlock was a requirement
of our previous implementation, since we were uploading
all dirty MANAGED buffers as soon as a draw call was made.
With the CSMT
e resource content is copied to the
new resource used.
Signed-off-by: Axel Davy
---
Still open for comments.
src/gallium/state_trackers/nine/Makefile.sources | 2 +
src/gallium/state_trackers/nine/buffer9.c | 90 ++-
src/gallium/state_trackers/nine/buffer9.h | 9 +-
s
The new version uses nine_context functions instead of
applying the changes directly to nine_context.
This will enable it to work with CSMT.
v2: Fix nine_context_light_enable_stateblock.
The memcpy arguments were wrong, and the state
wasn't set dirty.
Signed-off-by: Axel Davy
---
src/ga
This patch breaks build because it doesn't replace some calls.
The replacements are introduced by the patch after.
I suggest to just merge the two patches. I'm not so sure this patch
makes sense alone.
Axel
On 07/12/2016 23:55, Axel Davy wrote:
From: Patrick Rudolph
Require
-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 210 --
src/gallium/state_trackers/nine/nine_ff.c | 84 +++
src/gallium/state_trackers/nine/nine_state.c| 278 +---
src/gallium/state_trackers/nine/nine_state.h| 41
With csmt, every usage of the pipe in the main thread
has to be protected by calling GetPipe.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c| 6 ++
src/gallium/state_trackers/nine/swapchain9.c | 2 ++
2 files changed, 8 insertions(+)
diff --git a/src/gallium
-off-by: Axel Davy
---
src/gallium/state_trackers/nine/buffer9.c | 65 ++
src/gallium/state_trackers/nine/buffer9.h | 7 ++-
src/gallium/state_trackers/nine/indexbuffer9.c | 2 +
3 files changed, 64 insertions(+), 10 deletions(-)
diff --git a/src/gallium
e 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).
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/Makefile.sources | 2 +
src/gallium/state_trackers/nine/buffer9.c | 96 ++
e 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.
Signed-off-by: Axel Davy
---
src/gallium/state_tra
r600 and radeonsi are thread safe.
Signed-off-by: Axel Davy
---
src/gallium/drivers/r600/r600_pipe.c | 2 +-
src/gallium/drivers/radeonsi/si_pipe.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_pipe.c
b/src/gallium/drivers/r600
301 - 400 of 1092 matches
Mail list logo