[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

Bug ID: 111728
   Summary: regression: corrupted UI elements in Heroes of the
Storm
   Product: Mesa
   Version: git
  Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
  Severity: normal
  Priority: not set
 Component: Drivers/Vulkan/radeon
  Assignee: mesa-dev@lists.freedesktop.org
  Reporter: tempel.jul...@gmail.com
QA Contact: mesa-dev@lists.freedesktop.org

Since one of the recent commits of mesa-git, there is this corruption in HotS.
It doesn't occur with mesa 19.1.7.
What can't be shown on the picture is that some units' healthbars are
disappearing too. Depending on what is happening on the screen, they are
visible though and then neither the avatar in the left corner is broken (only
broken when healthbars are missing).
Perhaps this is some viewport issue?

Uploading screenshot and renderdoc capture.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

--- Comment #1 from tempel.jul...@gmail.com ---
Created attachment 145417
  --> https://bugs.freedesktop.org/attachment.cgi?id=145417&action=edit
screenshot showing the corrupted avatar

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

--- Comment #2 from tempel.jul...@gmail.com ---
Created attachment 145418
  --> https://bugs.freedesktop.org/attachment.cgi?id=145418&action=edit
renderdoc capture part 1

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

--- Comment #3 from tempel.jul...@gmail.com ---
Created attachment 145419
  --> https://bugs.freedesktop.org/attachment.cgi?id=145419&action=edit
renderdoc capture part 2

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

--- Comment #4 from tempel.jul...@gmail.com ---
Created attachment 145420
  --> https://bugs.freedesktop.org/attachment.cgi?id=145420&action=edit
renderdoc capture part 3/3

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

--- Comment #5 from tempel.jul...@gmail.com ---
This is with an RX 570 and mesa-git 8d5f905faad76a46c732dc43c4009cbf0f5da170

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

--- Comment #6 from Samuel Pitoiset  ---
RADV_DEBUG=nohiz?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH v2 00/37] panfrost: Support batch pipelining

2019-09-18 Thread Boris Brezillon
+Rob

On Tue, 17 Sep 2019 17:13:04 +0200
Boris Brezillon  wrote:

> On Tue, 17 Sep 2019 08:36:56 -0400
> Alyssa Rosenzweig  wrote:
> 
> > "Can't use pipe_framebuffer_state as a hash key" Is this still relevant?
> > I thought we did this.  
> 
> I did this yes. I thought it was only a problem for the wallpaper
> draw, but it's actually wrong for any kind of blit where src and
> dst point to the same resource, you're right. I guess the solution
> would be to not use util_framebuffer_state_equal() but compare the
> resources pointed by surfaces contained in the fb state, and not hash
> the fb state directly, but hash its resource pointers instead (pretty
> much what was done before my patch :-/).

I tried implementing my own hash/compare funcs for the FBO key (instead
of using util_framebuffer_state_equal() and hashing the whole struct)
based on the freedreno logic, and I added an assert to see if there was
cases where util_framebuffer_state_equal() was returning something
different (see the below diff). There are indeed 2 deqp-gles2 tests that
trigger this assert.

So, now the question is, is it worth fixing, or can we live with the
extra batch addition because we can't figure out that 2 FBOs are identical
in rare occasions.

There's still something I don't understand in the freedreno logic: they
say they don't want to retain refs to the surface pointed by the fb
state, because refcounting gets messy then, but I don't get why, especially
since they retain refs to the resources pointed by those surfaces.

Anyway, I guess all of this can be sorted out after this series has landed.

--->8---
diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index 04257727ee0a..a90c427f6042 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -100,6 +100,74 @@ panfrost_batch_fence_reference(struct panfrost_batch_fence 
*fence)
 pipe_reference(NULL, &fence->reference);
 }
 
+static bool
+panfrost_batch_surf_compare(const struct pipe_surface *a,
+const struct pipe_surface *b)
+{
+if (!a || !b)
+return a == b;
+
+if (a->texture != b->texture ||
+memcmp(&a->u, &b->u, sizeof(a->u)) ||
+a->nr_samples != b->nr_samples ||
+a->format != b->format)
+return false;
+
+return true;
+}
+
+static bool
+panfrost_batch_compare(const void *a, const void *b)
+{
+const struct pipe_framebuffer_state *fba = a, *fbb = b;
+unsigned i;
+
+if (fba->width != fbb->width || fba->height != fbb->height ||
+fba->layers != fbb->layers || fba->samples != fbb->samples ||
+fba->nr_cbufs != fbb->nr_cbufs)
+return false;
+
+for (i = 0; i < fba->nr_cbufs; i++) {
+if (!panfrost_batch_surf_compare(fba->cbufs[i], fbb->cbufs[i]))
+return false;
+}
+
+return panfrost_batch_surf_compare(fba->zsbuf, fbb->zsbuf);
+}
+
+static uint32_t
+panfrost_batch_surf_hash(uint32_t hash, const struct pipe_surface *surf)
+{
+uint32_t fmt_samples = surf ? (surf->format | (surf->nr_samples << 
16)) : 0;
+struct pipe_resource *rsrc = surf ? surf->texture : NULL;
+union pipe_surface_desc dummy_desc = { };
+
+hash = _mesa_fnv32_1a_accumulate_block(hash, &rsrc, sizeof(rsrc));
+hash = _mesa_fnv32_1a_accumulate_block(hash,
+   surf ? &surf->u : &dummy_desc,
+   sizeof(surf->u));
+return _mesa_fnv32_1a_accumulate_block(hash, &fmt_samples,
+   sizeof(fmt_samples));
+}
+
+static uint32_t
+panfrost_batch_hash(const void *key)
+{
+const struct pipe_framebuffer_state *fb = key;
+uint64_t header = fb->width | fb->height << 16 |
+  (uint64_t)fb->layers << 32 |
+  (uint64_t)fb->samples << 48 |
+  (uint64_t)fb->nr_cbufs << 56;
+uint32_t hash = _mesa_fnv32_1a_offset_bias;
+unsigned i;
+
+hash = _mesa_fnv32_1a_accumulate_block(hash, &header, sizeof(header));
+for (i = 0; i < ARRAY_SIZE(fb->cbufs); i++)
+hash = panfrost_batch_surf_hash(hash, fb->cbufs[i]);
+
+return panfrost_batch_surf_hash(hash, fb->zsbuf);
+}
+
 static struct panfrost_batch *
 panfrost_create_batch(struct panfrost_context *ctx,
   const struct pipe_framebuffer_state *key)
