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 <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/nine_ff.c | 42 +--
1 file chang
On 13/01/2017 19:50, Matteo Bruni wrote:
2017-01-13 3:37 GMT+01:00 Ilia Mirkin :
On Thu, Jan 12, 2017 at 9:13 PM, Jason Ekstrand wrote:
Unless, of course, it's controlled by the same hardware bit... Clearly, we
can can give you abs on rsq without
Preventing NaN from being generated is not sufficient to fix the 0*inf =
0 issue.
For example radeonsi does convert all NaN to zeros via a hardware setting.
But 0*inf = 0 behaviour should be also in mad, and with the NaN to zero
conversion, you g
On 12/01/2017 23:09, Matteo Bruni wrote:
2017-01-12 22:54 GMT+01:00 Axel Davy <axel.d...@ens.fr>:
Preventing NaN from being generated is not sufficient to fix the 0*inf = 0
issue.
For example radeonsi does convert all NaN to zeros via a hardware setting.
But 0*inf = 0 behaviour should b
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.d...@ens.fr>
---
src/gallium/state_trackers/nine/device9.c| 3 +--
src/gallium/state_trackers/nine/nine_state.c | 14 ++
2 files c
hang,
since nine_csmt_process is not threadsafe.
Fixes Hitman hang, and possibly others.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/iunknown.c | 26 +++
src/gallium/state_trackers/nine/iunknown.h | 3 ++
src/gallium/state_tracker
Create both surfaces in one call.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/surface9.c | 49 ++
src/gallium/state_trackers/nine/surface9.h | 3 --
2 files changed, 30 insertions(+), 22 deletions(-)
diff --git a/src/g
From: Masanori Kakura <kakura...@gmail.com>
When dirty region is empty, u_box_union_* incorrectly expands
the new region.
This fixes broken font rendering issue in WOLF RPG Editor v2.10 games.
Signed-off-by: Masanori Kakura <kakura...@gmail.com>
Reviewed-by: Axel Davy <a
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.d...@ens.fr>
---
src/gallium/state_trackers/nine/device9.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/g
nine_context uses NineSurface9 fields, thus we need to flush
pending commands using the surface before changing the fields.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/surface9.c | 28
src/gallium/state_trackers/nine/surf
Some nine_state_* and nine_context_* functions
used for Reset() require all pending commands are
flushed.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/device9.c| 1 +
src/gallium/state_trackers/nine/device9ex.c | 1 +
src/gallium/state_tracker
On 02/01/2017 15:32, Thierry Reding wrote:
On Tue, Dec 27, 2016 at 01:57:21PM +0100, Axel Davy wrote:
Hi Thierry,
Could you explain why in this situation default_fd would be a non-renderable
device node ?
This is preparatory work to allow drivers for split display/render
setups to be tied
clicking on "Detect Future
Running Apps" and before clicking again on "Stop"), and change device_id
to affect on which card to run in the future.
On 07/01/2017 14:01, Axel Davy wrote:
I find ~/.drirc useful.
You can add hacks missing in system drirc, or use device_id to
I find ~/.drirc useful.
You can add hacks missing in system drirc, or use device_id to set the
card to use for the given game for dual gpu systems. Nine also has some
drirc settings that are not hacks, but user options.
I think it's driconf that should be fixed. It shouldn't copy the system
Expecting the user to use env vars it ok for power users, but not very
user-friendly for newbies, or just people who don't like using the
command line. And that's exactly these users who are likely to use
something like driconf.
Axel
On 07/01/2017 14:23, Kai Wasserbäch wrote:
Hey Marek,
On 18/12/2016 16:57, Nicolai Hähnle wrote:
On 18.12.2016 13:38, Axel Davy wrote:
Currently there is no real specification on what is allowed for
using different contexts in several threads, or when you
map/unmap a resource in a thread, but uses it in another for
draw calls.
For the gallium
On 18/12/2016 16:57, Nicolai Hähnle wrote:
I'm happy to be convinced otherwise if I missed something, but using
multiple contexts from different threads, or using Map/UnmapBuffer
from one context but sourcing the buffer from draw calls in another
context are all perfectly supported OpenGL
On 18/12/2016 18:34, Nicolai Hähnle wrote:
Then again, why not just call flush unconditionally? If the flush was
unnecessary, it should be a no-op, and the driver should already have
a fast path for that anyway.
I just looked at radeon source with amdgpu, and it looks like to me a flush
Avoid synchronization by using the secondary context
for uploading the vertex data for Draw*Up.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/device9.c | 18 ++
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/g
On 18/12/2016 18:34, Nicolai Hähnle wrote:
On 18.12.2016 17:37, Axel Davy wrote:
On 18/12/2016 16:57, Nicolai Hähnle wrote:
On 18.12.2016 13:38, Axel Davy wrote:
Currently there is no real specification on what is allowed for
using different contexts in several threads, or when you
map/unmap
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 <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/Makefile.sources | 2 +
src/gallium/state_trackers/nine/buf
r600 and radeonsi are thread safe.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
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/g
Add cap PIPE_CAP_BUFFER_TRANSFER_EXTERNAL_CONTEXT.
See commit for detailed description of the flag.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/docs/source/screen.rst | 9 +
src/gallium/drivers/freedreno/freedreno_screen.c | 1 +
src/gallium/driver
Add flag indicating if the driver is thread safe or not.
See commit for documentation on the meaning of the flag.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/docs/source/screen.rst | 3 +++
src/gallium/drivers/freedreno/freedreno_screen.c | 1 +
src/gallium/d
is allowed.
Please comment.
Yours,
Axel Davy
Axel Davy (3):
gallium: add PIPE_CAP_THREAD_SAFE
radeon: enable PIPE_CAP_THREAD_SAFE
gallium: add flag for transfers in a different context than draw call
src/gallium/docs/source/screen.rst | 12
src/gallium/drivers
-off-by: Axel Davy <axel.d...@ens.fr>
---
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
With csmt, every usage of the pipe in the main thread
has to be protected by calling GetPipe.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/device9.c| 6 ++
src/gallium/state_trackers/nine/swapchain9.c | 2 ++
2 files changed, 8 insertions(+)
diff
Add cap PIPE_CAP_BUFFER_TRANSFER_EXTERNAL_CONTEXT.
See commit for detailed description of the flag.
v2: Explicit flush behaviour.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/docs/source/screen.rst | 11 +++
src/gallium/drivers/freedreno/freedreno_sc
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 <axel.d...@ens.fr>
---
src/g
Add documentation to explicit what can be expected and what is allowed
when using several contexts.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/docs/source/context.rst | 23 +++
1 file changed, 23 insertions(+)
diff --git a/src/gallium/docs/source/conte
Add documentation for the requirements related to threading
for screens and contexts.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/docs/source/screen.rst | 10 ++
1 file changed, 10 insertions(+)
diff --git a/src/gallium/docs/source/screen.rst
b/src/gallium/docs/
This is a new RFC to replace "New gallium flags for using different
contexts in several threads".
Please comment.
Yours,
Axel Davy
Axel Davy (2):
gallium-docs: Add documentation for threading requirements
gallium-docs: Add documentation for when using several contexts
src/ga
.
Yours,
Axel Davy
On 23/12/2016 21:36, Thierry Reding wrote:
From: Thierry Reding <tred...@nvidia.com>
If a device doesn't support rendering and support for PRIME isn't
enabled via the DRI_PRIME environment variable or dri.conf, attempt to
find a render node which can be used to o
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
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.d...@ens.fr>
---
src/gallium/state_trackers/nine/device9.c | 23 +++-
On 13/01/2017 19:06, Nicolai Hähnle wrote:
On 13.01.2017 18:53, Jason Ekstrand wrote:
On Fri, Jan 13, 2017 at 8:43 AM, Marek Olšák > wrote:
On Fri, Jan 13, 2017 at 5:25 PM, Jason Ekstrand
>
RCP was used incorrectly to support NINED3DSPSM_DW and
NINED3DSPSM_DZ. src.x as used as input instead of src.w
or src.z.
Fixes: https://github.com/iXit/Mesa-3D/issues/271
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/nine_shader.c | 4 ++--
1 file chan
This probably should be CC Mesa 17 stable. I'll add it before push.
On 26/03/2017 23:00, Axel Davy wrote:
RCP was used incorrectly to support NINED3DSPSM_DW and
NINED3DSPSM_DZ. src.x as used as input instead of src.w
or src.z.
Fixes: https://github.com/iXit/Mesa-3D/issues/271
Signed-off
g>
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/nine_csmt_helper.h | 2 +-
src/gallium/state_trackers/nine/surface9.c | 10 --
src/gallium/state_trackers/nine/volume9.c | 10 --
3 files changed, 17 insertions(+), 5 deletion
Resource dtor can be executed in the worker thread.
Use atomic to avoid threading safety issues.
CC: "17.0" <mesa-sta...@lists.freedesktop.org>
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/resource9.c | 4 ++--
1 file changed, 2 inse
Fix regression caused by
abb1c645c476b5dd289ce3efae0594f8796f9cf8
The patch made csmt use context.pipe instead of
secondary_pipe, leading to thread safety issues.
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/gallium/state_trackers/nine/device9.c | 15 +++
src/g
On 02/03/2017 17:24, Marek Olšák wrote:
On Thu, Mar 2, 2017 at 3:03 PM, Mike Lothian wrote:
Is this because the 32bit and 64bit versions have slightly different time
stamps used in the cache directory name? I was under the impression that the
cache itself could be shared
Reviewed-by: Axel Davy <axel.d...@ens.fr>
On 03/03/2017 00:12, Timothy Arceri wrote:
The number of tokens in never used and the pointer is NULL checked
so just pass NULL.
---
src/gallium/state_trackers/nine/nine_ff.c | 3 +--
src/gallium/state_trackers/nine/nine_shader.c | 3 +
tching may be incorrect relative to buffer size too.
Yours,
Axel Davy
On 22/06/2017 12:42, Thomas Hellstrom wrote:
Use flips for back- and fake front buffers.
This might lead to fake front and real front being shared if the hardware
is page-flip capable.
In any case it will save a full-drawabl
On 28/06/2017 20:40, Thomas Hellstrom wrote:
On 06/28/2017 07:36 PM, Axel Davy wrote:
Hi,
To my knowledge, this is invalid to switch the front fake buffer with
the back buffer.
The front buffer is supposed to take into account what the app draws
with the xserver commands, etc
Hi Nicolai and Marek,
Gallium nine associates to every d3d usage/index a generic unique index.
That should fit on a 16bits integer, but not for 32 values.
We could fit in 32 indexes by recompiling vertex and pixel shaders to match,
but one advantage of gallium nine is we don't need much
On 10/05/2017 09:17, Nicolai Hähnle wrote:
On 10.05.2017 08:58, Axel Davy wrote:
Hi Nicolai and Marek,
Gallium nine associates to every d3d usage/index a generic unique index.
That should fit on a 16bits integer, but not for 32 values.
Hold on, you're saying the semantic index could
Hi,
There should be very few X11 calls while rendering (basically only at
the beginning or end of a frame).
Why not just always run these calls in the main thread (and wait for
glthread work to finish) ?
That's basically what we do for gallium nine.
Yours,
Axel
On 05/05/2017 17:37,
(previously it would use
index user buffer,
but you remove support for it)
Yours,
Axel Davy
On 29/04/2017 01:12, Marek Olšák wrote:
diff --git a/src/gallium/state_trackers/nine/device9.c
b/src/gallium/state_trackers/nine/device9.c
index 6390735..5dc24d6 100644
--- a/src/gallium/state_trackers
Hi Marek,
Here is probably the second mistake:
I guess you should change info.start to take into account the offset of
the index buffer.
Yours,
Axel Davy
On 29/04/2017 01:12, Marek Olšák wrote:
CSMT_ITEM_NO_WAIT(nine_context_draw_indexed_primitive,
ARG_VAL
A few cleanups and in particular initializing properly
the new pipe_draw_info fields.
This should fix the regression caused by
330d0607ed60fd3edca192e54b4246310f06652f
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101088
Signed-off-by: Axel Davy <axel.d...@ens.fr>
---
src/g
g a server copy if
loader_dri3_blit_image fails doesn't seem a good choice, because what
the server sees is the linear copy of the buffers. You'd have to add a
blit from the linear copy to the tiled buffer (which won't work if local
blit is not available).
Yours,
Axel Davy
___
Hi,
On 05/09/2017 08:37, Thomas Hellstrom wrote:
Hi!
On 09/05/2017 07:36 AM, Axel Davy wrote:
On 04/09/2017 14:27, Thomas Hellstrom wrote:
The copySubBuffer functionality always attempted a server side blit
from
back to fake front if a fake front was present, and we weren't
displaying
+*
+* - depth-only rendering:
+* + depth must force ordering
Why depth must force ordering in depth only rendering ? If the depth
func is PIPE_FUNC_LESS, PIPE_FUNC_GREATER or similar, you get min or max
behaviour, thus the order shouldn't matter.
Yours,
Axel Davy
Hi,
Shouldn't this be fixed on the xserver or the ddx side, rather than in
Mesa ?
Yours,
Axel Davy
On 16/05/2018 11:10, Michel Dänzer wrote:
From: Michel Dänzer <michel.daen...@amd.com>
Prevents spuriously bumping the upper 32 bits of the SBC, which results
in hangs with the modes
used for coverage and enable
EQAA/CSAA (in fact there is a similar way to advertise the feature for
Nvidia and Amd).
But maybe I misunderstood.
Yours,
Axel Davy
On 18/05/2018 06:05, Marek Olšák wrote:
From: Marek Olšák <marek.ol...@amd.com>
The interface only uses general MSAA terms, s
< bitmask of PIPE_RESOURCE_FLAG_x */
/**
* For planar images, ie. YUV EGLImage external, etc, pointer to the
* next plane.
*/
struct pipe_resource *next;
+ struct pipe_screen *screen; /**< screen that this texture belongs to */
Out of curiosity, why
Hi Marek,
Since the previous patch makes it mandatory to use the flags when required,
I guess this patch should also add the neccessary changes to gallium nine.
Yours,
Axel Davy
On 02/02/2018 21:48, Marek Olšák wrote:
From: Marek Olšák <marek.ol...@amd.com>
---
src/gallium/auxiliar
On 02/02/2018 23:41, Marek Olšák wrote:
On Fri, Feb 2, 2018 at 10:44 PM, Axel Davy <axel.d...@normalesup.org> wrote:
Hi Marek,
Since the previous patch makes it mandatory to use the flags when required,
I guess this patch should also add the neccessary changes to gallium nine.
Nine use
for glXCreateContextAttribsARB.
https://github.com/axeldavy/driCenter/blob/master/CardDetection/driCenterDete/glx_info.c
Yours,
Axel Davy
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
/documentation/intel-gfx-prm-osrc-bdw-vol07-3d_media_gpgpu_3.pdf
But there is no mention of it for Skylake. Maybe it was supported, but
dropped ?
Yours,
Axel Davy
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org
On 9/9/18 9:35 PM, Ilia Mirkin wrote:
On Sun, Sep 9, 2018 at 3:19 PM, Axel Davy wrote:
For now clamp for all drivers. An ulterior optimization
would be to avoid clamping for drivers with MUL_ZERO_WINS
for the specific shader versions where NV or AMD don't
clamp.
Too bad. The whole point
Add a parameter to start new object with a bind
instead of a refcount.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/iunknown.c | 18 +++---
src/gallium/state_trackers/nine/iunknown.h | 1 +
src/gallium/state_trackers/nine/nine_helpers.h | 2 ++
3 files
/Mesa-3D/issues/315
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_shader.c | 16 +---
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_shader.c
b/src/gallium/state_trackers/nine/nine_shader.c
index 5b8ad3f161
Add a new helper to create objects starting with a bind
count instead of a ref count.
Signed-off-by: Axel Davy
---
.../state_trackers/nine/nine_helpers.h| 26 +++
1 file changed, 26 insertions(+)
diff --git a/src/gallium/state_trackers/nine/nine_helpers.h
b/src/gallium
is avoided by creating the shaders with a bind
count directly.
Fixes: https://github.com/iXit/Mesa-3D/issues/295
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_ff.c | 2 --
src/gallium/state_trackers/nine/pixelshader9.c | 6 +-
src/gallium/state_trackers/nine
where NV or AMD don't
clamp.
LOG and RSQ being already clamped, this patch only
clamps RCP.
Fixes: https://github.com/iXit/Mesa-3D/issues/316
Signed-off-by: Axel Davy
CC:
---
src/gallium/state_trackers/nine/nine_shader.c | 14 +-
1 file changed, 13 insertions(+), 1 deletion
On 9/9/18 9:40 PM, Ilia Mirkin wrote:
On Sun, Sep 9, 2018 at 3:19 PM, Axel Davy wrote:
Tests showed Intel on windows does always clamp
RCP, RSQ and LOG (thus preventing inf/nan generation),
for all shader versions (some vendor behaviours vary
with shader versions).
By the way, this happens
the pinned cores if load would be better shared among cores.
Yours,
Axel Davy
On 9/6/18 6:02 AM, Marek Olšák wrote:
Hi,
When the Ryzen CPUs were launched, they didn't perform very well in
games, and it took a while before games were patched. Guess what,
Mesa drivers have suffered from the same
threads to one L3, which can have 4 or 8 cores.
Marek
On Thu, Sep 6, 2018 at 5:22 AM, Axel Davy wrote:
Hi Marek,
Shouldn't this core pinning be handled by the kernel ?
Else all multithreaded games (or applications) need an update.
I also see a risk in applications handling the core pinning
Hi Emil,
This patch and the nine part of the second patch look fine.
Reviewed-by: Axel Davy
for them.
Yours,
Axel
On 29/08/2018 19:13, Emil Velikov wrote:
From: Emil Velikov
As the newly introduced comment says:
The pipe loader takes ownership of the fd
Thus, there's no need to close
Hi all,
Don't hesitate to recycle parts of my old try at DriConf Replacement:
https://github.com/axeldavy/driCenter
It had automatic detection of prime system and of the device_id.
It detected also on which card apps run, and running apps.
Yours,
Axel
On 18/01/2018 11:07, Michel Dänzer
On 9/12/18 8:17 AM, Axel Davy wrote:
The goal is to catch inf and -inf and replace them by FLT_MAX and
-FLT_MAX.
Without, the NaN would appear when doing mul or mad.
Axel
I small precision I want to add: This is not the only place clamping
makes a difference.
Indeed else MUL_ZERO_WINS
On 9/11/18 11:28 PM, Roland Scheidegger wrote:
Am 09.09.2018 um 21:19 schrieb Axel Davy:
Tests done on several devices of all 3 vendors and
of different generations showed that there are several
ways of handling infs and NaN for d3d9.
Tests showed Intel on windows does always clamp
RCP, RSQ
Stateblocks with NINESBT_ALL should track all textures.
For better performance they have a faster path which
copies all the required.
This path was only tracking ps textures.
Fixes: https://github.com/iXit/Mesa-3D/issues/303
Signed-off-by: Axel Davy <davyax...@gmail.com>
CC: "17.3
There was a missing absolute value when
checking if the determinant was big enough.
Fixes: https://github.com/iXit/Mesa-3D/issues/292
Signed-off-by: Axel Davy <davyax...@gmail.com>
CC: "17.3 18.0" <mesa-sta...@lists.freedesktop.org>
---
src/gallium/state_trackers/nine/ni
An incorrect formula was used to compute bound_samplers_mask_vs.
Since s is above always 8 for vs and the variable is encoded on 8 bits,
it was always 0.
This resulted in commiting the samplers every call when
there was at least one texture read in the vs shader.
Signed-off-by: Axel Davy <dav
Makes the conversion explicit.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=102542
Signed-off-by: Axel Davy <davyax...@gmail.com>
CC: "17.3 18.0" <mesa-sta...@lists.freedesktop.org>
---
src/gallium/state_trackers/nine/nine_ff.c | 2 +-
1 file changed, 1 insertion(+
Scratch registers are reused every instructions.
Since vFace is reused, a new temporary register
should be used.
Fixes: https://github.com/iXit/Mesa-3D/issues/311
Signed-off-by: Axel Davy <davyax...@gmail.com>
CC: "17.3 18.0" <mesa-sta...@lists.freedesktop.org>
---
src/
Hi,
It would be great to have something for the gallium state trackers as
well. galliumnine, vaapi, etc
Yours,
Axel
On 13/04/2018 09:00, Timothy Arceri wrote:
Wasn't sure who to bug about this so I've sent it here.
I've spent a little big of time lately fixing a few bugs and cleaning
out
The lighting constants were not declared previously,
but were accessed with indirect addressing, which is
illegal.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=105442
Signed-off-by: Axel Davy <davyax...@gmail.com>
CC: "17.3 18.0" <mesa-sta...@lists.freedesktop.or
We didn't implement shadow textures for ps 1.X,
assuming the case couldn't happen...
Well it does.
Fixes: https://github.com/iXit/Mesa-3D/issues/261
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_shader.c | 8 +---
src/gallium/state_trackers/nine/pixelshader9.c | 2
D3DSBT_ALL stateblocks capture the transform matrices.
Fixes some d3d test programs not displaying properly.
Signed-off-by: Axel Davy
---
Notice without the previous patch, D3DSBT_ALL stateblocks
would send hundreds of identity matrices to the context
every apply.
src/gallium/state_trackers
.
ID3DPresent_GetWindowInfo is a function available with
D3DPresent v1.0, and thus we don't need to check if the
function is available.
The function had been introduced to implement this very
feature.
Signed-off-by: Axel Davy
---
A presentation buffer is used when multisampling is used
or when
GetWindowInfo used to be GetWindowSize before gallium
nine was merged. A left-over remained...
Signed-off-by: Axel Davy
---
include/d3dadapter/present.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/d3dadapter/present.h b/include/d3dadapter/present.h
index
.
Fixes: https://github.com/iXit/Mesa-3D/issues/320
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/nine/device9.c
b/src/gallium/state_trackers/nine/device9.c
index 461b212995b
We avoid allocating space for never unused matrices.
However we must do as if we had captured them.
Thus when a D3DSBT_ALL stateblock apply has fewer matrices
than device state, allocate the default matrices for the stateblock
before applying.
Signed-off-by: Axel Davy
---
src/gallium
The device state changed.* field are never used.
These fields are used only for stateblocks.
Avoid setting them at all for clarity.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c | 4 +-
src/gallium/state_trackers/nine/nine_state.c | 7 +-
src/gallium
to send
the updated values for the unreachable matrices.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/nine_state.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/src/gallium/state_trackers/nine/nine_state.c
b/src/gallium/state_trackers/nine/nine_state.c
index c9901209189
NINE_STATE_MATERIAL was used incorrectly at one location.
Replace it with the correct state.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/device9.c| 2 +-
src/gallium/state_trackers/nine/nine_state.h | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/src
A lot of these states are used only for the context,
and are unused for stateblocks (which just uses the
changed.* fields instead for a lot of them).
Signed-off-by: Axel Davy
---
Before we implemented csmt, which separated the 'context' states and the
application visible states + the stateblocks
Windows drivers don't set this flag (which affects ff) to more than 8.
Do the same in case some games check for 8.
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/adapter9.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/nine
At some point the project was to adapt the
commented version to csmt.
The csmt rework enabled to fix some state aliasing
issues between stateblocks and internal state updates.
The commented version needs a lot of work to work with that.
Just drop it.
Signed-off-by: Axel Davy
---
src/gallium
requirements.
Signed-off-by: Axel Davy
---
Thanks to our tester iive who spotted the issue.
src/gallium/state_trackers/nine/adapter9.c | 9 -
src/gallium/state_trackers/nine/device9.c | 8
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/src/gallium/state_trackers
/141ba5cf73029029a5a0bd2cdcfd5f9f9ab7ee7b
Axel Davy (2):
st/nine: Allow 'triple buffering' with thread_submit
st/nine: Remove thread_submit warning
src/gallium/state_trackers/nine/swapchain9.c | 66 +++-
src/gallium/state_trackers/nine/swapchain9.h | 1 +
src/gallium/targets
thread_submit can be useful even without DRI_PRIME,
as it can help avoid missed pageflips.
Signed-off-by: Axel Davy
---
src/gallium/targets/d3dadapter9/drm.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/gallium/targets/d3dadapter9/drm.c
b/src/gallium/targets/d3dadapter9/drm.c
The path allowing triple buffering behaviour wasn't implemented
yet for thread_submit
Signed-off-by: Axel Davy
---
src/gallium/state_trackers/nine/swapchain9.c | 66 +++-
src/gallium/state_trackers/nine/swapchain9.h | 1 +
2 files changed, 50 insertions(+), 17 deletions
+* FramebufferTexture2DMultisampleEXT.
+*/
+ unsigned nr_samples:8;
+
union pipe_surface_desc u;
};
Yours,
Axel Davy
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Hi,
The three patches seem ok.
Thanks,
Reviewed-by: Axel Davy
I assume you don't have push rights. I will push in a few days if nobody
complains.
Yours,
Axel Davy
On 06/11/2018 09:27, Andre Heider wrote:
This fixes various crashes and hangs when using nine's 'thread_submit'
feature
Is there any replacement plan with a new feature ?
Axel
On 12/11/2018 21:45, Marek Olšák wrote:
From: Marek Olšák
This implementation can have massive drawbacks.
Cc: 18.3
---
src/mesa/state_tracker/st_manager.c | 9 -
1 file changed, 9 deletions(-)
diff --git
901 - 1000 of 1075 matches
Mail list logo