@@ -252,8 +320,10 @@ panfrost_get_batch(struct panfrost_context *ctx,
 struct hash_entry *entry = _mesa_hash_table_search(ctx->fbo_to_batch,
key);
 
-if (entry)
+if (entry) {
+assert(util_framebuffer_state_equal(entry->key, key));
 return entry->data;
+}
 
 /* Other

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

--- Comment #7 from tempel.jul...@gmail.com ---
Issue does not occur with RADV_DEBUG=nohiz.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

--- Comment #8 from Samuel Pitoiset  ---
Could be related to my recent HTILE changes. I'm looking.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

--- Comment #9 from Samuel Pitoiset  ---
https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2023

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

tempel.jul...@gmail.com changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #10 from tempel.jul...@gmail.com ---
Fixed. That was insanely fast, thanks a lot!

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 110995] performance regression in Heroes of the Storm with Mesa 19.1.1 & Polaris

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110995

--- Comment #4 from tempel.jul...@gmail.com ---
This is unfortunately unchanged with latest master:
~148fps where it was ~162fps.
amdvlk scores  ~155fps, and with pageflipping + amdgpu.dc=0 ~160fps

I can't workaround this anymore by reverting
0a313cc285c2939de9cac07f045b0b699bc208ca, as radv stopped building successfully
without it.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 110995] performance regression in Heroes of the Storm with Mesa 19.1.1 & Polaris

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110995

--- Comment #5 from Samuel Pitoiset  ---
Should be fixed by
https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2025

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 110995] performance regression in Heroes of the Storm with Mesa 19.1.1 & Polaris

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110995

tempel.jul...@gmail.com changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #6 from tempel.jul...@gmail.com ---
Confirmed, performance is back to >160fps. Thanks a lot, your efforts are
really outstanding!

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 110995] performance regression in Heroes of the Storm with Mesa 19.1.1 & Polaris

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110995

--- Comment #7 from Samuel Pitoiset  ---
Can you please wait before closing tickets? Sending a change doesn't
necessarily mean that it will be pushed/accepted. Thanks!

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111728] regression: corrupted UI elements in Heroes of the Storm

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111728

--- Comment #11 from Samuel Pitoiset  ---
Fixed by
https://gitlab.freedesktop.org/mesa/mesa/commit/46b7512b0a73b24a00fa9308a44ab4ffe6054874

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 110995] performance regression in Heroes of the Storm with Mesa 19.1.1 & Polaris

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110995

--- Comment #8 from tempel.jul...@gmail.com ---
Of course, sorry.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH v3 01/17] panfrost: Extend the panfrost_batch_add_bo() API to pass access flags

2019-09-18 Thread Boris Brezillon
The type of access being done on a BO has impacts on job scheduling
(shared resources being written enforce serialization while those
being read only allow for job parallelization) and BO lifetime (the
fragment job might last longer than the vertex/tiler ones, if we can,
it's good to release BOs earlier so that others can re-use them
through the BO re-use cache).

Let's pass extra access flags to panfrost_batch_add_bo() and
panfrost_batch_create_bo() so the batch submission logic can take the
appropriate when submitting batches. Note that this information is not
used yet, we're just patching callers to pass the correct flags here.

Signed-off-by: Boris Brezillon 
---
Changes in v3:
* s/PAN_BO_GPU_ACCESS/PAN_BO_ACCESS/
* Fix wrong access types for streamout and vertex index buf
* Add a panfrost_bo_access_for_stage() helper
---
 src/gallium/drivers/panfrost/pan_allocate.c   | 14 ++-
 src/gallium/drivers/panfrost/pan_blend_cso.c  |  6 ++-
 src/gallium/drivers/panfrost/pan_bo.h | 29 ++
 src/gallium/drivers/panfrost/pan_context.c| 36 +
 src/gallium/drivers/panfrost/pan_instancing.c |  5 ++-
 src/gallium/drivers/panfrost/pan_job.c| 39 ++-
 src/gallium/drivers/panfrost/pan_job.h|  5 ++-
 src/gallium/drivers/panfrost/pan_varyings.c   | 10 -
 8 files changed, 120 insertions(+), 24 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_allocate.c 
b/src/gallium/drivers/panfrost/pan_allocate.c
index 3076c23ab1cc..b16a1253ac2f 100644
--- a/src/gallium/drivers/panfrost/pan_allocate.c
+++ b/src/gallium/drivers/panfrost/pan_allocate.c
@@ -63,8 +63,18 @@ panfrost_allocate_transient(struct panfrost_batch *batch, 
size_t sz)
 size_t bo_sz = sz < TRANSIENT_SLAB_SIZE ?
TRANSIENT_SLAB_SIZE : ALIGN_POT(sz, 4096);
 
-/* We can't reuse the current BO, but we can create a new one. 
*/
-bo = panfrost_batch_create_bo(batch, bo_sz, 0);
+/* We can't reuse the current BO, but we can create a new one.
+ * We don't know what the BO will be used for, so let's flag it
+ * RW and attach it to both the fragment and vertex/tiler jobs.
+ * TODO: if we want fine grained BO assignment we should pass
+ * flags to this function and keep the read/write,
+ * fragment/vertex+tiler pools separate.
+ */
+bo = panfrost_batch_create_bo(batch, bo_sz, 0,
+  PAN_BO_ACCESS_PRIVATE |
+  PAN_BO_ACCESS_RW |
+  PAN_BO_ACCESS_VERTEX_TILER |
+  PAN_BO_ACCESS_FRAGMENT);
 
 if (sz < TRANSIENT_SLAB_SIZE) {
 batch->transient_bo = bo;
diff --git a/src/gallium/drivers/panfrost/pan_blend_cso.c 
b/src/gallium/drivers/panfrost/pan_blend_cso.c
index 6bd6ff71cdc7..48bd513ab6e5 100644
--- a/src/gallium/drivers/panfrost/pan_blend_cso.c
+++ b/src/gallium/drivers/panfrost/pan_blend_cso.c
@@ -273,7 +273,11 @@ panfrost_get_blend_for_context(struct panfrost_context 
*ctx, unsigned rti)
 
 /* Upload the shader */
 final.shader.bo = panfrost_batch_create_bo(batch, shader->size,
-   PAN_BO_EXECUTE);
+   PAN_BO_EXECUTE,
+   PAN_BO_ACCESS_PRIVATE |
+   PAN_BO_ACCESS_READ |
+   PAN_BO_ACCESS_VERTEX_TILER |
+   PAN_BO_ACCESS_FRAGMENT);
 memcpy(final.shader.bo->cpu, shader->buffer, shader->size);
 
 if (shader->patch_index) {
diff --git a/src/gallium/drivers/panfrost/pan_bo.h 
b/src/gallium/drivers/panfrost/pan_bo.h
index 33fbddff3369..73cc74a260d4 100644
--- a/src/gallium/drivers/panfrost/pan_bo.h
+++ b/src/gallium/drivers/panfrost/pan_bo.h
@@ -56,6 +56,24 @@ struct panfrost_screen;
  * let the BO logic know about this contraint. */
 #define PAN_BO_DONT_REUSE (1 << 5)
 
+/* GPU access flags */
+
+/* BO is either shared (can be accessed by more than one GPU batch) or private
+ * (reserved by a specific GPU job). */
+#define PAN_BO_ACCESS_PRIVATE (0 << 0)
+#define PAN_BO_ACCESS_SHARED  (1 << 0)
+
+/* BO is being read/written by the GPU */
+#define PAN_BO_ACCESS_READ(1 << 1)
+#define PAN_BO_ACCESS_WRITE   (1 << 2)
+#define PAN_BO_ACCESS_RW  (PAN_BO_ACCESS_READ | 
PAN_BO_ACCESS_WRITE)
+
+/* BO is accessed by the vertex/tiler job. */
+#define PAN_BO_ACCESS_VERTEX_TILER(1 << 3)
+
+/* BO is accessed by the fragment job. */
+#define PAN_BO_ACCESS_FRAGMENT(1 << 4)
+
 struct panfrost_bo {
 /* Must be first for 

[Mesa-dev] [PATCH v3 00/17] panfrost: Support batch pipelining

2019-09-18 Thread Boris Brezillon
Hello,

This is the third attempt at supporting batch pipelining. This time I
implemented it using a dependency graph (as suggested by Alyssa and
Steven) so that batch submission can be delayed even more: the only
time we flush batches now is when we have an explicit flush or when
the CPU needs to access a BO (we might want to tweak that a bit to
avoid the extra latency incurred by this solution). With that in place
we hope to increase GPU utilization.

Patches 15 and 16 are optional, but I remember reading (I think it was
Steven who mentioned that) that draw order matters when queueing render
operations for different frames (frame N should ideally be ready before
frame N+1). Not sure if enforcing draw call order is enough to guarantee
that rendering of frame N always finishes before frame N+1 though.
If that's something you don't want to merge, I can drop it.

Regards,

Boris

Boris Brezillon (17):
  panfrost: Extend the panfrost_batch_add_bo() API to pass access flags
  panfrost: Make panfrost_batch->bos a hash table
  panfrost: Add a batch fence
  panfrost: Use the per-batch fences to wait on the last submitted batch
  panfrost: Add a panfrost_freeze_batch() helper
  panfrost: Start tracking inter-batch dependencies
  panfrost: Prepare panfrost_fence for batch pipelining
  panfrost: Add a panfrost_flush_all_batches() helper
  panfrost: Add a panfrost_flush_batches_accessing_bo() helper
  panfrost: Kill the explicit serialization in panfrost_batch_submit()
  panfrost: Get rid of the flush in panfrost_set_framebuffer_state()
  panfrost: Add flags to reflect the BO imported/exported state
  panfrost: Make sure the BO is 'ready' when picked from the cache
  panfrost: Do fine-grained flushing when preparing BO for CPU accesses
  panfrost: Rename ctx->batches into ctx->fbo_to_batch
  panfrost: Take draw call order into account
  panfrost/ci: New tests are passing

 .../drivers/panfrost/ci/expected-failures.txt |   4 -
 src/gallium/drivers/panfrost/pan_allocate.c   |  14 +-
 src/gallium/drivers/panfrost/pan_blend_cso.c  |   6 +-
 src/gallium/drivers/panfrost/pan_bo.c | 116 ++-
 src/gallium/drivers/panfrost/pan_bo.h |  44 ++
 src/gallium/drivers/panfrost/pan_compute.c|   2 +-
 src/gallium/drivers/panfrost/pan_context.c| 121 ++--
 src/gallium/drivers/panfrost/pan_context.h|  15 +-
 src/gallium/drivers/panfrost/pan_instancing.c |   5 +-
 src/gallium/drivers/panfrost/pan_job.c| 668 --
 src/gallium/drivers/panfrost/pan_job.h|  58 +-
 src/gallium/drivers/panfrost/pan_resource.c   |  27 +-
 src/gallium/drivers/panfrost/pan_screen.c |  65 +-
 src/gallium/drivers/panfrost/pan_screen.h |   3 +-
 src/gallium/drivers/panfrost/pan_varyings.c   |  10 +-
 15 files changed, 956 insertions(+), 202 deletions(-)

-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH v3 04/17] panfrost: Use the per-batch fences to wait on the last submitted batch

2019-09-18 Thread Boris Brezillon
We just replace the per-context out_sync object by a pointer to the
the fence of the last last submitted batch. Pipelining of batches will
come later.

Signed-off-by: Boris Brezillon 
---
Alyssa, I dropped your R-b since the other changes you asked me to do
in "panfrost: Add a batch fence" had some impact on this patch.

Changes in v3:
* Make sure we don't try to wait on dummy batches (those with no
  vertex/tiler/fragment jobs)
---
 src/gallium/drivers/panfrost/pan_context.c |  6 
 src/gallium/drivers/panfrost/pan_context.h |  3 +-
 src/gallium/drivers/panfrost/pan_job.c | 35 ++
 src/gallium/drivers/panfrost/pan_screen.c  | 18 +--
 4 files changed, 47 insertions(+), 15 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_context.c 
b/src/gallium/drivers/panfrost/pan_context.c
index 65a6c7f8c5ae..312a9e93e455 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -2702,12 +2702,6 @@ panfrost_create_context(struct pipe_screen *screen, void 
*priv, unsigned flags)
 panfrost_blend_context_init(gallium);
 panfrost_compute_context_init(gallium);
 
-ASSERTED int ret;
-
-ret = drmSyncobjCreate(pscreen->fd, DRM_SYNCOBJ_CREATE_SIGNALED,
-   &ctx->out_sync);
-assert(!ret);
-
 /* XXX: leaks */
 gallium->stream_uploader = u_upload_create_default(gallium);
 gallium->const_uploader = gallium->stream_uploader;
diff --git a/src/gallium/drivers/panfrost/pan_context.h 
b/src/gallium/drivers/panfrost/pan_context.h
index c145d589757e..ce3e0c899a4f 100644
--- a/src/gallium/drivers/panfrost/pan_context.h
+++ b/src/gallium/drivers/panfrost/pan_context.h
@@ -191,7 +191,8 @@ struct panfrost_context {
 /* True for t6XX, false for t8xx. */
 bool is_t6xx;
 
-uint32_t out_sync;
+/* The out sync fence of the last submitted batch. */
+struct panfrost_batch_fence *last_out_sync;
 };
 
 /* Corresponds to the CSO */
diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index b6763da66a97..55780dd3d9d6 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -425,11 +425,13 @@ panfrost_batch_submit_ioctl(struct panfrost_batch *batch,
 uint32_t *bo_handles;
 int ret;
 
-submit.in_syncs = (u64) (uintptr_t) &ctx->out_sync;
-submit.in_sync_count = 1;
 
-submit.out_sync = ctx->out_sync;
+if (ctx->last_out_sync) {
+submit.in_sync_count = 1;
+submit.in_syncs = (uintptr_t)&ctx->last_out_sync->syncobj;
+}
 
+submit.out_sync = batch->out_sync->syncobj;
 submit.jc = first_job_desc;
 submit.requirements = reqs;
 
@@ -445,6 +447,14 @@ panfrost_batch_submit_ioctl(struct panfrost_batch *batch,
 submit.bo_handles = (u64) (uintptr_t) bo_handles;
 ret = drmIoctl(screen->fd, DRM_IOCTL_PANFROST_SUBMIT, &submit);
 free(bo_handles);
+
+/* Release the last batch fence if any, and retain the new one */
+if (ctx->last_out_sync)
+panfrost_batch_fence_unreference(ctx->last_out_sync);
+
+panfrost_batch_fence_reference(batch->out_sync);
+ctx->last_out_sync = batch->out_sync;
+
 if (ret) {
 fprintf(stderr, "Error submitting: %m\n");
 return errno;
@@ -453,7 +463,8 @@ panfrost_batch_submit_ioctl(struct panfrost_batch *batch,
 /* Trace the job if we're doing that */
 if (pan_debug & PAN_DBG_TRACE) {
 /* Wait so we can get errors reported back */
-drmSyncobjWait(screen->fd, &ctx->out_sync, 1, INT64_MAX, 0, 
NULL);
+drmSyncobjWait(screen->fd, &batch->out_sync->syncobj, 1,
+   INT64_MAX, 0, NULL);
 pandecode_jc(submit.jc, FALSE);
 }
 
@@ -495,6 +506,15 @@ panfrost_batch_submit(struct panfrost_batch *batch)
  * to wait on it.
  */
 batch->out_sync->signaled = true;
+
+/* Release the last batch fence if any, and set ->last_out_sync
+ * to NULL
+ */
+if (ctx->last_out_sync) {
+panfrost_batch_fence_unreference(ctx->last_out_sync);
+ctx->last_out_sync = NULL;
+}
+
 goto out;
 }
 
@@ -527,8 +547,11 @@ out:
  * rendering is quite broken right now (to be fixed by the panfrost_job
  * refactor, just take the perf hit for correctness)
  */
-drmSyncobjWait(pan_screen(ctx->base.screen)->fd, &ctx->out_sync, 1,
-   INT64_MAX, 0, NULL);
+if (!batch->out_sync->signaled)
+drmSyncobjWait(pan_screen(ctx->base.screen)->fd,
+   &batch->out_sync->syncobj, 1, I

[Mesa-dev] [PATCH v3 08/17] panfrost: Add a panfrost_flush_all_batches() helper

2019-09-18 Thread Boris Brezillon
And use it in panfrost_flush() to flush all batches, and not only the
one currently bound to the context.

We also replace all internal calls to panfrost_flush() by
panfrost_flush_all_batches() ones.

Signed-off-by: Boris Brezillon 
Reviewed-by: Alyssa Rosenzweig 
---
Changes in v3:
* Add missing blank line
* Collect R-b
---
 src/gallium/drivers/panfrost/pan_compute.c  |  2 +-
 src/gallium/drivers/panfrost/pan_context.c  | 23 +++
 src/gallium/drivers/panfrost/pan_job.c  | 46 -
 src/gallium/drivers/panfrost/pan_job.h  |  2 +-
 src/gallium/drivers/panfrost/pan_resource.c |  6 +--
 5 files changed, 64 insertions(+), 15 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_compute.c 
b/src/gallium/drivers/panfrost/pan_compute.c
index 4639c1b03c38..036dffbb17be 100644
--- a/src/gallium/drivers/panfrost/pan_compute.c
+++ b/src/gallium/drivers/panfrost/pan_compute.c
@@ -133,7 +133,7 @@ panfrost_launch_grid(struct pipe_context *pipe,
 /* Queue the job */
 panfrost_scoreboard_queue_compute_job(batch, transfer);
 
-panfrost_flush(pipe, NULL, PIPE_FLUSH_END_OF_FRAME);
+panfrost_flush_all_batches(ctx, true);
 }
 
 void
diff --git a/src/gallium/drivers/panfrost/pan_context.c 
b/src/gallium/drivers/panfrost/pan_context.c
index aad69e3f9991..861b4b621602 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -1348,7 +1348,6 @@ panfrost_flush(
 unsigned flags)
 {
 struct panfrost_context *ctx = pan_context(pipe);
-struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx);
 struct util_dynarray fences;
 
 /* We must collect the fences before the flush is done, otherwise we'll
@@ -1356,13 +1355,18 @@ panfrost_flush(
  */
 if (fence) {
 util_dynarray_init(&fences, NULL);
-panfrost_batch_fence_reference(batch->out_sync);
-util_dynarray_append(&fences, struct panfrost_batch_fence *,
- batch->out_sync);
+hash_table_foreach(ctx->batches, hentry) {
+struct panfrost_batch *batch = hentry->data;
+
+panfrost_batch_fence_reference(batch->out_sync);
+util_dynarray_append(&fences,
+ struct panfrost_batch_fence *,
+ batch->out_sync);
+}
 }
 
-/* Submit the frame itself */
-panfrost_batch_submit(batch);
+/* Submit all pending jobs */
+panfrost_flush_all_batches(ctx, false);
 
 if (fence) {
 struct panfrost_fence *f = panfrost_fence_create(ctx, &fences);
@@ -2321,7 +2325,7 @@ panfrost_set_framebuffer_state(struct pipe_context *pctx,
 }
 
 if (!is_scanout || has_draws)
-panfrost_flush(pctx, NULL, PIPE_FLUSH_END_OF_FRAME);
+panfrost_flush_all_batches(ctx, true);
 else
 assert(!ctx->payloads[PIPE_SHADER_VERTEX].postfix.framebuffer 
&&

!ctx->payloads[PIPE_SHADER_FRAGMENT].postfix.framebuffer);
@@ -2553,6 +2557,7 @@ panfrost_get_query_result(struct pipe_context *pipe,
   union pipe_query_result *vresult)
 {
 struct panfrost_query *query = (struct panfrost_query *) q;
+struct panfrost_context *ctx = pan_context(pipe);
 
 
 switch (query->type) {
@@ -2560,7 +2565,7 @@ panfrost_get_query_result(struct pipe_context *pipe,
 case PIPE_QUERY_OCCLUSION_PREDICATE:
 case PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE:
 /* Flush first */
-panfrost_flush(pipe, NULL, PIPE_FLUSH_END_OF_FRAME);
+panfrost_flush_all_batches(ctx, true);
 
 /* Read back the query results */
 unsigned *result = (unsigned *) query->transfer.cpu;
@@ -2576,7 +2581,7 @@ panfrost_get_query_result(struct pipe_context *pipe,
 
 case PIPE_QUERY_PRIMITIVES_GENERATED:
 case PIPE_QUERY_PRIMITIVES_EMITTED:
-panfrost_flush(pipe, NULL, PIPE_FLUSH_END_OF_FRAME);
+panfrost_flush_all_batches(ctx, true);
 vresult->u64 = query->end - query->start;
 break;
 
diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index 211e48bafd4e..3ccf4bb6b3e9 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -856,7 +856,7 @@ panfrost_batch_submit_jobs(struct panfrost_batch *batch)
 return ret;
 }
 
-void
+static void
 panfrost_batch_submit(struct panfrost_batch *batch)
 {
 assert(batch);
@@ -904,8 +904,52 @@ out:
 
 panfrost_free_batch(batch);
 
+}
+
+void
+panfrost_flush_all_batches(struct panfrost_context *ctx, bool wait)
+{
+struct util_dynarray fences, syncobjs;

[Mesa-dev] [PATCH v3 03/17] panfrost: Add a batch fence

2019-09-18 Thread Boris Brezillon
So we can implement fine-grained dependency tracking between batches.

Signed-off-by: Boris Brezillon 
---
Changes in v3:
* Fix typos
* Do not initialize the syncobj in a signaled state, and set
  fence->signaled to true when submitting a dummy batch (one with no
  draw/clear queued)
---
 src/gallium/drivers/panfrost/pan_job.c | 56 +-
 src/gallium/drivers/panfrost/pan_job.h | 39 ++
 2 files changed, 94 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index 785317dbd0b0..b6763da66a97 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -36,6 +36,45 @@
 #include "pan_util.h"
 #include "pandecode/decode.h"
 
+static struct panfrost_batch_fence *
+panfrost_create_batch_fence(struct panfrost_batch *batch)
+{
+struct panfrost_batch_fence *fence;
+ASSERTED int ret;
+
+fence = rzalloc(NULL, struct panfrost_batch_fence);
+assert(fence);
+pipe_reference_init(&fence->reference, 1);
+fence->ctx = batch->ctx;
+fence->batch = batch;
+ret = drmSyncobjCreate(pan_screen(batch->ctx->base.screen)->fd, 0,
+   &fence->syncobj);
+assert(!ret);
+
+return fence;
+}
+
+static void
+panfrost_free_batch_fence(struct panfrost_batch_fence *fence)
+{
+drmSyncobjDestroy(pan_screen(fence->ctx->base.screen)->fd,
+  fence->syncobj);
+ralloc_free(fence);
+}
+
+void
+panfrost_batch_fence_unreference(struct panfrost_batch_fence *fence)
+{
+if (pipe_reference(&fence->reference, NULL))
+ panfrost_free_batch_fence(fence);
+}
+
+void
+panfrost_batch_fence_reference(struct panfrost_batch_fence *fence)
+{
+pipe_reference(NULL, &fence->reference);
+}
+
 static struct panfrost_batch *
 panfrost_create_batch(struct panfrost_context *ctx,
   const struct pipe_framebuffer_state *key)
@@ -53,6 +92,7 @@ panfrost_create_batch(struct panfrost_context *ctx,
 
 util_dynarray_init(&batch->headers, batch);
 util_dynarray_init(&batch->gpu_headers, batch);
+batch->out_sync = panfrost_create_batch_fence(batch);
 util_copy_framebuffer_state(&batch->key, key);
 
 return batch;
@@ -74,6 +114,15 @@ panfrost_free_batch(struct panfrost_batch *batch)
 if (ctx->batch == batch)
 ctx->batch = NULL;
 
+/* The out_sync fence lifetime is different from the the batch one
+ * since other batches might want to wait on a fence of already
+ * submitted/signaled batch. All we need to do here is make sure the
+ * fence does not point to an invalid batch, which the core will
+ * interpret as 'batch is already submitted'.
+ */
+batch->out_sync->batch = NULL;
+panfrost_batch_fence_unreference(batch->out_sync);
+
 util_unreference_framebuffer_state(&batch->key);
 ralloc_free(batch);
 }
@@ -441,8 +490,13 @@ panfrost_batch_submit(struct panfrost_batch *batch)
 int ret;
 
 /* Nothing to do! */
-if (!batch->last_job.gpu && !batch->clear)
+if (!batch->last_job.gpu && !batch->clear) {
+/* Mark the fence as signaled so the fence logic does not try
+ * to wait on it.
+ */
+batch->out_sync->signaled = true;
 goto out;
+}
 
 if (!batch->clear && batch->last_tiler.gpu)
 panfrost_batch_draw_wallpaper(batch);
diff --git a/src/gallium/drivers/panfrost/pan_job.h 
b/src/gallium/drivers/panfrost/pan_job.h
index 3f2cf1a999f3..88f1e4620fd0 100644
--- a/src/gallium/drivers/panfrost/pan_job.h
+++ b/src/gallium/drivers/panfrost/pan_job.h
@@ -31,6 +31,36 @@
 #include "pan_allocate.h"
 #include "pan_resource.h"
 
+/* panfrost_batch_fence is the out fence of a batch that users or other batches
+ * might want to wait on. The batch fence lifetime is different from the batch
+ * one as want will certainly want to wait upon the fence after the batch has
+ * been submitted (which is when panfrost_batch objects are freed).
+ */
+struct panfrost_batch_fence {
+/* Refcounting object for the fence. */
+struct pipe_reference reference;
+
+/* Batch that created this fence object. Will become NULL at batch
+ * submission time. This field is mainly here to know whether the
+ * batch has been flushed or not.
+ */
+struct panfrost_batch *batch;
+
+/* Context this fence is attached to. We need both ctx and batch, as
+ * the batch will go away after it's been submitted, but the fence
+ * will stay a bit longer.
+ */
+struct panfrost_context *ctx;
+
+/* Sync object backing this fence. */
+uint32_t syncobj;
+
+/* Cached value of the signaled state to avoid calling WAIT_SYNCOB

[Mesa-dev] [PATCH v3 02/17] panfrost: Make panfrost_batch->bos a hash table

2019-09-18 Thread Boris Brezillon
So we can store the flags as data and keep the BO as a key. This way
we keep track of the type of access done on BOs.

Signed-off-by: Boris Brezillon 
---
Changes in v3:
* None
---
 src/gallium/drivers/panfrost/pan_job.c | 33 +-
 src/gallium/drivers/panfrost/pan_job.h |  2 +-
 2 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index 8e2703ae168c..785317dbd0b0 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -44,9 +44,8 @@ panfrost_create_batch(struct panfrost_context *ctx,
 
 batch->ctx = ctx;
 
-batch->bos = _mesa_set_create(batch,
-  _mesa_hash_pointer,
-  _mesa_key_pointer_equal);
+batch->bos = _mesa_hash_table_create(batch, _mesa_hash_pointer,
+ _mesa_key_pointer_equal);
 
 batch->minx = batch->miny = ~0;
 batch->maxx = batch->maxy = 0;
@@ -67,10 +66,8 @@ panfrost_free_batch(struct panfrost_batch *batch)
 
 struct panfrost_context *ctx = batch->ctx;
 
-set_foreach(batch->bos, entry) {
-struct panfrost_bo *bo = (struct panfrost_bo *)entry->key;
-panfrost_bo_unreference(bo);
-}
+hash_table_foreach(batch->bos, entry)
+panfrost_bo_unreference((struct panfrost_bo *)entry->key);
 
 _mesa_hash_table_remove_key(ctx->batches, &batch->key);
 
@@ -138,11 +135,25 @@ panfrost_batch_add_bo(struct panfrost_batch *batch, 
struct panfrost_bo *bo,
 if (!bo)
 return;
 
-if (_mesa_set_search(batch->bos, bo))
+struct hash_entry *entry;
+uint32_t old_flags = 0;
+
+entry = _mesa_hash_table_search(batch->bos, bo);
+if (!entry) {
+entry = _mesa_hash_table_insert(batch->bos, bo,
+(void *)(uintptr_t)flags);
+panfrost_bo_reference(bo);
+   } else {
+old_flags = (uintptr_t)entry->data;
+}
+
+assert(entry);
+
+if (old_flags == flags)
 return;
 
-panfrost_bo_reference(bo);
-_mesa_set_add(batch->bos, bo);
+flags |= old_flags;
+entry->data = (void *)(uintptr_t)flags;
 }
 
 void panfrost_batch_add_fbo_bos(struct panfrost_batch *batch)
@@ -376,7 +387,7 @@ panfrost_batch_submit_ioctl(struct panfrost_batch *batch,
 bo_handles = calloc(batch->bos->entries, sizeof(*bo_handles));
 assert(bo_handles);
 
-set_foreach(batch->bos, entry) {
+hash_table_foreach(batch->bos, entry) {
 struct panfrost_bo *bo = (struct panfrost_bo *)entry->key;
 assert(bo->gem_handle > 0);
 bo_handles[submit.bo_handle_count++] = bo->gem_handle;
diff --git a/src/gallium/drivers/panfrost/pan_job.h 
b/src/gallium/drivers/panfrost/pan_job.h
index 0b37a3131e86..3f2cf1a999f3 100644
--- a/src/gallium/drivers/panfrost/pan_job.h
+++ b/src/gallium/drivers/panfrost/pan_job.h
@@ -98,7 +98,7 @@ struct panfrost_batch {
 unsigned job_index;
 
 /* BOs referenced -- will be used for flushing logic */
-struct set *bos;
+struct hash_table *bos;
 
 /* Current transient BO */
struct panfrost_bo *transient_bo;
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH v3 05/17] panfrost: Add a panfrost_freeze_batch() helper

2019-09-18 Thread Boris Brezillon
We'll soon need to freeze a batch not only when it's flushed, but also
when another batch depends on us, so let's add a helper to avoid
duplicating the logic.

Signed-off-by: Boris Brezillon 
Reviewed-by: Alyssa Rosenzweig 
---
Changes in v3:
* Collect R-b
---
 src/gallium/drivers/panfrost/pan_job.c | 62 ++
 1 file changed, 44 insertions(+), 18 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index 55780dd3d9d6..872c846207bf 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -98,22 +98,59 @@ panfrost_create_batch(struct panfrost_context *ctx,
 return batch;
 }
 
+static void
+panfrost_freeze_batch(struct panfrost_batch *batch)
+{
+struct panfrost_context *ctx = batch->ctx;
+struct hash_entry *entry;
+
+/* Remove the entry in the FBO -> batch hash table if the batch
+ * matches. This way, next draws/clears targeting this FBO will trigger
+ * the creation of a new batch.
+ */
+entry = _mesa_hash_table_search(ctx->batches, &batch->key);
+if (entry && entry->data == batch)
+_mesa_hash_table_remove(ctx->batches, entry);
+
+/* If this is the bound batch, the panfrost_context parameters are
+ * relevant so submitting it invalidates those parameters, but if it's
+ * not bound, the context parameters are for some other batch so we
+ * can't invalidate them.
+ */
+if (ctx->batch == batch) {
+panfrost_invalidate_frame(ctx);
+ctx->batch = NULL;
+}
+}
+
+#ifndef NDEBUG
+static bool panfrost_batch_is_frozen(struct panfrost_batch *batch)
+{
+struct panfrost_context *ctx = batch->ctx;
+struct hash_entry *entry;
+
+entry = _mesa_hash_table_search(ctx->batches, &batch->key);
+if (entry && entry->data == batch)
+return false;
+
+if (ctx->batch == batch)
+return false;
+
+return true;
+}
+#endif
+
 static void
 panfrost_free_batch(struct panfrost_batch *batch)
 {
 if (!batch)
 return;
 
-struct panfrost_context *ctx = batch->ctx;
+assert(panfrost_batch_is_frozen(batch));
 
 hash_table_foreach(batch->bos, entry)
 panfrost_bo_unreference((struct panfrost_bo *)entry->key);
 
-_mesa_hash_table_remove_key(ctx->batches, &batch->key);
-
-if (ctx->batch == batch)
-ctx->batch = NULL;
-
 /* The out_sync fence lifetime is different from the the batch one
  * since other batches might want to wait on a fence of already
  * submitted/signaled batch. All we need to do here is make sure the
@@ -529,19 +566,8 @@ panfrost_batch_submit(struct panfrost_batch *batch)
 fprintf(stderr, "panfrost_batch_submit failed: %d\n", ret);
 
 out:
-/* If this is the bound batch, the panfrost_context parameters are
- * relevant so submitting it invalidates those paramaters, but if it's
- * not bound, the context parameters are for some other batch so we
- * can't invalidate them.
- */
-if (ctx->batch == batch)
-panfrost_invalidate_frame(ctx);
-
-/* The job has been submitted, let's invalidate the current FBO job
- * cache.
-*/
+panfrost_freeze_batch(batch);
 assert(!ctx->batch || batch == ctx->batch);
-ctx->batch = NULL;
 
 /* We always stall the pipeline for correct results since pipelined
  * rendering is quite broken right now (to be fixed by the panfrost_job
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH v3 09/17] panfrost: Add a panfrost_flush_batches_accessing_bo() helper

2019-09-18 Thread Boris Brezillon
This will allow us to only flush batches touching a specific resource,
which is particularly useful when the CPU needs to access a BO.

Signed-off-by: Boris Brezillon 
Reviewed-by: Alyssa Rosenzweig 
---
Changes in v3:
* Collect R-b
---
 src/gallium/drivers/panfrost/pan_job.c | 31 ++
 src/gallium/drivers/panfrost/pan_job.h |  4 
 2 files changed, 35 insertions(+)

diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index 3ccf4bb6b3e9..e7eae399830f 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -952,6 +952,37 @@ panfrost_flush_all_batches(struct panfrost_context *ctx, 
bool wait)
 util_dynarray_fini(&syncobjs);
 }
 
+void
+panfrost_flush_batches_accessing_bo(struct panfrost_context *ctx,
+struct panfrost_bo *bo,
+uint32_t access_type)
+{
+struct panfrost_bo_access *access;
+struct hash_entry *hentry;
+
+/* It doesn't make any to flush only the readers. */
+assert(access_type == PAN_BO_ACCESS_WRITE ||
+   access_type == PAN_BO_ACCESS_RW);
+
+hentry = _mesa_hash_table_search(ctx->accessed_bos, bo);
+access = hentry ? hentry->data : NULL;
+if (!access)
+return;
+
+if (access_type & PAN_BO_ACCESS_WRITE && access->writer &&
+access->writer->batch)
+panfrost_batch_submit(access->writer->batch);
+
+if (!(access_type & PAN_BO_ACCESS_READ))
+return;
+
+util_dynarray_foreach(&access->readers, struct panfrost_batch_fence *,
+  reader) {
+if (*reader && (*reader)->batch)
+panfrost_batch_submit((*reader)->batch);
+}
+}
+
 void
 panfrost_batch_set_requirements(struct panfrost_batch *batch)
 {
diff --git a/src/gallium/drivers/panfrost/pan_job.h 
b/src/gallium/drivers/panfrost/pan_job.h
index e95e156a40f8..25905b516739 100644
--- a/src/gallium/drivers/panfrost/pan_job.h
+++ b/src/gallium/drivers/panfrost/pan_job.h
@@ -185,6 +185,10 @@ panfrost_batch_create_bo(struct panfrost_batch *batch, 
size_t size,
 void
 panfrost_flush_all_batches(struct panfrost_context *ctx, bool wait);
 
+void
+panfrost_flush_batches_accessing_bo(struct panfrost_context *ctx,
+struct panfrost_bo *bo, uint32_t flags);
+
 void
 panfrost_batch_set_requirements(struct panfrost_batch *batch);
 
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH v3 07/17] panfrost: Prepare panfrost_fence for batch pipelining

2019-09-18 Thread Boris Brezillon
The panfrost_fence logic currently waits on the last submitted batch,
but the batch serialization that was enforced in
panfrost_batch_submit() is about to go away, allowing for several
batches to be pipelined, and the last submitted one is not necessarily
the one that will finish last.

We need to make sure the fence logic waits on all flushed batches, not
only the last one.

Signed-off-by: Boris Brezillon 
Reviewed-by: Alyssa Rosenzweig 
---
Changes in v3:
* Fix a comment
* Adjust things to match the changes done in "panfrost: Add a batch fence"
---
 src/gallium/drivers/panfrost/pan_context.c | 18 +-
 src/gallium/drivers/panfrost/pan_context.h |  5 +-
 src/gallium/drivers/panfrost/pan_job.c | 16 -
 src/gallium/drivers/panfrost/pan_screen.c  | 71 +++---
 src/gallium/drivers/panfrost/pan_screen.h  |  3 +-
 5 files changed, 57 insertions(+), 56 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_context.c 
b/src/gallium/drivers/panfrost/pan_context.c
index 312a9e93e455..aad69e3f9991 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -1349,14 +1349,30 @@ panfrost_flush(
 {
 struct panfrost_context *ctx = pan_context(pipe);
 struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx);
+struct util_dynarray fences;
+
+/* We must collect the fences before the flush is done, otherwise we'll
+ * lose track of them.
+ */
+if (fence) {
+util_dynarray_init(&fences, NULL);
+panfrost_batch_fence_reference(batch->out_sync);
+util_dynarray_append(&fences, struct panfrost_batch_fence *,
+ batch->out_sync);
+}
 
 /* Submit the frame itself */
 panfrost_batch_submit(batch);
 
 if (fence) {
-struct panfrost_fence *f = panfrost_fence_create(ctx);
+struct panfrost_fence *f = panfrost_fence_create(ctx, &fences);
 pipe->screen->fence_reference(pipe->screen, fence, NULL);
 *fence = (struct pipe_fence_handle *)f;
+
+util_dynarray_foreach(&fences, struct panfrost_batch_fence *, 
fence)
+panfrost_batch_fence_unreference(*fence);
+
+util_dynarray_fini(&fences);
 }
 }
 
diff --git a/src/gallium/drivers/panfrost/pan_context.h 
b/src/gallium/drivers/panfrost/pan_context.h
index 3b09952345cf..d50ed57d5d8a 100644
--- a/src/gallium/drivers/panfrost/pan_context.h
+++ b/src/gallium/drivers/panfrost/pan_context.h
@@ -94,7 +94,7 @@ struct panfrost_query {
 
 struct panfrost_fence {
 struct pipe_reference reference;
-int fd;
+struct util_dynarray syncfds;
 };
 
 struct panfrost_streamout {
@@ -193,9 +193,6 @@ struct panfrost_context {
 
 /* True for t6XX, false for t8xx. */
 bool is_t6xx;
-
-/* The out sync fence of the last submitted batch. */
-struct panfrost_batch_fence *last_out_sync;
 };
 
 /* Corresponds to the CSO */
diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index b0494af3482f..211e48bafd4e 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -819,13 +819,6 @@ panfrost_batch_submit_ioctl(struct panfrost_batch *batch,
 free(bo_handles);
 free(in_syncs);
 
-/* Release the last batch fence if any, and retain the new one */
-if (ctx->last_out_sync)
-panfrost_batch_fence_unreference(ctx->last_out_sync);
-
-panfrost_batch_fence_reference(batch->out_sync);
-ctx->last_out_sync = batch->out_sync;
-
 if (ret) {
 fprintf(stderr, "Error submitting: %m\n");
 return errno;
@@ -884,15 +877,6 @@ panfrost_batch_submit(struct panfrost_batch *batch)
  * to wait on it.
  */
 batch->out_sync->signaled = true;
-
-/* Release the last batch fence if any, and set ->last_out_sync
- * to NULL
- */
-if (ctx->last_out_sync) {
-panfrost_batch_fence_unreference(ctx->last_out_sync);
-ctx->last_out_sync = NULL;
-}
-
 goto out;
 }
 
diff --git a/src/gallium/drivers/panfrost/pan_screen.c 
b/src/gallium/drivers/panfrost/pan_screen.c
index e2c31f7f8213..55c66e0c9a79 100644
--- a/src/gallium/drivers/panfrost/pan_screen.c
+++ b/src/gallium/drivers/panfrost/pan_screen.c
@@ -575,7 +575,9 @@ panfrost_fence_reference(struct pipe_screen *pscreen,
 struct panfrost_fence *old = *p;
 
 if (pipe_reference(&(*p)->reference, &f->reference)) {
-close(old->fd);
+util_dynarray_foreach(&old->syncfds, int, fd)
+close(*fd);
+util_dynarray_fini(&old->syncfds);

[Mesa-dev] [PATCH v3 10/17] panfrost: Kill the explicit serialization in panfrost_batch_submit()

2019-09-18 Thread Boris Brezillon
Now that we have all the pieces in place to support pipelining batches
we can get rid of the drmSyncobjWait() at the end of
panfrost_batch_submit().

Signed-off-by: Boris Brezillon 
Reviewed-by: Alyssa Rosenzweig 
---
Changes in v3:
* Collect R-b
---
 src/gallium/drivers/panfrost/pan_job.c | 12 
 1 file changed, 12 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index e7eae399830f..235cb21dc8c8 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -868,7 +868,6 @@ panfrost_batch_submit(struct panfrost_batch *batch)
 panfrost_batch_submit((*dep)->batch);
 }
 
-struct panfrost_context *ctx = batch->ctx;
 int ret;
 
 /* Nothing to do! */
@@ -892,18 +891,7 @@ panfrost_batch_submit(struct panfrost_batch *batch)
 
 out:
 panfrost_freeze_batch(batch);
-
-/* We always stall the pipeline for correct results since pipelined
- * rendering is quite broken right now (to be fixed by the panfrost_job
- * refactor, just take the perf hit for correctness)
- */
-if (!batch->out_sync->signaled)
-drmSyncobjWait(pan_screen(ctx->base.screen)->fd,
-   &batch->out_sync->syncobj, 1, INT64_MAX, 0,
-   NULL);
-
 panfrost_free_batch(batch);
-
 }
 
 void
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH v3 11/17] panfrost: Get rid of the flush in panfrost_set_framebuffer_state()

2019-09-18 Thread Boris Brezillon
Now that we have track inter-batch dependencies, the flush done in
panfrost_set_framebuffer_state() is no longer needed. Let's get rid of
it.

Signed-off-by: Boris Brezillon 
Reviewed-by: Alyssa Rosenzweig 
---
Changes in v3:
* Collect R-b
---
 src/gallium/drivers/panfrost/pan_context.c | 46 ++
 1 file changed, 3 insertions(+), 43 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_context.c 
b/src/gallium/drivers/panfrost/pan_context.c
index 861b4b621602..07bafad58a00 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -2299,50 +2299,10 @@ panfrost_set_framebuffer_state(struct pipe_context 
*pctx,
 {
 struct panfrost_context *ctx = pan_context(pctx);
 
-/* Flush when switching framebuffers, but not if the framebuffer
- * state is being restored by u_blitter
- */
-
-struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx);
-bool is_scanout = panfrost_batch_is_scanout(batch);
-bool has_draws = batch->last_job.gpu;
-
-/* Bail out early when the current and new states are the same. */
-if (util_framebuffer_state_equal(&ctx->pipe_framebuffer, fb))
-return;
-
-/* The wallpaper logic sets a new FB state before doing the blit and
- * restore the old one when it's done. Those FB states are reported to
- * be different because the surface they are pointing to are different,
- * but those surfaces actually point to the same cbufs/zbufs. In that
- * case we definitely don't want new FB descs to be emitted/attached
- * since the job is expected to be flushed just after the blit is done,
- * so let's just copy the new state and return here.
- */
-if (ctx->wallpaper_batch) {
-util_copy_framebuffer_state(&ctx->pipe_framebuffer, fb);
-return;
-}
-
-if (!is_scanout || has_draws)
-panfrost_flush_all_batches(ctx, true);
-else
-assert(!ctx->payloads[PIPE_SHADER_VERTEX].postfix.framebuffer 
&&
-   
!ctx->payloads[PIPE_SHADER_FRAGMENT].postfix.framebuffer);
-
-/* Invalidate the FBO job cache since we've just been assigned a new
- * FB state.
- */
-ctx->batch = NULL;
-
+panfrost_hint_afbc(pan_screen(pctx->screen), fb);
 util_copy_framebuffer_state(&ctx->pipe_framebuffer, fb);
-
-/* Given that we're rendering, we'd love to have compression */
-struct panfrost_screen *screen = pan_screen(ctx->base.screen);
-
-panfrost_hint_afbc(screen, &ctx->pipe_framebuffer);
-for (unsigned i = 0; i < PIPE_SHADER_TYPES; ++i)
-ctx->payloads[i].postfix.framebuffer = 0;
+ctx->batch = NULL;
+panfrost_invalidate_frame(ctx);
 }
 
 static void *
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH v3 06/17] panfrost: Start tracking inter-batch dependencies

2019-09-18 Thread Boris Brezillon
The idea is to track which BO are being accessed and the type of access
to determine when a dependency exists. Thanks to that we can build a
dependency graph that will allow us to flush batches in the correct
order.

Signed-off-by: Boris Brezillon 
---
Changes in v3:
* Fix coding style issues
* Do not check for batch presence in the reader array when updating
  a BO access (we already have this information)
* Add more comments to explain what we're doing and why we're doing
  it like that
---
 src/gallium/drivers/panfrost/pan_context.h |   3 +
 src/gallium/drivers/panfrost/pan_job.c | 355 -
 src/gallium/drivers/panfrost/pan_job.h |   3 +
 3 files changed, 356 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_context.h 
b/src/gallium/drivers/panfrost/pan_context.h
index ce3e0c899a4f..3b09952345cf 100644
--- a/src/gallium/drivers/panfrost/pan_context.h
+++ b/src/gallium/drivers/panfrost/pan_context.h
@@ -114,6 +114,9 @@ struct panfrost_context {
 struct panfrost_batch *batch;
 struct hash_table *batches;
 
+/* panfrost_bo -> panfrost_bo_access */
+struct hash_table *accessed_bos;
+
 /* Within a launch_grid call.. */
 const struct pipe_grid_info *compute_grid;
 
diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index 872c846207bf..b0494af3482f 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -36,6 +36,29 @@
 #include "pan_util.h"
 #include "pandecode/decode.h"
 
+/* panfrost_bo_access is here to help us keep track of batch accesses to BOs
+ * and build a proper dependency graph such that batches can be pipelined for
+ * better GPU utilization.
+ *
+ * Each accessed BO has a corresponding entry in the ->accessed_bos hash table.
+ * A BO is either being written or read at any time, that's what the type field
+ * encodes.
+ * When the last access is a write, the batch writing the BO might have read
+ * dependencies (readers that have not been executed yet and want to read the
+ * previous BO content), and when the last access is a read, all readers might
+ * depend on another batch to push its results to memory. That's what the
+ * readers/writers keep track off.
+ * There can only be one writer at any given time, if a new batch wants to
+ * write to the same BO, a dependency will be added between the new writer and
+ * the old writer (at the batch level), and panfrost_bo_access->writer will be
+ * updated to point to the new writer.
+ */
+struct panfrost_bo_access {
+uint32_t type;
+struct util_dynarray readers;
+struct panfrost_batch_fence *writer;
+};
+
 static struct panfrost_batch_fence *
 panfrost_create_batch_fence(struct panfrost_batch *batch)
 {
@@ -92,6 +115,7 @@ panfrost_create_batch(struct panfrost_context *ctx,
 
 util_dynarray_init(&batch->headers, batch);
 util_dynarray_init(&batch->gpu_headers, batch);
+util_dynarray_init(&batch->dependencies, batch);
 batch->out_sync = panfrost_create_batch_fence(batch);
 util_copy_framebuffer_state(&batch->key, key);
 
@@ -151,6 +175,11 @@ panfrost_free_batch(struct panfrost_batch *batch)
 hash_table_foreach(batch->bos, entry)
 panfrost_bo_unreference((struct panfrost_bo *)entry->key);
 
+util_dynarray_foreach(&batch->dependencies,
+  struct panfrost_batch_fence *, dep) {
+panfrost_batch_fence_unreference(*dep);
+}
+
 /* The out_sync fence lifetime is different from the the batch one
  * since other batches might want to wait on a fence of already
  * submitted/signaled batch. All we need to do here is make sure the
@@ -164,6 +193,56 @@ panfrost_free_batch(struct panfrost_batch *batch)
 ralloc_free(batch);
 }
 
+#ifndef NDEBUG
+static bool
+panfrost_dep_graph_contains_batch(struct panfrost_batch *root,
+  struct panfrost_batch *batch)
+{
+if (!root)
+return false;
+
+util_dynarray_foreach(&root->dependencies,
+  struct panfrost_batch_fence *, dep) {
+if ((*dep)->batch == batch ||
+panfrost_dep_graph_contains_batch((*dep)->batch, batch))
+return true;
+}
+
+return false;
+}
+#endif
+
+static void
+panfrost_batch_add_dep(struct panfrost_batch *batch,
+   struct panfrost_batch_fence *newdep)
+{
+if (batch == newdep->batch)
+return;
+
+/* We might want to turn ->dependencies into a set if the number of
+ * deps turns out to be big enough to make this 'is dep already there'
+ * search inefficient.
+ */
+util_dynarray_foreach(&batch->dependencies,
+  struct panfrost_batch_fence *, dep) {
+if (*dep == newde

[Mesa-dev] [PATCH v3 14/17] panfrost: Do fine-grained flushing when preparing BO for CPU accesses

2019-09-18 Thread Boris Brezillon
We don't have to flush all batches when we're only interested in
reading/writing a specific BO. Thanks to the
panfrost_flush_batches_accessing_bo() and panfrost_bo_wait() helpers
we can now flush only the batches touching the BO we want to access
from the CPU.

Signed-off-by: Boris Brezillon 
Reviewed-by: Alyssa Rosenzweig 
---
Changes in v3:
* Collect R-b
---
 src/gallium/drivers/panfrost/pan_resource.c | 27 +
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_resource.c 
b/src/gallium/drivers/panfrost/pan_resource.c
index 1f7605adcd5d..d59529ff15b7 100644
--- a/src/gallium/drivers/panfrost/pan_resource.c
+++ b/src/gallium/drivers/panfrost/pan_resource.c
@@ -578,10 +578,8 @@ panfrost_transfer_map(struct pipe_context *pctx,
 is_bound |= fb->cbufs[c]->texture == resource;
 }
 
-if (is_bound && (usage & PIPE_TRANSFER_READ)) {
-assert(level == 0);
-panfrost_flush_all_batches(ctx, true);
-}
+if (is_bound && (usage & PIPE_TRANSFER_READ))
+ assert(level == 0);
 
 /* TODO: Respect usage flags */
 
@@ -594,11 +592,11 @@ panfrost_transfer_map(struct pipe_context *pctx,
 /* No flush for writes to uninitialized */
 } else if (!(usage & PIPE_TRANSFER_UNSYNCHRONIZED)) {
 if (usage & PIPE_TRANSFER_WRITE) {
-/* STUB: flush reading */
-//printf("debug: missed reading flush %d\n", 
resource->target);
+panfrost_flush_batches_accessing_bo(ctx, bo, 
PAN_BO_GPU_ACCESS_RW);
+panfrost_bo_wait(bo, INT64_MAX, PAN_BO_GPU_ACCESS_RW);
 } else if (usage & PIPE_TRANSFER_READ) {
-/* STUB: flush writing */
-//printf("debug: missed writing flush %d (%d-%d)\n", 
resource->target, box->x, box->x + box->width);
+panfrost_flush_batches_accessing_bo(ctx, bo, 
PAN_BO_GPU_ACCESS_WRITE);
+panfrost_bo_wait(bo, INT64_MAX, 
PAN_BO_GPU_ACCESS_WRITE);
 } else {
 /* Why are you even mapping?! */
 }
@@ -748,11 +746,8 @@ panfrost_generate_mipmap(
  * reorder-type optimizations in place. But for now prioritize
  * correctness. */
 
-struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx);
-bool has_draws = batch->last_job.gpu;
-
-if (has_draws)
-panfrost_flush_all_batches(ctx, true);
+panfrost_flush_batches_accessing_bo(ctx, rsrc->bo, 
PAN_BO_GPU_ACCESS_RW);
+panfrost_bo_wait(rsrc->bo, INT64_MAX, PAN_BO_GPU_ACCESS_RW);
 
 /* We've flushed the original buffer if needed, now trigger a blit */
 
@@ -765,8 +760,10 @@ panfrost_generate_mipmap(
 /* If the blit was successful, flush once more. If it wasn't, well, let
  * the state tracker deal with it. */
 
-if (blit_res)
-panfrost_flush_all_batches(ctx, true);
+if (blit_res) {
+panfrost_flush_batches_accessing_bo(ctx, rsrc->bo, 
PAN_BO_GPU_ACCESS_WRITE);
+panfrost_bo_wait(rsrc->bo, INT64_MAX, PAN_BO_GPU_ACCESS_WRITE);
+}
 
 return blit_res;
 }
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH v3 16/17] panfrost: Take draw call order into account

2019-09-18 Thread Boris Brezillon
This is not strictly required, but let's try to match the draw call
orders, just in case the app had a reason to do it in this order.

Signed-off-by: Boris Brezillon 
---
 src/gallium/drivers/panfrost/pan_context.h |  6 ++
 src/gallium/drivers/panfrost/pan_job.c | 23 +++---
 src/gallium/drivers/panfrost/pan_job.h |  3 +++
 3 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_context.h 
b/src/gallium/drivers/panfrost/pan_context.h
index f13967f51b46..c6b53685b285 100644
--- a/src/gallium/drivers/panfrost/pan_context.h
+++ b/src/gallium/drivers/panfrost/pan_context.h
@@ -114,6 +114,12 @@ struct panfrost_context {
 struct panfrost_batch *batch;
 struct hash_table *fbo_to_batch;
 
+/* A list containing all non-submitted batches since the last flush.
+ * This list is used to keep track of clear/draw order on batches that
+ * don't have explicit dependencies between them.
+ */
+struct list_head batch_queue;
+
 /* panfrost_bo -> panfrost_bo_access */
 struct hash_table *accessed_bos;
 
diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index 45f9d9d24b41..d8330bc133a6 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -116,6 +116,7 @@ panfrost_create_batch(struct panfrost_context *ctx,
 util_dynarray_init(&batch->headers, batch);
 util_dynarray_init(&batch->gpu_headers, batch);
 util_dynarray_init(&batch->dependencies, batch);
+list_inithead(&batch->queue_node);
 batch->out_sync = panfrost_create_batch_fence(batch);
 util_copy_framebuffer_state(&batch->key, key);
 
@@ -180,6 +181,9 @@ panfrost_free_batch(struct panfrost_batch *batch)
 panfrost_batch_fence_unreference(*dep);
 }
 
+/* Remove the batch from the batch queue. */
+list_del(&batch->queue_node);
+
 /* The out_sync fence lifetime is different from the the batch one
  * since other batches might want to wait on a fence of already
  * submitted/signaled batch. All we need to do here is make sure the
@@ -570,6 +574,13 @@ void panfrost_batch_add_fbo_bos(struct panfrost_batch 
*batch)
 struct panfrost_resource *rsrc = 
pan_resource(batch->key.zsbuf->texture);
 panfrost_batch_add_bo(batch, rsrc->bo, flags);
 }
+
+/* We the batch was not already present in the queue, add it know.
+ * Should we move the batch at end of the queue when a new draw
+ * happens?
+ */
+if (list_empty(&batch->queue_node))
+list_addtail(&batch->queue_node, &batch->ctx->batch_queue);
 }
 
 struct panfrost_bo *
@@ -916,10 +927,15 @@ panfrost_flush_all_batches(struct panfrost_context *ctx, 
bool wait)
 util_dynarray_init(&syncobjs, NULL);
 }
 
-hash_table_foreach(ctx->fbo_to_batch, hentry) {
-struct panfrost_batch *batch = hentry->data;
+/* We can use the for_each_entry_safe() iterator here because the
+ * next element might be removed from the list when flushing the
+ * dependencies in panfrost_batch_submit().
+ */
+while (!list_empty(&ctx->batch_queue)) {
+struct panfrost_batch *batch;
 
-assert(batch);
+batch = list_first_entry(&ctx->batch_queue,
+ struct panfrost_batch, queue_node);
 
 if (wait) {
 panfrost_batch_fence_reference(batch->out_sync);
@@ -1189,4 +1205,5 @@ panfrost_batch_init(struct panfrost_context *ctx)
 panfrost_batch_compare);
 ctx->accessed_bos = _mesa_hash_table_create(ctx, _mesa_hash_pointer,
 _mesa_key_pointer_equal);
+list_inithead(&ctx->batch_queue);
 }
diff --git a/src/gallium/drivers/panfrost/pan_job.h 
b/src/gallium/drivers/panfrost/pan_job.h
index 25905b516739..e1b1f56a2e64 100644
--- a/src/gallium/drivers/panfrost/pan_job.h
+++ b/src/gallium/drivers/panfrost/pan_job.h
@@ -71,6 +71,9 @@ struct panfrost_batch {
 struct panfrost_context *ctx;
 struct pipe_framebuffer_state key;
 
+/* Used to insert the batch in the batch queue */
+struct list_head queue_node;
+
 /* Buffers cleared (PIPE_CLEAR_* bitmask) */
 unsigned clear;
 
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH v3 15/17] panfrost: Rename ctx->batches into ctx->fbo_to_batch

2019-09-18 Thread Boris Brezillon
We are about to add a batch queue to keep track of submission order.
Let's rename the existing batches hash table (which is used to get the
batch attached to an FBO) into fbo_to_batch to avoid confusion.

Signed-off-by: Boris Brezillon 
---
 src/gallium/drivers/panfrost/pan_context.c  |  2 +-
 src/gallium/drivers/panfrost/pan_context.h  |  2 +-
 src/gallium/drivers/panfrost/pan_job.c  | 21 +++--
 src/gallium/drivers/panfrost/pan_resource.c | 16 
 4 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_context.c 
b/src/gallium/drivers/panfrost/pan_context.c
index 07bafad58a00..0330b5852676 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -1355,7 +1355,7 @@ panfrost_flush(
  */
 if (fence) {
 util_dynarray_init(&fences, NULL);
-hash_table_foreach(ctx->batches, hentry) {
+hash_table_foreach(ctx->fbo_to_batch, hentry) {
 struct panfrost_batch *batch = hentry->data;
 
 panfrost_batch_fence_reference(batch->out_sync);
diff --git a/src/gallium/drivers/panfrost/pan_context.h 
b/src/gallium/drivers/panfrost/pan_context.h
index d50ed57d5d8a..f13967f51b46 100644
--- a/src/gallium/drivers/panfrost/pan_context.h
+++ b/src/gallium/drivers/panfrost/pan_context.h
@@ -112,7 +112,7 @@ struct panfrost_context {
 
 /* Bound job batch and map of panfrost_batch_key to job batches */
 struct panfrost_batch *batch;
-struct hash_table *batches;
+struct hash_table *fbo_to_batch;
 
 /* panfrost_bo -> panfrost_bo_access */
 struct hash_table *accessed_bos;
diff --git a/src/gallium/drivers/panfrost/pan_job.c 
b/src/gallium/drivers/panfrost/pan_job.c
index a56f4044fda0..45f9d9d24b41 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -132,9 +132,9 @@ panfrost_freeze_batch(struct panfrost_batch *batch)
  * matches. This way, next draws/clears targeting this FBO will trigger
  * the creation of a new batch.
  */
-entry = _mesa_hash_table_search(ctx->batches, &batch->key);
+entry = _mesa_hash_table_search(ctx->fbo_to_batch, &batch->key);
 if (entry && entry->data == batch)
-_mesa_hash_table_remove(ctx->batches, entry);
+_mesa_hash_table_remove(ctx->fbo_to_batch, entry);
 
 /* If this is the bound batch, the panfrost_context parameters are
  * relevant so submitting it invalidates those parameters, but if it's
@@ -153,7 +153,7 @@ static bool panfrost_batch_is_frozen(struct panfrost_batch 
*batch)
 struct panfrost_context *ctx = batch->ctx;
 struct hash_entry *entry;
 
-entry = _mesa_hash_table_search(ctx->batches, &batch->key);
+entry = _mesa_hash_table_search(ctx->fbo_to_batch, &batch->key);
 if (entry && entry->data == batch)
 return false;
 
@@ -248,7 +248,8 @@ panfrost_get_batch(struct panfrost_context *ctx,
const struct pipe_framebuffer_state *key)
 {
 /* Lookup the job first */
-struct hash_entry *entry = _mesa_hash_table_search(ctx->batches, key);
+struct hash_entry *entry = _mesa_hash_table_search(ctx->fbo_to_batch,
+   key);
 
 if (entry)
 return entry->data;
@@ -258,7 +259,7 @@ panfrost_get_batch(struct panfrost_context *ctx,
 struct panfrost_batch *batch = panfrost_create_batch(ctx, key);
 
 /* Save the created job */
-_mesa_hash_table_insert(ctx->batches, &batch->key, batch);
+_mesa_hash_table_insert(ctx->fbo_to_batch, &batch->key, batch);
 
 return batch;
 }
@@ -915,7 +916,7 @@ panfrost_flush_all_batches(struct panfrost_context *ctx, 
bool wait)
 util_dynarray_init(&syncobjs, NULL);
 }
 
-hash_table_foreach(ctx->batches, hentry) {
+hash_table_foreach(ctx->fbo_to_batch, hentry) {
 struct panfrost_batch *batch = hentry->data;
 
 assert(batch);
@@ -931,7 +932,7 @@ panfrost_flush_all_batches(struct panfrost_context *ctx, 
bool wait)
 panfrost_batch_submit(batch);
 }
 
-assert(!ctx->batches->entries);
+assert(!ctx->fbo_to_batch->entries);
 
 /* Collect batch fences before returning */
 panfrost_gc_fences(ctx);
@@ -1183,9 +1184,9 @@ panfrost_batch_is_scanout(struct panfrost_batch *batch)
 void
 panfrost_batch_init(struct panfrost_context *ctx)
 {
-ctx->batches = _mesa_hash_table_create(ctx,
-   panfrost_batch_hash,
-   panfrost_batch_compare);
+ctx->fbo_to_batch = _mesa_hash_table_create(ctx,
+panfrost_bat

[Mesa-dev] [PATCH v3 12/17] panfrost: Add flags to reflect the BO imported/exported state

2019-09-18 Thread Boris Brezillon
Will be useful to make the ioctl(WAIT_BO) call conditional on BOs that
are not exported/imported (meaning that all GPU accesses are known
by the context).

Signed-off-by: Boris Brezillon 
Reviewed-by: Alyssa Rosenzweig 
---
Changes in v3:
* Collect R-b
---
 src/gallium/drivers/panfrost/pan_bo.c | 4 ++--
 src/gallium/drivers/panfrost/pan_bo.h | 6 ++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_bo.c 
b/src/gallium/drivers/panfrost/pan_bo.c
index 209d1e0d71e5..9daddf9d0cc2 100644
--- a/src/gallium/drivers/panfrost/pan_bo.c
+++ b/src/gallium/drivers/panfrost/pan_bo.c
@@ -355,7 +355,7 @@ panfrost_bo_import(struct panfrost_screen *screen, int fd)
 bo->gem_handle = gem_handle;
 bo->gpu = (mali_ptr) get_bo_offset.offset;
 bo->size = lseek(fd, 0, SEEK_END);
-bo->flags |= PAN_BO_DONT_REUSE;
+bo->flags |= PAN_BO_DONT_REUSE | PAN_BO_IMPORTED;
 assert(bo->size > 0);
 pipe_reference_init(&bo->reference, 1);
 
@@ -376,7 +376,7 @@ panfrost_bo_export(struct panfrost_bo *bo)
 if (ret == -1)
 return -1;
 
-bo->flags |= PAN_BO_DONT_REUSE;
+bo->flags |= PAN_BO_DONT_REUSE | PAN_BO_EXPORTED;
 return args.fd;
 }
 
diff --git a/src/gallium/drivers/panfrost/pan_bo.h 
b/src/gallium/drivers/panfrost/pan_bo.h
index 73cc74a260d4..e4743f820aeb 100644
--- a/src/gallium/drivers/panfrost/pan_bo.h
+++ b/src/gallium/drivers/panfrost/pan_bo.h
@@ -56,6 +56,12 @@ struct panfrost_screen;
  * let the BO logic know about this contraint. */
 #define PAN_BO_DONT_REUSE (1 << 5)
 
+/* BO has been imported */
+#define PAN_BO_IMPORTED   (1 << 6)
+
+/* BO has been exported */
+#define PAN_BO_EXPORTED   (1 << 7)
+
 /* GPU access flags */
 
 /* BO is either shared (can be accessed by more than one GPU batch) or private
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH v3 13/17] panfrost: Make sure the BO is 'ready' when picked from the cache

2019-09-18 Thread Boris Brezillon
This is needed if we want to free the panfrost_batch object at submit
time in order to not have to GC the batch on the next job submission.

Signed-off-by: Boris Brezillon 
---
Changes in v3:
* Move the patch later in the series and squash "panfrost: Cache GPU
  accesses to BOs" in it
* Add extra comments to explain what we're doing
---
 src/gallium/drivers/panfrost/pan_bo.c  | 112 -
 src/gallium/drivers/panfrost/pan_bo.h  |   9 ++
 src/gallium/drivers/panfrost/pan_job.c |  11 +++
 3 files changed, 109 insertions(+), 23 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_bo.c 
b/src/gallium/drivers/panfrost/pan_bo.c
index 9daddf9d0cc2..37602688d630 100644
--- a/src/gallium/drivers/panfrost/pan_bo.c
+++ b/src/gallium/drivers/panfrost/pan_bo.c
@@ -23,6 +23,7 @@
  * Authors (Collabora):
  *   Alyssa Rosenzweig 
  */
+#include 
 #include 
 #include 
 #include 
@@ -101,6 +102,63 @@ panfrost_bo_free(struct panfrost_bo *bo)
 ralloc_free(bo);
 }
 
+/* Returns true if the BO is ready, false otherwise.
+ * access_type is encoding the type of access one wants to ensure is done.
+ * Say you want to make sure all writers are done writing, you should pass
+ * PAN_BO_ACCESS_WRITE.
+ * If you want to wait for all users, you should pass PAN_BO_ACCESS_RW.
+ * PAN_BO_ACCESS_READ would work too as waiting for readers implies
+ * waiting for writers as well, but we want to make things explicit and waiting
+ * only for readers is impossible.
+ */
+bool
+panfrost_bo_wait(struct panfrost_bo *bo, int64_t timeout_ns,
+ uint32_t access_type)
+{
+struct drm_panfrost_wait_bo req = {
+.handle = bo->gem_handle,
+   .timeout_ns = timeout_ns,
+};
+int ret;
+
+assert(access_type == PAN_BO_ACCESS_WRITE ||
+   access_type == PAN_BO_ACCESS_RW);
+
+/* If the BO has been exported or imported we can't rely on the cached
+ * state, we need to call the WAIT_BO ioctl.
+ */
+if (!(bo->flags & (PAN_BO_IMPORTED | PAN_BO_EXPORTED))) {
+/* If ->gpu_access is 0, the BO is idle, no need to wait. */
+if (!bo->gpu_access)
+return true;
+
+/* If the caller only wants to wait for writers and no
+ * writes are pending, we don't have to wait.
+ */
+if (access_type == PAN_BO_ACCESS_WRITE &&
+!(bo->gpu_access & PAN_BO_ACCESS_WRITE))
+return true;
+}
+
+/* The ioctl returns >= 0 value when the BO we are waiting for is ready
+ * -1 otherwise.
+ */
+ret = drmIoctl(bo->screen->fd, DRM_IOCTL_PANFROST_WAIT_BO, &req);
+if (ret != -1) {
+/* Set gpu_access to 0 so that the next call to bo_wait()
+ * doesn't have to call the WAIT_BO ioctl.
+ */
+bo->gpu_access = 0;
+return true;
+}
+
+/* If errno is not ETIMEDOUT or EBUSY that means the handle we passed
+ * is invalid, which shouldn't happen here.
+ */
+assert(errno == ETIMEDOUT || errno == EBUSY);
+return false;
+}
+
 /* Helper to calculate the bucket index of a BO */
 
 static unsigned
@@ -137,9 +195,8 @@ pan_bucket(struct panfrost_screen *screen, unsigned size)
  * BO. */
 
 static struct panfrost_bo *
-panfrost_bo_cache_fetch(
-struct panfrost_screen *screen,
-size_t size, uint32_t flags)
+panfrost_bo_cache_fetch(struct panfrost_screen *screen,
+size_t size, uint32_t flags, bool dontwait)
 {
 pthread_mutex_lock(&screen->bo_cache_lock);
 struct list_head *bucket = pan_bucket(screen, size);
@@ -147,27 +204,30 @@ panfrost_bo_cache_fetch(
 
 /* Iterate the bucket looking for something suitable */
 list_for_each_entry_safe(struct panfrost_bo, entry, bucket, link) {
-if (entry->size >= size &&
-entry->flags == flags) {
-int ret;
-struct drm_panfrost_madvise madv;
+if (entry->size < size || entry->flags != flags)
+continue;
 
-/* This one works, splice it out of the cache */
-list_del(&entry->link);
+if (!panfrost_bo_wait(entry, dontwait ? 0 : INT64_MAX,
+  PAN_BO_ACCESS_RW))
+continue;
 
-madv.handle = entry->gem_handle;
-madv.madv = PANFROST_MADV_WILLNEED;
-madv.retained = 0;
+struct drm_panfrost_madvise madv = {
+.handle = entry->gem_handle,
+.madv = PANFROST_MADV_WILLNEED,
+};
+int ret;
 
-ret = drmIoctl(screen->f

[Mesa-dev] [PATCH v3 17/17] panfrost/ci: New tests are passing

2019-09-18 Thread Boris Brezillon
All dEQP-GLES2.functional.fbo.render.texsubimage.* tests are now
passing.

Signed-off-by: Boris Brezillon 
Reviewed-by: Alyssa Rosenzweig 
---
Changes in v3:
 * Collect R-b
---
 src/gallium/drivers/panfrost/ci/expected-failures.txt | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/gallium/drivers/panfrost/ci/expected-failures.txt 
b/src/gallium/drivers/panfrost/ci/expected-failures.txt
index b0fc872a3009..3c707230dd23 100644
--- a/src/gallium/drivers/panfrost/ci/expected-failures.txt
+++ b/src/gallium/drivers/panfrost/ci/expected-failures.txt
@@ -53,10 +53,6 @@ 
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
 
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
 Fail
 
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
 Fail
 
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16 
Fail
-dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgba Fail
-dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgb Fail
-dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgba Fail
-dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgb Fail
 dEQP-GLES2.functional.fragment_ops.depth_stencil.random.0 Fail
 dEQP-GLES2.functional.fragment_ops.depth_stencil.random.10 Fail
 dEQP-GLES2.functional.fragment_ops.depth_stencil.random.11 Fail
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 110995] performance regression in Heroes of the Storm with Mesa 19.1.1 & Polaris

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110995

Samuel Pitoiset  changed:

   What|Removed |Added

 Resolution|FIXED   |---
 Status|RESOLVED|REOPENED

--- Comment #9 from Samuel Pitoiset  ---
Can you please pull the MR and try again? Does the performance regression is
still fixed? I would say yes, just want a confirmation.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH 1/2] panfrost: Fix indexed draws

2019-09-18 Thread Boris Brezillon
->padded_count should be large enough to cover all vertices pointed by
the index array. Use the local vertex_count variable that contains the
updated vertex_count value for the indexed draw case.

Signed-off-by: Boris Brezillon 
---
 src/gallium/drivers/panfrost/pan_context.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/panfrost/pan_context.c 
b/src/gallium/drivers/panfrost/pan_context.c
index 08b799b66bf8..1b8558c1c2c1 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -1601,7 +1601,7 @@ panfrost_draw_vbo(
 
 ctx->padded_count = pan_expand_shift_odd(so);
 } else {
-ctx->padded_count = ctx->vertex_count;
+ctx->padded_count = vertex_count;
 
 /* Reset instancing state */
 ctx->payloads[PIPE_SHADER_VERTEX].instance_shift = 0;
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH 2/2] dEQP-GLES2.functional.buffer.write.use.index_array.* are passing now.

2019-09-18 Thread Boris Brezillon
Signed-off-by: Boris Brezillon 
---
 src/gallium/drivers/panfrost/ci/expected-failures.txt | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/gallium/drivers/panfrost/ci/expected-failures.txt 
b/src/gallium/drivers/panfrost/ci/expected-failures.txt
index b0fc872a3009..0cadaa20cdb2 100644
--- a/src/gallium/drivers/panfrost/ci/expected-failures.txt
+++ b/src/gallium/drivers/panfrost/ci/expected-failures.txt
@@ -1,5 +1,3 @@
-dEQP-GLES2.functional.buffer.write.use.index_array.array Fail
-dEQP-GLES2.functional.buffer.write.use.index_array.element_array Fail
 dEQP-GLES2.functional.color_clear.masked_rgba Fail
 dEQP-GLES2.functional.color_clear.masked_rgb Fail
 dEQP-GLES2.functional.color_clear.masked_scissored_rgba Fail
-- 
2.21.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111734] Geometry shader with double interpolators fails in LLVM

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111734

Bug ID: 111734
   Summary: Geometry shader with double interpolators fails in
LLVM
   Product: Mesa
   Version: git
  Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
  Severity: normal
  Priority: not set
 Component: Drivers/Vulkan/radeon
  Assignee: mesa-dev@lists.freedesktop.org
  Reporter: bald...@baldurk.org
QA Contact: mesa-dev@lists.freedesktop.org

Created attachment 145427
  --> https://bugs.freedesktop.org/attachment.cgi?id=145427&action=edit
VkRunner test showing crash

When compiling a geometry shader with double inputs and outputs I get an LLVM
fatal error:

LLVM ERROR: Cannot select: 0x55de91ee9320: v2i32 = bitcast 0x55de91ee9048
  0x55de91ee9048: f32,ch = BUFFER_LOAD<(dereferenceable load 4 from custom
TargetCustom7, align 1, addrspace 4)> 0x55de91dcfbc8, 0x55de91e58860,
Constant:i32<0>, 0x55de91ee8a98, Constant:i32<0>, Constant:i32<0>,
Constant:i32<1>, Constant:i1<0>
0x55de91e58860: v4i32,ch = load<(invariant load 16 from %ir.12, addrspace
4)> 0x55de91dcfbc8, 0x55de91e581e0, undef:i64
  0x55de91e581e0: i64 = add 0x55de91e587f8, Constant:i64<32>
0x55de91e587f8: i64,ch = CopyFromReg 0x55de91dcfbc8, Register:i64 %0
  0x55de91ee8e40: i64 = Register %0
0x55de91e58318: i64 = Constant<32>
  0x55de91e58380: i64 = undef
0x55de91ee8b68: i32 = Constant<0>
0x55de91ee8a98: i32 = add 0x55de91e58e10, Constant:i32<4096>
  0x55de91e58e10: i32 = shl 0x55de91e58998, Constant:i32<2>
0x55de91e58998: i32,ch = CopyFromReg 0x55de91dcfbc8, Register:i32 %3
  0x55de91e586c0: i32 = Register %3
0x55de91e58cd8: i32 = Constant<2>
  0x55de91ee8a30: i32 = Constant<4096>
0x55de91ee8b68: i32 = Constant<0>
0x55de91ee8b68: i32 = Constant<0>
0x55de91e58ad0: i32 = Constant<1>
0x55de91eeb340: i1 = Constant<0>
In function: main

with this geometry shader:

#version 450 core

layout(triangles) in;
layout(triangle_strip, max_vertices = 3) out;

layout(location = 0) in double InDouble[3];
layout(location = 0) out double OutDouble;

void main() {
  gl_Position = vec4(0);
  for(int i = 0; i < 3; i++) {
OutDouble = InDouble[i];
EmitVertex();
  }
  EndPrimitive();
}

I've attached a VkRunner test which shows the crash.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 110995] performance regression in Heroes of the Storm with Mesa 19.1.1 & Polaris

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110995

--- Comment #10 from tempel.jul...@gmail.com ---
With the updated MR, performance unfortunately is worse again.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 110995] performance regression in Heroes of the Storm with Mesa 19.1.1 & Polaris

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110995

--- Comment #11 from Samuel Pitoiset  ---
Okay, that's unfortunate but I prefer correctness vs performance. I will wait
for the MR to be reviewed and let you know what happens.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111734] Geometry shader with double interpolators fails in LLVM

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111734

Samuel Pitoiset  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #1 from Samuel Pitoiset  ---
Fixed by
https://gitlab.freedesktop.org/mesa/mesa/commit/68820007fddbb5b79f1b2b08e66ef14092053a95

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111737] nir_opt_algebraic.c takes too long to compile

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111737

Bug ID: 111737
   Summary: nir_opt_algebraic.c takes too long to compile
   Product: Mesa
   Version: git
  Hardware: Other
OS: All
Status: NEW
  Severity: not set
  Priority: not set
 Component: glsl-compiler
  Assignee: mesa-dev@lists.freedesktop.org
  Reporter: i...@freedesktop.org
QA Contact: intel-3d-b...@lists.freedesktop.org

One our 72-thread build machine, release builds of Mesa used to take 90
seconds.  They now take closer to 8 minutes.  All of the extra time is spent
compiling nir_opt_algebraic.c.  Debug builds do not seem to be affected.  I
bisected this to:

f097247dd831da9b6e48baebc8b91efec3afcd28 is the first bad commit
commit f097247dd831da9b6e48baebc8b91efec3afcd28
Author: Samuel Iglesias Gonsálvez 
Date:   Wed Dec 12 16:29:13 2018 +0100

nir/algebraic: disable inexact optimizations depending on float controls
execution mode

If FLOAT_CONTROLS_SIGNED_ZERO_INF_NAN_PRESERVE or
FLOAT_CONTROLS_DENORM_FLUSH_TO_ZERO are enabled, do not apply the
inexact optimizations so the VK_KHR_shader_float_controls execution
mode is respected.

v2:
- Do not apply inexact optimizations if SHADER_DENORM_FLUSH_TO_ZERO is
  enabled (Andres).

v3:
- Updated to renamed shader info member (Andres).

v4:
- Directly access execution mode instead of dragging it by parameter
(Caio).

Signed-off-by: Samuel Iglesias Gonsálvez 
Signed-off-by: Andres Gomez 
Reviewed-by: Connor Abbott  [v1]

:04 04 33e076aacc5a6a4f10065cac2c8b06af0a5439a2
2b4a6e086b09648fc67a1f219777d51dc96f60f5 M  src

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111737] nir_opt_algebraic.c takes too long to compile

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111737

Ian Romanick  changed:

   What|Removed |Added

   Keywords||bisected
   Assignee|mesa-dev@lists.freedesktop. |sigles...@igalia.com
   |org |

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] Switching to Gitlab Issues instead of Bugzilla?

2019-09-18 Thread Adam Jackson
On Thu, 2019-08-29 at 11:52 -0700, Kenneth Graunke wrote:

> What do people think?  If folks are in favor, Daniel can migrate
> everything for us, like he did with the other projects.  If not,
> I'd like to hear what people's concerns are.

It's been almost three weeks, and this seems to have resulted in broad
consensus and very little objection, mostly around how to build
searches effectively. So, let's do it.

I've enabled filing issues for the remaining mesa projects that didn't
have it already (vkpipeline-db, shader-db, drm, and mesa itself). I
also turned merge requests on for mesa/drm (which is just libdrm, not
the kernel). I'll be going through bugzilla for the Mesa and DRI
products and migrating or closing bugs as appropriate. After each
component is migrated it will be closed for bug entry, so there will be
a small window here where bugs can be filed in two places, hopefully
this shouldn't cause too much confusion.

The remaining bikeshed here is the drm kernel repository, and
relatedly, what to do with bugs that are kernel issues. For now I'm
going to handle that by trying to avoid migrating obvious kernel
issues. There's the outline of a migration plan already in:

https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/69

If the kernel maintainers are ready to move the canonical repo URL and
issues, then let's get that moving sooner rather than later.

For progress on the migration, suggestions about how and where to move
issues, etc., please see:

https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/190

- ajax

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 18508] OpenGL texture corruption

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=18508

Adam Jackson  changed:

   What|Removed |Added

 Resolution|--- |INVALID
 Status|NEW |RESOLVED

--- Comment #7 from Adam Jackson  ---
Ten year old bug, closing.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 32515] Wrong rendering of Vertex Buffer Object backed Vertex Array

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=32515

Adam Jackson  changed:

   What|Removed |Added

  Component|Drivers/X11 |Drivers/DRI/swrast

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 32528] X server crashes in VMware guest when KDE started with kwin "OpenGLIsUnsafe=false"

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=32528

Adam Jackson  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #4 from Adam Jackson  ---
Ancient bug, closing.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 38869] Cannot create a valid pBuffer with height and/or width of zero

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=38869

Adam Jackson  changed:

   What|Removed |Added

  Component|Drivers/X11 |GLX

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 39846] can't compile mesa ‘__u64’problem.

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=39846

Adam Jackson  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |INVALID

--- Comment #7 from Adam Jackson  ---
Ancient bug, closing.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 43128] Software Rasterizer Alpha buffer transparent when window does not request an alpha buffer.

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43128

Adam Jackson  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Adam Jackson  ---
Recent Xorgs will punish the alpha-ful visual by hiding it in a lower-priority
select group, so you won't get alpha unless you ask for it.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 101498] Graphical glitches when updating window content on screen

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=101498

Adam Jackson  changed:

   What|Removed |Added

   Assignee|mesa-dev@lists.freedesktop. |intel-3d-bugs@lists.freedes
   |org |ktop.org
 QA Contact|mesa-dev@lists.freedesktop. |intel-3d-bugs@lists.freedes
   |org |ktop.org
  Component|Drivers/X11 |Drivers/DRI/i965

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 93103] llvm symbols leak through, cause trouble with software rendering in llvm-linked software

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=93103

Adam Jackson  changed:

   What|Removed |Added

  Component|Drivers/X11 |Drivers/Gallium/llvmpipe

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 109574] Blender 2.8

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=109574

Adam Jackson  changed:

   What|Removed |Added

   Assignee|mesa-dev@lists.freedesktop. |dri-devel@lists.freedesktop
   |org |.org
  Component|Drivers/X11 |Drivers/Gallium/r600
 QA Contact|mesa-dev@lists.freedesktop. |dri-devel@lists.freedesktop
   |org |.org

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 110337] Mesa 19.0.0(1) freeze system on Oland with amdgpu driver

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110337

Adam Jackson  changed:

   What|Removed |Added

  Component|Drivers/X11 |Drivers/Vulkan/radeon

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111430] modesetting driver causes artefacts on HD Graphics 620

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111430

Adam Jackson  changed:

   What|Removed |Added

   Assignee|mesa-dev@lists.freedesktop. |intel-3d-bugs@lists.freedes
   |org |ktop.org
  Component|Drivers/X11 |Drivers/DRI/i965
 QA Contact|mesa-dev@lists.freedesktop. |intel-3d-bugs@lists.freedes
   |org |ktop.org

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111444] [TRACKER] Mesa 19.2 release tracker

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111444

Mark Janes  changed:

   What|Removed |Added

 Depends on||111631


Referenced Bugs:

https://bugs.freedesktop.org/show_bug.cgi?id=111631
[Bug 111631] HSW. Tropico 6 and SuperTuxKart have shadows flickering
-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 111444] [TRACKER] Mesa 19.2 release tracker

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=111444
Bug 111444 depends on bug 110395, which changed state.

Bug 110395 Summary: Gen8 and lower. Shadows are flickering in SuperTuxKart
https://bugs.freedesktop.org/show_bug.cgi?id=110395

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |DUPLICATE

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [ANNOUNCE] mesa 19.2.0-rc4

2019-09-18 Thread Dylan Baker
Hi List,

I'd like to announce the availability of mesa 19.2.0-rc4. Things are starting to
slow down, which I like to see this late in the release cycle. There are only 4
blocking bugs left on the tracker:
https://bugs.freedesktop.org/show_bug.cgi?id=111444 (plus 1 soft blocker),
and it looks like there's progress on all of them, so I'm still hopeful that
next week we'll have the final 19.2.0 release next week.

Dylan


Shortlog


Caio Marcelo de Oliveira Filho (1):
  glsl/nir: Avoid overflow when setting max_uniform_location

Danylo Piliaiev (2):
  nir/loop_analyze: Treat do{}while(false) loops as 0 iterations
  tgsi_to_nir: Translate TGSI_INTERPOLATE_COLOR as INTERP_MODE_NONE

Dylan Baker (3):
  meson: don't generate file into subdirs
  add patches to be ignored
  Bump version for 19.2.0-rc4

Iago Toral Quiroga (1):
  v3d: make sure we have enough space in the CL for the primitive counts 
packet

Jason Ekstrand (1):
  intel/fs: Handle UNDEF in split_virtual_grfs

Kenneth Graunke (3):
  iris: Fix constant buffer sizes for non-UBOs
  gallium: Fix util_format_get_depth_only
  iris: Initialize ice->state.prim_mode to an invalid value

Lionel Landwerlin (5):
  radv: store engine name
  driconfig: add a new engine name/version parameter
  vulkan: add vk_x11_strict_image_count option
  util/xmlconfig: fix regexp compile failure check
  drirc: include unreal engine version 0 to 23

Marek Olšák (1):
  radeonsi: add Navi12 PCI ID

Rhys Perry (1):
  radv: always emit a position export in gs copy shaders

Samuel Pitoiset (1):
  radv: fix allocating number of user sgprs if streamout is used

Sergii Romantsov (1):
  nir/large_constants: more careful data copying

Tapani Pälli (1):
  iris: close screen fd on iris_destroy_screen


git tag: mesa-19.2.0-rc4

https://mesa.freedesktop.org/archive/release/mesa/meson-dist/mesa-19.2.0-rc4.tar.xz
SHA256: 1b286be9c60bf831f024fc5de83a424ac463b77c8b568ca26657ec76307e8d10  
mesa-19.2.0-rc4.tar.xz
SHA512: 
a00422b4278951e4706671fe1507d5ba323a3badaceb03649dde425216fbb3cd83a21785374c75135e90fc5c6c67963f8aad0c33dac1cedaed3b69f2cd9f1c9b
  mesa-19.2.0-rc4.tar.xz
PGP:  
https://mesa.freedesktop.org/archive/release/mesa/meson-dist/mesa-19.2.0-rc4.tar.xz.sig



signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] Switching to Gitlab Issues instead of Bugzilla?

2019-09-18 Thread Kristian Høgsberg
On Wed, Sep 18, 2019 at 8:45 AM Adam Jackson  wrote:
>
> On Thu, 2019-08-29 at 11:52 -0700, Kenneth Graunke wrote:
>
> > What do people think?  If folks are in favor, Daniel can migrate
> > everything for us, like he did with the other projects.  If not,
> > I'd like to hear what people's concerns are.
>
> It's been almost three weeks, and this seems to have resulted in broad
> consensus and very little objection, mostly around how to build
> searches effectively. So, let's do it.
>
> I've enabled filing issues for the remaining mesa projects that didn't
> have it already (vkpipeline-db, shader-db, drm, and mesa itself). I
> also turned merge requests on for mesa/drm (which is just libdrm, not
> the kernel). I'll be going through bugzilla for the Mesa and DRI
> products and migrating or closing bugs as appropriate. After each
> component is migrated it will be closed for bug entry, so there will be
> a small window here where bugs can be filed in two places, hopefully
> this shouldn't cause too much confusion.

Thanks Adam! I moved the freedreno bugs from krh/mesa to mesa/mesa.
For reference, here's the commandline I pieced together from Adam's
pointers:

https://docs.gitlab.com/ee/api/issues.html#move-an-issue

and

https://gitlab.freedesktop.org/profile/personal_access_tokens

and then:

for i in {1..46}; do echo move issue $i; curl --header "PRIVATE-TOKEN:
$token" --form to_project_id=176
https://gitlab.freedesktop.org/api/v4/projects/420/issues/$i/move;
echo; done

Kristian

> The remaining bikeshed here is the drm kernel repository, and
> relatedly, what to do with bugs that are kernel issues. For now I'm
> going to handle that by trying to avoid migrating obvious kernel
> issues. There's the outline of a migration plan already in:
>
> https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/69
>
> If the kernel maintainers are ready to move the canonical repo URL and
> issues, then let's get that moving sooner rather than later.
>
> For progress on the migration, suggestions about how and where to move
> issues, etc., please see:
>
> https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/190
>
> - ajax
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 22014] Bogus GL_INVALID_OPERATION when calling glGetError inside glNewList() - glEndList() block with GL_COMPILE_AND_EXECUTE

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=22014

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #2 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/43.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 64335] DispatchList leaked in glxapi.c?

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=64335

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/45.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 64324] memory leak of visual info

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=64324

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #2 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/44.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 14134] Crash when context is shared among 2 processes.

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=14134

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/53.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 10488] assertion failure in libGL.so.1 when running wine on xvnc4 at 16bpp

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=10488

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/49.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 10542] Non-accelerated renderer on pipe B

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=10542

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #30 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/50.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 17659] driver_configs never deallocated

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=17659

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #5 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/54.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 13398] X crashes when logging out of second display with composite

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=13398

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #5 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/52.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 9272] glXDestroyContext causes fatal error when sharing display lists (dri)

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=9272

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEEDINFO|RESOLVED
 Resolution|--- |MOVED

--- Comment #3 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/48.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 11016] glGetVertexAttribivARB(0, GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB, ...) generates GL_INVALID_ENUM with indirect rendering

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=11016

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #2 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/51.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 23380] glxChooseVisual: visualList might have not been initialized (crash)

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=23380

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #4 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/56.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 4681] glDeleteTextures and glDeleteTexturesEXT erroneously share same offset

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=4681

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #3 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/47.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 24226] libGL tries using direct mode when it should use indirect (only tries indirect if forced)

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=24226

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #20 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/57.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 24342] "bad target in _mesa_select_tex_object()" when using glXBindTexImageEXT

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=24342

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/58.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 25778] radeon driver crashes kwin

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=25778

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #7 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/59.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 26487] freeglut segfault because it receives a __GLcontextModes instead of a GLXFBConfig

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=26487

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|ASSIGNED|RESOLVED

--- Comment #3 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/60.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 29344] Long urls in chromium causes X to close when I use compositing window manager.

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29344

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/65.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 29646] baddrawable when resizing a window in gnome-shell/mutter

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29646

Adam Jackson  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #6 from Adam Jackson  ---
Ancient bug that bztogl doesn't want to import correctly for whatever reason,
closing.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 30102] glean depthStencil test fails BadLength with indirect non-swrast rendering

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=30102

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #4 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/67.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 30220] Change windowExistsErrorHandler to drawableExistsErrorHandler in glxcmds.c ?

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=30220

Adam Jackson  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #8 from Adam Jackson  ---
Closing per comment #7

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 31898] Unstable menus, dropdowns, dialog boxes (turning black)

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=31898

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/69.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 32946] piglit glx-make-current gives X error BadMatch

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=32946

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #7 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/70.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 33078] Sauerbraten refuses to start

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=33078

Adam Jackson  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #6 from Adam Jackson  ---
Migrated to https://gitlab.freedesktop.org/mesa/mesa/issues/71

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 33758] CreateDRIDrawable can't fail gracefully

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=33758

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #6 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/72.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 38970] [bisected]piglit glx/glx-pixmap-multi failed

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=38970

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #21 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/78.

-- 
You are receiving this mail because:
You are on the CC list for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 38676] glproto pkg-config settings not propagated to src/glx/Makefile

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=38676

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/76.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 34401] glXGetScreenDriver doesn't report the same driver name as used in ~/.drirc

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=34401

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #2 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/73.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 38869] Cannot create a valid pBuffer with height and/or width of zero

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=38869

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #6 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/77.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 39570] glx-multithread lock during piglit test

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=39570

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/80.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 35607] glXWaitVideoSyncSGI() function freezes at resolution change

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=35607

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEEDINFO|RESOLVED
 Resolution|--- |MOVED

--- Comment #2 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/75.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 46502] Wine crashes with idnirect rendering

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=46502

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #5 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/83.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 47066] glxinfo says "nouveau" on dual seat when on a monitor drived by a radeon card

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=47066

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #14 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/84.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 54971] __glXInitialize can initialize same display multiple times

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=54971

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #4 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/87.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 45352] SIGSEGV drisw_glx.c:95

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=45352

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/82.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 52930] glXWaitX is often ineffective

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=52930

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/85.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 54736] Creating a Pbuffer requires a pixmap of same depth.

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=54736

GitLab Migration User  changed:

   What|Removed |Added

 Resolution|--- |MOVED
 Status|NEW |RESOLVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/86.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 39219] libgl conflict with xbmc causes lock up on xbmc exit

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=39219

GitLab Migration User  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |MOVED

--- Comment #13 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/79.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 55552] Compile errors with --enable-mangling

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=2

GitLab Migration User  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |MOVED

--- Comment #1 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/88.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 79629] [Dri3 bisected] piglit glx_GLX_ARB_create_context_current_with_no_framebuffer fail

2019-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=79629

GitLab Migration User  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |MOVED

--- Comment #22 from GitLab Migration User  ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/95.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

  1   2   3   4   5   6   >