[Mesa-dev] [Bug 107508] Crash in st_renderbuffer_delete()

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=107508

Timothy Arceri  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |NOTOURBUG

--- Comment #7 from Timothy Arceri  ---
Fixed accepted in xserver. Closing.

-- 
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 109131] cc1plus: error: unrecognized command line option "-std=c++11"

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=109131

Timothy Arceri  changed:

   What|Removed |Added

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

--- Comment #6 from Timothy Arceri  ---
autotools builds have been removed from Mesa. Closing.

-- 
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 108933] Unreal Tournament (UT99) segfault on opengl init

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108933

Timothy Arceri  changed:

   What|Removed |Added

 Resolution|--- |DUPLICATE
 Status|NEW |RESOLVED

--- Comment #15 from Timothy Arceri  ---


*** This bug has been marked as a duplicate of bug 37637 ***

-- 
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 37637] unreal tournament crashes with mesa 7.11-dev

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=37637

Timothy Arceri  changed:

   What|Removed |Added

 CC||network...@rkmail.ru

--- Comment #14 from Timothy Arceri  ---
*** Bug 108933 has been marked as a duplicate of this bug. ***

-- 
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 88275] [865G] Intel OpenGL rendering isn't starting

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=88275

Timothy Arceri  changed:

   What|Removed |Added

   Assignee|mesa-dev@lists.freedesktop. |dri-devel@lists.freedesktop
   |org |.org
  Component|Mesa core   |Drivers/DRI/i915

-- 
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] [PATCH] radv: call constant folding before opt algebraic

2019-05-06 Thread Timothy Arceri

ping!

On 2/5/19 1:38 pm, Timothy Arceri wrote:

The pattern of calling opt algebraic first seems to have originated
in i965. The order in OpenGL drivers generally doesn't matter
because the GLSL IR optimisations do constant folding before
opt algebraic.

However in Vulkan drivers calling opt algebraic first can result
in missed constant folding opportunities.

vkpipeline-db results (VEGA64):

Totals from affected shaders:
SGPRS: 3160 -> 3176 (0.51 %)
VGPRS: 3588 -> 3580 (-0.22 %)
Spilled SGPRs: 52 -> 44 (-15.38 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 12 -> 12 (0.00 %) dwords per thread
Code Size: 261812 -> 261036 (-0.30 %) bytes
LDS: 7 -> 7 (0.00 %) blocks
Max Waves: 346 -> 348 (0.58 %)
Wait states: 0 -> 0 (0.00 %)
---
  src/amd/vulkan/radv_shader.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
index cd5a9f2afb4..ad7b2439735 100644
--- a/src/amd/vulkan/radv_shader.c
+++ b/src/amd/vulkan/radv_shader.c
@@ -162,8 +162,8 @@ radv_optimize_nir(struct nir_shader *shader, bool 
optimize_conservatively,
  NIR_PASS(progress, shader, nir_opt_dead_cf);
  NIR_PASS(progress, shader, nir_opt_cse);
  NIR_PASS(progress, shader, nir_opt_peephole_select, 8, true, 
true);
-NIR_PASS(progress, shader, nir_opt_algebraic);
  NIR_PASS(progress, shader, nir_opt_constant_folding);
+NIR_PASS(progress, shader, nir_opt_algebraic);
  NIR_PASS(progress, shader, nir_opt_undef);
  NIR_PASS(progress, shader, nir_opt_conditional_discard);
  if (shader->options->max_unroll_iterations) {


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

[Mesa-dev] [Bug 110632] "glx: Fix synthetic error generation in __glXSendError" broke wine games on 32-bit

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110632

--- Comment #4 from Andrew Randrianasulu  ---
(In reply to Andrew Randrianasulu from comment #2)
> Created attachment 144184 [details]
> apitrace from failed run (mesa git without revert)

hm, last line from apitrace:

12665 glXCreateContextAttribsARB(dpy = 0x7cbb2e18, config = 0x7c880b90,
share_context = NULL, direct = True, attrib_list =
{GLX_CONTEXT_MAJOR_VERSION_ARB, 4, GLX_CONTEXT_MINOR_VERSION_ARB, 4, 0}) //
incomplete

does this mean it tries to create 4.4 core context? If so, my hardware doesn't
support this (nv92 with nouveau drivers, only up to OpenGL 3.3)

-- 
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 37274] Crash in draw_llvm_shader23 (r300g, rs690, in warzone2100)

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=37274

Timothy Arceri  changed:

   What|Removed |Added

   Assignee|mesa-dev@lists.freedesktop. |dri-devel@lists.freedesktop
   |org |.org
  Component|Mesa core   |Drivers/Gallium/r300

-- 
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 110632] "glx: Fix synthetic error generation in __glXSendError" broke wine games on 32-bit

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110632

--- Comment #3 from Andrew Randrianasulu  ---
(In reply to Ian Romanick from comment #1)
> Is it possible to get a backtrace from __glXSendError?  I don't understand
> why this particular commit would change behavior from "not error" to "error".

sorry, not familiar enough with gdb. Should I set breakpoint somewhere in
libGL?

-- 
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 106351] Freezes with plasmashell and steam client

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=106351

--- Comment #17 from Timothy Arceri  ---
Did a fix for this end up landing?

-- 
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 110632] "glx: Fix synthetic error generation in __glXSendError" broke wine games on 32-bit

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110632

--- Comment #2 from Andrew Randrianasulu  ---
Created attachment 144184
  --> https://bugs.freedesktop.org/attachment.cgi?id=144184=edit
apitrace from failed run (mesa git without revert)

-- 
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 44344] [i915g] state_tracker/st_glsl_to_tgsi.cpp:3082:simplify_cmp: Assertion `inst->dst.index < 4096' failed.

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=44344

Timothy Arceri  changed:

   What|Removed |Added

  Component|Mesa core   |Drivers/Gallium/i915g
   Assignee|mesa-dev@lists.freedesktop. |dri-devel@lists.freedesktop
   |org |.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

[Mesa-dev] [Bug 109184] tgsi_to_nir: nir_build_alu: Assertion `src_bit_size == nir_alu_type_get_type_size(op_info->input_types[i])' failed.

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=109184

--- Comment #2 from Timothy Arceri  ---
Does this still fail? There were a bunch of updates to ttn recently.

-- 
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 110632] "glx: Fix synthetic error generation in __glXSendError" broke wine games on 32-bit

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110632

--- Comment #1 from Ian Romanick  ---
Is it possible to get a backtrace from __glXSendError?  I don't understand why
this particular commit would change behavior from "not error" to "error".

-- 
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] Revert "glx: Fix synthetic error generation in __glXSendError"

2019-05-06 Thread Timothy Arceri
This reverts commit e91ee763c378d03883eb88cf0eadd8aa916f7878.

This seems to have broken a number of wine games.

Cc: Adam Jackson 
Cc: Ian Romanick 
Cc: Hal Gentz 
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110632
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110590
---
 src/glx/glx_error.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/glx/glx_error.c b/src/glx/glx_error.c
index 712ecf8213d..653cbeb2d2a 100644
--- a/src/glx/glx_error.c
+++ b/src/glx/glx_error.c
@@ -54,7 +54,7 @@ __glXSendError(Display * dpy, int_fast8_t errorCode, 
uint_fast32_t resourceID,
   error.errorCode = glx_dpy->codes->first_error + errorCode;
}
 
-   error.sequenceNumber = dpy->last_request_read;
+   error.sequenceNumber = dpy->request;
error.resourceID = resourceID;
error.minorCode = minorCode;
error.majorCode = glx_dpy->majorOpcode;
@@ -73,7 +73,7 @@ __glXSendErrorForXcb(Display * dpy, const xcb_generic_error_t 
*err)
 
error.type = X_Error;
error.errorCode = err->error_code;
-   error.sequenceNumber = dpy->last_request_read;
+   error.sequenceNumber = err->sequence;
error.resourceID = err->resource_id;
error.minorCode = err->minor_code;
error.majorCode = err->major_code;
-- 
2.20.1

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

[Mesa-dev] [Bug 110632] "glx: Fix synthetic error generation in __glXSendError" broke wine games on 32-bit

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110632

Bug ID: 110632
   Summary: "glx: Fix synthetic error generation in
__glXSendError" broke wine games on 32-bit
   Product: Mesa
   Version: git
  Hardware: x86 (IA32)
OS: Linux (All)
Status: NEW
  Severity: normal
  Priority: medium
 Component: GLX
  Assignee: mesa-dev@lists.freedesktop.org
  Reporter: rand...@mail.ru
QA Contact: mesa-dev@lists.freedesktop.org

with normal mesa build (up to commit d4a249aa09d0571e07859f847494f728acb6ee77):

wine UnrealTournament.exe
0029:err:ntoskrnl:ZwLoadDriver failed to create driver
L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\zntport": c142
0015:err:service:process_send_command service protocol error - failed to write
pipe!
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"zntport"
failed to start: 1114
0009:fixme:process:GetProcessWorkingSetSizeEx
(0x,0x32f39c,0x32f394,(nil)): stub
0009:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0.
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32c0c8,0x), stub!
X Error of failed request:  GLXBadFBConfig
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  34 ()
  Serial number of failed request:  890
  Current serial number in output stream:  890
--

with e91ee763c378d03883eb88cf0eadd8aa916f7878 reverted locally:

wine UnrealTournament.exe
002a:err:ntoskrnl:ZwLoadDriver failed to create driver
L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\zntport": c142
0014:err:service:process_send_command service protocol error - failed to write
pipe!
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"zntport"
failed to start: 1114
0009:fixme:process:GetProcessWorkingSetSizeEx
(0x,0x32f39c,0x32f394,(nil)): stub
0009:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0.
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32c0c8,0x), stub!
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32c488,0x), stub!
0009:fixme:ddraw:ddraw7_Initialize Ignoring guid
{----}.
0009:fixme:ddraw:ddraw_surface7_Flip Ignoring flags 0x1.
0009:err:ole:CoGetClassObject class {92fa2c24-253c-11d2-90fb-006008a1f441} not
registered
0009:err:ole:CoGetClassObject no class object
{92fa2c24-253c-11d2-90fb-006008a1f441} could be created for context 0x1
0009:err:ole:CoGetClassObject class {d8f1eee0-f634-11cf-8700-00a0245d918b} not
registered
0009:err:ole:CoGetClassObject no class object
{d8f1eee0-f634-11cf-8700-00a0245d918b} could be created for context 0x1
0009:fixme:d3d:state_linepattern_w Setting line patterns is not supported in
OpenGL core contexts.

and game starts normally.

wine version:
wine-4.5

-- 
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 108952] mesa-git broke cinnamon, temporary downgrade fix

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108952

Timothy Arceri  changed:

   What|Removed |Added

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

-- 
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 107699] Account and Access request

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=107699

Timothy Arceri  changed:

   What|Removed |Added

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

--- Comment #2 from Timothy Arceri  ---
Seems to have been granted at some point. Closing.

-- 
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] nir: Add is_divergent_vector search helper

2019-05-06 Thread Alyssa Rosenzweig
This allows algebraic optimizations to check if the argument accesses
multiple distinct components of a vector. So a swizzle like "xyz" will
return true, but "yyy" will return false, as will a scalar. This can be
useful for optimizations on vector processors, where a convergent
swizzle can be done in one clock (replicating as if a scalar) but a
divergent one must be scalarized. In these cases, it is useful to
optimize differently based on whether the swizzle diverges. (Use case is
the "csel" condition on Midgard).

Signed-off-by: Alyssa Rosenzweig 
Cc: Jason Ekstrand 
---
 src/compiler/nir/nir_search_helpers.h | 16 
 1 file changed, 16 insertions(+)

diff --git a/src/compiler/nir/nir_search_helpers.h 
b/src/compiler/nir/nir_search_helpers.h
index 1624508993d..46d7c300643 100644
--- a/src/compiler/nir/nir_search_helpers.h
+++ b/src/compiler/nir/nir_search_helpers.h
@@ -143,6 +143,22 @@ is_not_const(nir_alu_instr *instr, unsigned src, UNUSED 
unsigned num_components,
return !nir_src_is_const(instr->src[src].src);
 }
 
+/* I.e. a vector that actually accesses multiple channels */
+
+static inline bool
+is_divergent_vector(nir_alu_instr *instr, UNUSED unsigned src, unsigned 
num_components,
+ const uint8_t *swizzle)
+{
+   unsigned first_component = swizzle[0];
+
+   for (unsigned i = 1; i < num_components; ++i) {
+  if (swizzle[i] != first_component)
+ return true;
+   }
+
+   return false;
+}
+
 static inline bool
 is_used_more_than_once(nir_alu_instr *instr)
 {
-- 
2.20.1

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

[Mesa-dev] [PATCH 2/2] panfrost/midgard: Cleanup csel lowering

2019-05-06 Thread Alyssa Rosenzweig
Signed-off-by: Alyssa Rosenzweig 
---
 .../panfrost/midgard/midgard_compile.c| 151 +++---
 .../panfrost/midgard/midgard_nir_algebraic.py |  12 +-
 2 files changed, 37 insertions(+), 126 deletions(-)

diff --git a/src/gallium/drivers/panfrost/midgard/midgard_compile.c 
b/src/gallium/drivers/panfrost/midgard/midgard_compile.c
index 29f3ce7ff71..9ffc0d893fa 100644
--- a/src/gallium/drivers/panfrost/midgard/midgard_compile.c
+++ b/src/gallium/drivers/panfrost/midgard/midgard_compile.c
@@ -715,58 +715,6 @@ midgard_nir_lower_fdot2_body(nir_builder *b, nir_alu_instr 
*alu)
 nir_ssa_def_rewrite_uses(>dest.dest.ssa, nir_src_for_ssa(sum));
 }
 
-/* Lower csel with mixed condition channels to mulitple csel instructions. For
- * context, the csel ops on Midgard are vector in *outputs*, but not in
- * *conditions*. So, if the condition is e.g. , a single op can select a
- * vec4. But if the condition is e.g. xyzw, four ops are needed as the ISA
- * can't cope with the divergent channels.*/
-
-static void
-midgard_nir_lower_mixed_csel_body(nir_builder *b, nir_alu_instr *alu)
-{
-if (alu->op != nir_op_bcsel)
-return;
-
-b->cursor = nir_before_instr(>instr);
-
-/* Must be run before registering */
-assert(alu->dest.dest.is_ssa);
-
-/* Check for mixed condition */
-
-unsigned comp = alu->src[0].swizzle[0];
-unsigned nr_components = alu->dest.dest.ssa.num_components;
-
-bool mixed = false;
-
-for (unsigned c = 1; c < nr_components; ++c)
-mixed |= (alu->src[0].swizzle[c] != comp);
-
-if (!mixed)
-return;
-
-/* We're mixed, so lower */
-
-assert(nr_components <= 4);
-nir_ssa_def *results[4];
-
-nir_ssa_def *cond = nir_ssa_for_alu_src(b, alu, 0);
-nir_ssa_def *choice0 = nir_ssa_for_alu_src(b, alu, 1);
-nir_ssa_def *choice1 = nir_ssa_for_alu_src(b, alu, 2);
-
-for (unsigned c = 0; c < nr_components; ++c) {
-results[c] = nir_bcsel(b,
-nir_channel(b, cond, c),
-nir_channel(b, choice0, c),
-nir_channel(b, choice1, c));
-}
-
-/* Replace with our scalarized version */
-
-nir_ssa_def *result = nir_vec(b, results, nr_components);
-nir_ssa_def_rewrite_uses(>dest.dest.ssa, nir_src_for_ssa(result));
-}
-
 static int
 midgard_nir_sysval_for_intrinsic(nir_intrinsic_instr *instr)
 {
@@ -851,36 +799,6 @@ midgard_nir_lower_fdot2(nir_shader *shader)
 return progress;
 }
 
-static bool
-midgard_nir_lower_mixed_csel(nir_shader *shader)
-{
-bool progress = false;
-
-nir_foreach_function(function, shader) {
-if (!function->impl) continue;
-
-nir_builder _b;
-nir_builder *b = &_b;
-nir_builder_init(b, function->impl);
-
-nir_foreach_block(block, function->impl) {
-nir_foreach_instr_safe(instr, block) {
-if (instr->type != nir_instr_type_alu) 
continue;
-
-nir_alu_instr *alu = nir_instr_as_alu(instr);
-midgard_nir_lower_mixed_csel_body(b, alu);
-
-progress |= true;
-}
-}
-
-nir_metadata_preserve(function->impl, nir_metadata_block_index 
| nir_metadata_dominance);
-
-}
-
-return progress;
-}
-
 static void
 optimise_nir(nir_shader *nir)
 {
@@ -888,7 +806,6 @@ optimise_nir(nir_shader *nir)
 
 NIR_PASS(progress, nir, nir_lower_regs_to_ssa);
 NIR_PASS(progress, nir, midgard_nir_lower_fdot2);
-NIR_PASS(progress, nir, midgard_nir_lower_mixed_csel);
 
 nir_lower_tex_options lower_tex_options = {
 .lower_rect = true
@@ -932,6 +849,11 @@ optimise_nir(nir_shader *nir)
 } while (progress);
 
 NIR_PASS(progress, nir, nir_opt_algebraic_late);
+
+/* We implement booleans as 32-bit 0/~0 */
+NIR_PASS(progress, nir, nir_lower_bool_to_int32);
+
+/* Now that booleans are lowered, we can run out late opts */
 NIR_PASS(progress, nir, midgard_nir_lower_algebraic_late);
 
 /* Lower mods for float ops only. Integer ops don't support modifiers
@@ -942,9 +864,6 @@ optimise_nir(nir_shader *nir)
 NIR_PASS(progress, nir, nir_copy_prop);
 NIR_PASS(progress, nir, nir_opt_dce);
 
-/* We implement booleans as 32-bit 0/~0 */
-NIR_PASS(progress, nir, nir_lower_bool_to_int32);
-
 /* Take us out of SSA */
 NIR_PASS(progress, nir, nir_lower_locals_to_regs);
 NIR_PASS(progress, nir, nir_convert_from_ssa, true);
@@ -1164,7 +1083,6 @@ emit_indirect_offset(compiler_context *ctx, nir_src *src)
case nir_op_##nir: \
op = 

[Mesa-dev] [Bug 107667] [regression, bisected] 2.5% performance drop in Middle Earth: Shadow of Mordor

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=107667

Timothy Arceri  changed:

   What|Removed |Added

 Resolution|--- |NOTABUG
 Status|NEW |RESOLVED

--- Comment #1 from Timothy Arceri  ---
This is a correct bugfix. It's likely any gain in performance was due to not
doing the correct thing.

-- 
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 108927] anaconda3 spyder fails to launch on Centos 7

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108927

Timothy Arceri  changed:

   What|Removed |Added

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

--- Comment #2 from Timothy Arceri  ---
Mesa 11.0.7 has not been supported in many years. I suspect if this really is a
bug it was probably fixed long ago.

-- 
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 103152] Mesa 17.2 cannot be built on ARM with GCC 7.2

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103152

Timothy Arceri  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

-- 
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 88766] codegen/nv50_ir.h:585:9: error: no member named 'tr1' in namespace 'std'

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=88766

Timothy Arceri  changed:

   What|Removed |Added

 Resolution|--- |WONTFIX
 Status|NEW |RESOLVED

--- Comment #9 from Timothy Arceri  ---
Lets just close this and worry about it if FreeBSD ever adds nouveau support.

-- 
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 30443] translate_test crashes on Mac OS X x86_64

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=30443

Timothy Arceri  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #2 from Timothy Arceri  ---
Either this was fixed or nobody cares.

-- 
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 109323] [TRACKER] mesa: Remove autotools

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=109323
Bug 109323 depends on bug 109326, which changed state.

Bug 109326 Summary: mesa: Meson configuration summary should be printed
https://bugs.freedesktop.org/show_bug.cgi?id=109326

   What|Removed |Added

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

-- 
You are receiving this mail because:
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 109326] mesa: Meson configuration summary should be printed

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=109326

Timothy Arceri  changed:

   What|Removed |Added

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

--- Comment #2 from Timothy Arceri  ---
This has been merged.

-- 
You are receiving this mail because:
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

Re: [Mesa-dev] [PATCH] gallivm: fix broken 8-wide s3tc decoding

2019-05-06 Thread Brian Paul


LGTM.  Just two little nits below.

Reviewed-by: Brian Paul 

Perhaps you could review the 5-patch series of clean-ups I posted on 
Saturday?



On 05/06/2019 06:12 PM, srol...@vmware.com wrote:

From: Roland Scheidegger 

Brian noticed there was an uninitialized var for the 8-wide case and 128
bit blocks, which made it always crash. Likewise, the 64bit block case
had another crash bug due to type mismatch.
Color decode (used for all s3tc formats) also had a bogus shuffle for
this case, leading to decode artifacts.
Fix these all up, which makes the code actually work 8-wide. Note that
it's still not used - I've verified it works, and the generated assembly
does look quite a bit simpler actually (20-30% less instructions for the
s3tc decode part with avx2), however in practice it still seems to be
sligthly slower for some unknown reason (tested with openarena) on my
haswell box, so for now continue to split things into 4-wide vectors
before decoding.
---
  .../auxiliary/gallivm/lp_bld_format_s3tc.c| 33 +--
  1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c 
b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c
index 9561c349dad..8f6e9bec18a 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c
@@ -77,24 +77,17 @@ lp_build_uninterleave2_half(struct gallivm_state *gallivm,
  unsigned lo_hi)
  {
 LLVMValueRef shuffle, elems[LP_MAX_VECTOR_LENGTH];
-   unsigned i, j;
+   unsigned i;
  
 assert(type.length <= LP_MAX_VECTOR_LENGTH);

 assert(lo_hi < 2);
  
 if (type.length * type.width == 256) {

-  assert(type.length >= 4);
-  for (i = 0, j = 0; i < type.length; ++i) {
- if (i == type.length / 4) {
-j = type.length;
- } else if (i == type.length / 2) {
-j = type.length / 2;
- } else if (i == 3 * type.length / 4) {
-j = 3 * type.length / 4;
- } else {
-j += 2;
- }
- elems[i] = lp_build_const_int32(gallivm, j + lo_hi);
+  assert(type.length == 8);
+  assert(type.width == 32);
+  const unsigned shufvals[8] = {0, 2, 8, 10, 4, 6, 12, 14};


could be static



+  for (i = 0; i < type.length; ++i) {
+ elems[i] = lp_build_const_int32(gallivm, shufvals[i] + lo_hi);
}
 } else {
for (i = 0; i < type.length; ++i) {
@@ -277,7 +270,7 @@ lp_build_gather_s3tc(struct gallivm_state *gallivm,
 }
 else {
LLVMValueRef tmp[4], cc01, cc23;
-  struct lp_type lp_type32, lp_type64, lp_type32dxt;
+  struct lp_type lp_type32, lp_type64;
memset(_type32, 0, sizeof lp_type32);
lp_type32.width = 32;
lp_type32.length = length;
@@ -309,10 +302,14 @@ lp_build_gather_s3tc(struct gallivm_state *gallivm,
lp_build_const_extend_shuffle(gallivm, 2, 
4), "");
   }
   if (length == 8) {
+struct lp_type lp_type32_4;
+memset(_type32_4, 0, sizeof lp_type32_4);


Maybe we could move toward using initializers in these case?  struct 
lp_type lp_type32_4 = {0}; ?




+lp_type32_4.width = 32;
+lp_type32_4.length = 4;
  for (i = 0; i < 4; ++i) {
 tmp[0] = elems[i];
 tmp[1] = elems[i+4];
-   elems[i] = lp_build_concat(gallivm, tmp, lp_type32, 2);
+   elems[i] = lp_build_concat(gallivm, tmp, lp_type32_4, 2);
  }
   }
   cc01 = lp_build_interleave2_half(gallivm, lp_type32, elems[0], 
elems[1], 0);
@@ -811,7 +808,7 @@ s3tc_dxt3_to_rgba_aos(struct gallivm_state *gallivm,
 tmp = lp_build_select(, sel_mask, alpha_low, alpha_hi);
 bit_pos = LLVMBuildAnd(builder, bit_pos,
lp_build_const_int_vec(gallivm, type, 0xffdf), 
"");
-   /* Warning: slow shift with per element count */
+   /* Warning: slow shift with per element count (without avx2) */
 /*
  * Could do pshufb here as well - just use appropriate 2 bits in bit_pos
  * to select the right byte with pshufb. Then for the remaining one bit
@@ -1640,7 +1637,6 @@ s3tc_decode_block_dxt5(struct gallivm_state *gallivm,
lp_build_const_int_vec(gallivm, type16, 8), "");
 alpha = LLVMBuildBitCast(builder, alpha,  i64t, "");
 shuffle1 = lp_build_const_shuffle1(gallivm, 0, 8);
-   /* XXX this shuffle broken with LLVM 2.8 */
 alpha0 = LLVMBuildShuffleVector(builder, alpha0, alpha0, shuffle1, "");
 alpha1 = LLVMBuildShuffleVector(builder, alpha1, alpha1, shuffle1, "");
  
@@ -2176,6 +2172,9 @@ lp_build_fetch_s3tc_rgba_aos(struct gallivm_state *gallivm,

return rgba;
 }
  
+   /*

+* Could use n > 8 here with avx2, but doesn't seem faster.
+*/
 if (n > 4) {
unsigned count;
LLVMTypeRef i8_vectype = 

[Mesa-dev] [PATCH] radeonsi: add an AMD_TEX_ANISO environment variable

2019-05-06 Thread Timothy Arceri
This brings it inline with the recently added AMD_DEBUG.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109619
---
 src/gallium/drivers/radeonsi/si_pipe.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_pipe.c 
b/src/gallium/drivers/radeonsi/si_pipe.c
index b0e0ca7af05..4d36fd46a9b 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -950,6 +950,10 @@ struct pipe_screen *radeonsi_screen_create(struct 
radeon_winsys *ws,
   sizeof(struct si_transfer), 64);
 
sscreen->force_aniso = MIN2(16, debug_get_num_option("R600_TEX_ANISO", 
-1));
+   if (sscreen->force_aniso == -1) {
+   sscreen->force_aniso = MIN2(16, 
debug_get_num_option("AMD_TEX_ANISO", -1));
+   }
+
if (sscreen->force_aniso >= 0) {
printf("radeonsi: Forcing anisotropy filter to %ix\n",
   /* round down to a power of two */
-- 
2.20.1

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

[Mesa-dev] [Bug 90908] osx: src/mesa/x86-64/xform4.S does not build

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90908

--- Comment #3 from Timothy Arceri  ---
Looks like you never addressed the feedback.

-- 
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] gallivm: fix broken 8-wide s3tc decoding

2019-05-06 Thread sroland
From: Roland Scheidegger 

Brian noticed there was an uninitialized var for the 8-wide case and 128
bit blocks, which made it always crash. Likewise, the 64bit block case
had another crash bug due to type mismatch.
Color decode (used for all s3tc formats) also had a bogus shuffle for
this case, leading to decode artifacts.
Fix these all up, which makes the code actually work 8-wide. Note that
it's still not used - I've verified it works, and the generated assembly
does look quite a bit simpler actually (20-30% less instructions for the
s3tc decode part with avx2), however in practice it still seems to be
sligthly slower for some unknown reason (tested with openarena) on my
haswell box, so for now continue to split things into 4-wide vectors
before decoding.
---
 .../auxiliary/gallivm/lp_bld_format_s3tc.c| 33 +--
 1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c 
b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c
index 9561c349dad..8f6e9bec18a 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c
@@ -77,24 +77,17 @@ lp_build_uninterleave2_half(struct gallivm_state *gallivm,
 unsigned lo_hi)
 {
LLVMValueRef shuffle, elems[LP_MAX_VECTOR_LENGTH];
-   unsigned i, j;
+   unsigned i;
 
assert(type.length <= LP_MAX_VECTOR_LENGTH);
assert(lo_hi < 2);
 
if (type.length * type.width == 256) {
-  assert(type.length >= 4);
-  for (i = 0, j = 0; i < type.length; ++i) {
- if (i == type.length / 4) {
-j = type.length;
- } else if (i == type.length / 2) {
-j = type.length / 2;
- } else if (i == 3 * type.length / 4) {
-j = 3 * type.length / 4;
- } else {
-j += 2;
- }
- elems[i] = lp_build_const_int32(gallivm, j + lo_hi);
+  assert(type.length == 8);
+  assert(type.width == 32);
+  const unsigned shufvals[8] = {0, 2, 8, 10, 4, 6, 12, 14};
+  for (i = 0; i < type.length; ++i) {
+ elems[i] = lp_build_const_int32(gallivm, shufvals[i] + lo_hi);
   }
} else {
   for (i = 0; i < type.length; ++i) {
@@ -277,7 +270,7 @@ lp_build_gather_s3tc(struct gallivm_state *gallivm,
}
else {
   LLVMValueRef tmp[4], cc01, cc23;
-  struct lp_type lp_type32, lp_type64, lp_type32dxt;
+  struct lp_type lp_type32, lp_type64;
   memset(_type32, 0, sizeof lp_type32);
   lp_type32.width = 32;
   lp_type32.length = length;
@@ -309,10 +302,14 @@ lp_build_gather_s3tc(struct gallivm_state *gallivm,
   
lp_build_const_extend_shuffle(gallivm, 2, 4), "");
  }
  if (length == 8) {
+struct lp_type lp_type32_4;
+memset(_type32_4, 0, sizeof lp_type32_4);
+lp_type32_4.width = 32;
+lp_type32_4.length = 4;
 for (i = 0; i < 4; ++i) {
tmp[0] = elems[i];
tmp[1] = elems[i+4];
-   elems[i] = lp_build_concat(gallivm, tmp, lp_type32, 2);
+   elems[i] = lp_build_concat(gallivm, tmp, lp_type32_4, 2);
 }
  }
  cc01 = lp_build_interleave2_half(gallivm, lp_type32, elems[0], 
elems[1], 0);
@@ -811,7 +808,7 @@ s3tc_dxt3_to_rgba_aos(struct gallivm_state *gallivm,
tmp = lp_build_select(, sel_mask, alpha_low, alpha_hi);
bit_pos = LLVMBuildAnd(builder, bit_pos,
   lp_build_const_int_vec(gallivm, type, 0xffdf), 
"");
-   /* Warning: slow shift with per element count */
+   /* Warning: slow shift with per element count (without avx2) */
/*
 * Could do pshufb here as well - just use appropriate 2 bits in bit_pos
 * to select the right byte with pshufb. Then for the remaining one bit
@@ -1640,7 +1637,6 @@ s3tc_decode_block_dxt5(struct gallivm_state *gallivm,
   lp_build_const_int_vec(gallivm, type16, 8), "");
alpha = LLVMBuildBitCast(builder, alpha,  i64t, "");
shuffle1 = lp_build_const_shuffle1(gallivm, 0, 8);
-   /* XXX this shuffle broken with LLVM 2.8 */
alpha0 = LLVMBuildShuffleVector(builder, alpha0, alpha0, shuffle1, "");
alpha1 = LLVMBuildShuffleVector(builder, alpha1, alpha1, shuffle1, "");
 
@@ -2176,6 +2172,9 @@ lp_build_fetch_s3tc_rgba_aos(struct gallivm_state 
*gallivm,
   return rgba;
}
 
+   /*
+* Could use n > 8 here with avx2, but doesn't seem faster.
+*/
if (n > 4) {
   unsigned count;
   LLVMTypeRef i8_vectype = LLVMVectorType(i8t, 4 * n);
-- 
2.17.1

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

[Mesa-dev] [Bug 77449] Tracker bug for all bugs related to Steam titles

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=77449
Bug 77449 depends on bug 100239, which changed state.

Bug 100239 Summary: Incorrect rendering in CS:GO
https://bugs.freedesktop.org/show_bug.cgi?id=100239

   What|Removed |Added

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

-- 
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] [PATCH] configure.ac: check for libdrm when using VL with X11

2019-05-06 Thread Alyssa Rosenzweig
Wrong Alyssa, cc'ing the right one :)

On Mon, May 06, 2019 at 04:32:38PM +0100, Emil Velikov wrote:
> From: Emil Velikov 
> 
> The X11 specific code uses libdrm, yet we are missing the dependency.
> This has gone unnoticed since all drivers which use VL already mandate
> the library.
> 
> Note: this is applicable only for the stable branches.
> 
> Cc: Alyssa Rosenzweig 
> Cc: 
> Signed-off-by: Emil Velikov 
> ---
> Alyssa this should resolve the failure with minimal churn. Please let
> me know if it works on your end or not.
> ---
>  configure.ac | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 1ef68fe68e6..b288ecbd265 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2357,7 +2357,7 @@ if test "x$enable_xvmc" = xyes -o \
>  "x$enable_omx_tizonia" = xyes -o \
>  "x$enable_va" = xyes; then
>  if echo $platforms | grep -q "x11"; then
> -PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
> +PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED 
> libdrm >= $LIBDRM_REQUIRED])
>  fi
>  need_gallium_vl_winsys=yes
>  fi
> -- 
> 2.21.0
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 110603] Blocky and black opacity/alpha using RADV on some games

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110603

--- Comment #4 from Lucas Francesco  ---
Created attachment 144180
  --> https://bugs.freedesktop.org/attachment.cgi?id=144180=edit
screnshot taken with scrot

The strange thing for me is that the renderdoc capture looks 100% fine on
ubuntu or in a friend's computer that haves similar hardware with arch, but on
my PC both arch and gentoo, the renderdoc AND the game itself produces that
blocky 100% black 



here's an screenshot I've taken just now of how it looks on my side, now I'm on
the latest Mesa commit and the latest LLVM commit


i'm trying to do another RenderDoc capture but i'm not being able to compile
renderdoc due to a random dns issue right now

-- 
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 109401] [DXVK] Project Cars rendering problems

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=109401

Samuel Pitoiset  changed:

   What|Removed |Added

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

--- Comment #8 from Samuel Pitoiset  ---
Are you sure? Just tried with 1.0.3 and the issue still happens. Less
frequently but still.

-- 
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 100789] Mesa (Padoka Pkppa), Textures become corrupt in counterstrike 1.6 and in steam overlay after indeterminate amount of time

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=100789

--- Comment #8 from calexil  ---
Created attachment 144179
  --> https://bugs.freedesktop.org/attachment.cgi?id=144179=edit
screen 4

-- 
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 100789] Mesa (Padoka Pkppa), Textures become corrupt in counterstrike 1.6 and in steam overlay after indeterminate amount of time

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=100789

--- Comment #7 from calexil  ---
Created attachment 144178
  --> https://bugs.freedesktop.org/attachment.cgi?id=144178=edit
screen 3

-- 
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 100789] Mesa (Padoka Pkppa), Textures become corrupt in counterstrike 1.6 and in steam overlay after indeterminate amount of time

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=100789

calexil  changed:

   What|Removed |Added

 Attachment #131024|image if issue  |screen 1
description||

-- 
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 100789] Mesa (Padoka Pkppa), Textures become corrupt in counterstrike 1.6 and in steam overlay after indeterminate amount of time

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=100789

--- Comment #6 from calexil  ---
Created attachment 144177
  --> https://bugs.freedesktop.org/attachment.cgi?id=144177=edit
screen 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 109401] [DXVK] Project Cars rendering problems

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=109401

Gregor Münch  changed:

   What|Removed |Added

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

--- Comment #7 from Gregor Münch  ---
Sorry for the late response. Without testing your patch, I think the reflection
issue went away with a proton update. I suspect going from DXVK 1.01 to 1.03
fixed the issue.

Thx for your support!

-- 
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 109500] rpcs3 diagonal lines

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=109500

Samuel Pitoiset  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |NOTOURBUG

--- Comment #1 from Samuel Pitoiset  ---
Enabling the "Strict Rendering Mode" "fixes" the lines problem. This is because
RPCS3 violates the Vulkan spec and some barrier are probably missing. The
problem can also be reproduced with AMDVLK.
This should be fixed in RPCS3, closing.

-- 
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

Re: [Mesa-dev] [PATCH v4] anv: fix alphaToCoverage when there is no color attachment

2019-05-06 Thread Jason Ekstrand
On Mon, May 6, 2019 at 9:01 AM Iago Toral Quiroga  wrote:

> From: Samuel Iglesias Gonsálvez 
>
> There are tests in CTS for alpha to coverage without a color attachment
> that are failing. This happens because we remove the shader color
> outputs when we don't have a valid color attachment for them, but when
> alpha to coverage is enabled we still want to preserve the the output
> at location 0 since we need the alpha component. In that case we will
> also need to create a null render target for RT 0.
>
> v2:
>   - We already create a null rt when we don't have any, so reuse that
> for this case (Jason)
>   - Simplify the code a bit (Iago)
>
> v3:
>   - Take alpha to coverage from the key and don't tie this to depth-only
> rendering only, we want the same behavior if we have multiple render
> targets but the one at location 0 is not used. (Jason).
>   - Rewrite commit message (Iago)
>
> v4:
>   - Make sure we take into account the array length of the shader outputs,
> which we were no handling correctly either and make sure we also
> create null render targets for any invalid array entries too. (Jason)
>
> Fixes the following CTS tests:
> dEQP-VK.pipeline.multisample.alpha_to_coverage_no_color_attachment.*
>
> Signed-off-by: Samuel Iglesias Gonsálvez 
> Signed-off-by: Iago Toral Quiroga 
> ---
>  src/intel/vulkan/anv_pipeline.c | 56 -
>  1 file changed, 42 insertions(+), 14 deletions(-)
>
> diff --git a/src/intel/vulkan/anv_pipeline.c
> b/src/intel/vulkan/anv_pipeline.c
> index 20eab548fb2..f15f0896266 100644
> --- a/src/intel/vulkan/anv_pipeline.c
> +++ b/src/intel/vulkan/anv_pipeline.c
> @@ -823,14 +823,24 @@ anv_pipeline_link_fs(const struct brw_compiler
> *compiler,
>   continue;
>
>const unsigned rt = var->data.location - FRAG_RESULT_DATA0;
> -  /* Unused or out-of-bounds */
> -  if (rt >= MAX_RTS || !(stage->key.wm.color_outputs_valid & (1 <<
> rt)))
> +  /* Out-of-bounds */
> +  if (rt >= MAX_RTS)
>   continue;
>
>const unsigned array_len =
>   glsl_type_is_array(var->type) ? glsl_get_length(var->type) : 1;
>assert(rt + array_len <= max_rt);
>
> +  /* Unused */
> +  if (!(stage->key.wm.color_outputs_valid & BITFIELD_RANGE(rt,
> array_len))) {
> + /* If this is the RT at location 0 and we have alpha to coverage
> +  * enabled we will have to create a null RT for it, so mark it as
> +  * used.
> +  */
> + if (rt > 0 || !stage->key.wm.alpha_to_coverage)
> +continue;
> +  }
> +
>for (unsigned i = 0; i < array_len; i++)
>   rt_used[rt + i] = true;
> }
> @@ -841,11 +851,22 @@ anv_pipeline_link_fs(const struct brw_compiler
> *compiler,
>   continue;
>
>rt_to_bindings[i] = num_rts;
> -  rt_bindings[rt_to_bindings[i]] = (struct anv_pipeline_binding) {
> - .set = ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS,
> - .binding = 0,
> - .index = i,
> -  };
> +
> +  if (stage->key.wm.color_outputs_valid & (1 << i)) {
> + rt_bindings[rt_to_bindings[i]] = (struct anv_pipeline_binding) {
> +.set = ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS,
> +.binding = 0,
> +.index = i,
> + };
> +  } else {
> + /* Setup a null render target */
> + rt_bindings[rt_to_bindings[i]] = (struct anv_pipeline_binding) {
> +.set = ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS,
> +.binding = 0,
> +.index = UINT32_MAX,
> + };
> +  }
> +
>num_rts++;
> }
>
> @@ -855,14 +876,21 @@ anv_pipeline_link_fs(const struct brw_compiler
> *compiler,
>   continue;
>
>const unsigned rt = var->data.location - FRAG_RESULT_DATA0;
> +  const unsigned array_len =
> + glsl_type_is_array(var->type) ? glsl_get_length(var->type) : 1;
> +
>if (rt >= MAX_RTS ||
> -  !(stage->key.wm.color_outputs_valid & (1 << rt))) {
> - /* Unused or out-of-bounds, throw it away */
> - deleted_output = true;
> - var->data.mode = nir_var_function_temp;
> - exec_node_remove(>node);
> - exec_list_push_tail(>locals, >node);
> - continue;
> +  !(stage->key.wm.color_outputs_valid & BITFIELD_RANGE(rt,
> array_len))) {
> + /* Unused or out-of-bounds, throw it away, unless it is the first
> +  * RT and we have alpha to coverage enabled.
> +  */
> + if (rt != 0 || !stage->key.wm.alpha_to_coverage) {
> +deleted_output = true;
> +var->data.mode = nir_var_function_temp;
> +exec_node_remove(>node);
> +exec_list_push_tail(>locals, >node);
> +continue;
> + }
>

I think we can simplify this yet further and just do

if (rt >= MAX_RTS || !rt_used[rt])

That way, all the logic stays in one place.

With that change,

Reviewed-by: Jason Ekstrand 


>

Re: [Mesa-dev] [Mesa-stable] [PATCH 1/2] swr/rast: don't create wrapper for every Create LLVM call

2019-05-06 Thread Hota, Alok
We have a few internal patches that precede this that I am trying to get pushed 
through first.
Some of these internal patches also touch gen_llvm_ir_macros.py, so there may 
be an edit to this patch before we do a merge request.

-Alok


> -Original Message-
> From: Emil Velikov [mailto:emil.l.veli...@gmail.com]
> Sent: Monday, May 6, 2019 10:56 AM
> To: Hota, Alok 
> Cc: Dylan Baker ; Cherniak, Bruce
> ; mesa-dev@lists.freedesktop.org; mesa-
> sta...@lists.freedesktop.org
> Subject: Re: [Mesa-stable] [Mesa-dev] [PATCH 1/2] swr/rast: don't create
> wrapper for every Create LLVM call
> 
> On Fri, 19 Apr 2019 at 16:36, Hota, Alok  wrote:
> >
> > Just wanted to give a quick update on this. We have agreed on moving
> forward with this patch.
> > I'm working on it now to get it through our CI and run some basic tests. 
> > I'll
> keep you updated.
> > Thanks again for the patch, Emil!
> >
> Thanks Alok.
> 
> I'm struggling to see this or equivalent in master. What's happening?
> 
> -Emil
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [Bug 108952] mesa-git broke cinnamon, temporary downgrade fix

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108952

--- Comment #2 from walter.bis...@protonmail.com ---
Yes, since 19.0 is live the problem is gone. Thx.

-- 
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] Move adriconf to mesa repositories

2019-05-06 Thread Bas Nieuwenhuizen
On Mon, May 6, 2019 at 5:43 PM Emil Velikov  wrote:
>
> On Sun, 28 Apr 2019 at 19:38, Jean Hertel  wrote:
> >
> > >Could not find my original notes, but the idea is roughly as follows:
> >  >- introduce a separate (user only?) library - say libmesa-config.so
> > > - ^^ provides an API to query/set attributes, via numerical tokens
> > > - any localisation is built on top of ^^ as standalone files
> > >
> > >Reasoning:
> > >- library reused by anyone to make a pretty config tool in their
> > >toolkit and/or language
> > > - numerical tokens are trivial to handle and cheap - can be
> > >binned/deprecated easily
> > > - translation lives outside of the driver - the driver doesn't care
> > >about it, so don't bloat
> > > - translators do not need access to mesa - one less hurdle/obstacle
> > >
> > >
> > >Hope it makes sense, not sure if coffee has kicked in fully ;-)
> > >-Emil
> >
> > Hey Emil,
> >
> > I really liked this idea, specially since right now I have a lot of issues 
> > to query which option is exactly supported by each driver. Like in the 
> > scenarios when you have multiple drivers that support the same GPU, or when 
> > you have a difference between userspace and kernel space driver naming.
> >
> > Can you give me more details on the idea?
> > If I got it right, this library would be independent and mesa will itself 
> > use it to query the options it wants/needs.
> >
> This is the tricky part - wish I could find my notes they have better
> brain-dump.
> It's OK to have the library as both front (config tool) and backend
> (used by mesa) although:
>  - special care on splitting and annotating the API is needed
>  - handling this "extra" dependency would be fiddly for slower moving distros
>
> > What about the current configuration files? Do you think there is a better 
> > way to handle them?
> > They are for in a xml format, which is far from optimal.
> >
> What seems to be the problem with XML? The files are meant to be
> read/written to $app.
>
> > What about Vulkan?
> > As far as I known the current setup only handles OpenGL driver 
> > configurations.
> >
> The current setup handles GLX, DRI and Nine IIRC. One of my goals was
> to split and structure this in a more obvious way.

FYI We have Vulkan integrated with driconf configs now too.

>
> HTH
> Emil
> ___
> 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 100789] Mesa 17.0.4 pkppa, Textures become corrupt in counterstrike 1.6 and in steam overlay after indeterminate amount of time

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=100789

--- Comment #5 from calexil  ---
I'm on the padoka pkppa version of mesa and llvm

-- 
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 100789] Mesa (Padoka Pkppa), Textures become corrupt in counterstrike 1.6 and in steam overlay after indeterminate amount of time

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=100789

calexil  changed:

   What|Removed |Added

Summary|Mesa 17.0.4 pkppa, Textures |Mesa (Padoka Pkppa),
   |become corrupt in   |Textures become corrupt in
   |counterstrike 1.6 and in|counterstrike 1.6 and in
   |steam overlay after |steam overlay after
   |indeterminate amount of |indeterminate amount of
   |time|time
Version|17.0|19.0

-- 
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 100789] Mesa 17.0.4 pkppa, Textures become corrupt in counterstrike 1.6 and in steam overlay after indeterminate amount of time

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=100789

--- Comment #4 from calexil  ---
yes, in fact I was just playing cs 1.6 last night and it was happening.

-- 
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 108325] radv_GetImageSubresourceLayout likely returns the wrong pitch on GFX9

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108325

Samuel Pitoiset  changed:

   What|Removed |Added

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

--- Comment #1 from Samuel Pitoiset  ---
Fixed with
https://cgit.freedesktop.org/mesa/mesa/commit/?id=c10808441cc479b715caf21d993866dc396397d9

-- 
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 90908] osx: src/mesa/x86-64/xform4.S does not build

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90908

--- Comment #2 from Julien Isorce  ---
https://patchwork.freedesktop.org/patch/52161/

-- 
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] GitLab Merge Request stable workflow question

2019-05-06 Thread Chuck Atkins
When doing an MR via GitLab, is adding the Cc: mesa-stable item enough to
nominate it for inclusion in stable or does it still need to be separately
sent to the stable mailing list?

The question is specifically wrt
https://gitlab.freedesktop.org/mesa/mesa/merge_requests/806 since I'd like
to see the fix in the next stable release, but it's really a broader
workflow question of how stable is dealt with while both the MR and ML
processes are active.

--
Chuck Atkins
Staff R Engineer, Scientific Computing
Kitware, Inc.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [Mesa-stable] [PATCH 1/2] swr/rast: don't create wrapper for every Create LLVM call

2019-05-06 Thread Emil Velikov
On Fri, 19 Apr 2019 at 16:36, Hota, Alok  wrote:
>
> Just wanted to give a quick update on this. We have agreed on moving forward 
> with this patch.
> I'm working on it now to get it through our CI and run some basic tests. I'll 
> keep you updated.
> Thanks again for the patch, Emil!
>
Thanks Alok.

I'm struggling to see this or equivalent in master. What's happening?

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

Re: [Mesa-dev] Move adriconf to mesa repositories

2019-05-06 Thread Emil Velikov
On Sun, 28 Apr 2019 at 19:38, Jean Hertel  wrote:
>
> >Could not find my original notes, but the idea is roughly as follows:
>  >- introduce a separate (user only?) library - say libmesa-config.so
> > - ^^ provides an API to query/set attributes, via numerical tokens
> > - any localisation is built on top of ^^ as standalone files
> >
> >Reasoning:
> >- library reused by anyone to make a pretty config tool in their
> >toolkit and/or language
> > - numerical tokens are trivial to handle and cheap - can be
> >binned/deprecated easily
> > - translation lives outside of the driver - the driver doesn't care
> >about it, so don't bloat
> > - translators do not need access to mesa - one less hurdle/obstacle
> >
> >
> >Hope it makes sense, not sure if coffee has kicked in fully ;-)
> >-Emil
>
> Hey Emil,
>
> I really liked this idea, specially since right now I have a lot of issues to 
> query which option is exactly supported by each driver. Like in the scenarios 
> when you have multiple drivers that support the same GPU, or when you have a 
> difference between userspace and kernel space driver naming.
>
> Can you give me more details on the idea?
> If I got it right, this library would be independent and mesa will itself use 
> it to query the options it wants/needs.
>
This is the tricky part - wish I could find my notes they have better
brain-dump.
It's OK to have the library as both front (config tool) and backend
(used by mesa) although:
 - special care on splitting and annotating the API is needed
 - handling this "extra" dependency would be fiddly for slower moving distros

> What about the current configuration files? Do you think there is a better 
> way to handle them?
> They are for in a xml format, which is far from optimal.
>
What seems to be the problem with XML? The files are meant to be
read/written to $app.

> What about Vulkan?
> As far as I known the current setup only handles OpenGL driver configurations.
>
The current setup handles GLX, DRI and Nine IIRC. One of my goals was
to split and structure this in a more obvious way.

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

[Mesa-dev] [PATCH] configure.ac: check for libdrm when using VL with X11

2019-05-06 Thread Emil Velikov
From: Emil Velikov 

The X11 specific code uses libdrm, yet we are missing the dependency.
This has gone unnoticed since all drivers which use VL already mandate
the library.

Note: this is applicable only for the stable branches.

Cc: Alyssa Rosenzweig 
Cc: 
Signed-off-by: Emil Velikov 
---
Alyssa this should resolve the failure with minimal churn. Please let
me know if it works on your end or not.
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 1ef68fe68e6..b288ecbd265 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2357,7 +2357,7 @@ if test "x$enable_xvmc" = xyes -o \
 "x$enable_omx_tizonia" = xyes -o \
 "x$enable_va" = xyes; then
 if echo $platforms | grep -q "x11"; then
-PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED])
+PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED 
libdrm >= $LIBDRM_REQUIRED])
 fi
 need_gallium_vl_winsys=yes
 fi
-- 
2.21.0

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

Re: [Mesa-dev] [PATCH 2/2] egl: add EGL_platform_device support

2019-05-06 Thread Emil Velikov
On Sat, 4 May 2019 at 04:18, Marek Olšák  wrote:
>
> On Fri, May 3, 2019 at 1:58 AM Mathias Fröhlich  
> wrote:
>>
>> Good Morning,
>>
>> On Wednesday, 1 May 2019 21:43:08 CEST Marek Olšák wrote:
>> > BTW, swrast doesn't have to exist on the system. It's not uncommon for me
>> > to have no swrast on my development system.
>>
>> Ok. I see. I use swrast regularly to test changes with different backend 
>> drivers.
>> Also especially classic swrast as something that is close to the good old 
>> swtnl
>> drivers - to catch bad interactions with those.
>>
>> Anyhow, with a very old swrast I think you will get test failures.
>> But else if the system swrast is found in the hopefully not so distant future
>> the tests should even pass - well depends on what Emil now does to get a
>> better overall swrast behavior.
>> On a production system with a full set of driver packages I do expect to
>> find swrast, right? At least on a workstation grade linux distribution.
>>
>> I start to see the actual problem for AMD there.
>> Not your test system at home, but the pro driver that needs to ship
>> and QA swrast then.
>>
>> Anyhow, I do not actually understand the way how we walk all
>> installed egl driver implementations - including closed drivers - finally
>> and present all those devices. In a perfect world *for the customer*
>> I could enumerate all devices - including oss i965 and the closed nvidia
>> bumblebee device - on my laptop for example.
>>
>> Means - if that works fine AMD could hook into that mechanism and
>> provide further devices. Well - in the long term.
>
>
> We include libGL and libEGL along with radeonsi in our binary driver 
> installer. We probably don't include swrast, but I'm not 100% sure.
>
The series I just sent out covers everything but the "don't expose the
software device". It does include a hack which can be toggled to
achieve that though ;-)

My line of thinking is as follows:

Preamble:
A software device is only listed when the user requests the full
device list via QueryDevices and even then, it's the last one in the
list.
Thus it's close to impossible to get it "by mistake".

Case A - average Joe:
Getting Mesa from their distribution - swrast is build and shipped.

Case B - tailored solution like AMDGPU-PRO, Yocto builders or others:
People doing the platform integration know if swrast will be
built/available. If listing the software device is not something
they're interested, the trivial hack can be applied locally.

This seems like a perfectly good middle-ground, don't you agree?

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

[Mesa-dev] [PATCH 6/9] egl/dri: flesh out and use dri2_create_drawable()

2019-05-06 Thread Emil Velikov
From: Emil Velikov 

Wrap the loader->createNewDrawable() dance into a helper and use it
throughout the codebase.

This addresses a cases like surfaceless (SL) on swrast (SL on kms_swrast
is fine) where we'd attempt using the wrong driver and crash out.

Cc: mesa-sta...@lists.freedesktop.org
Signed-off-by: Emil Velikov 
---
 src/egl/drivers/dri2/egl_dri2.c | 24 +
 src/egl/drivers/dri2/egl_dri2.h |  5 +
 src/egl/drivers/dri2/platform_android.c | 12 +--
 src/egl/drivers/dri2/platform_drm.c | 17 +--
 src/egl/drivers/dri2/platform_surfaceless.c |  7 +-
 src/egl/drivers/dri2/platform_wayland.c | 14 +---
 src/egl/drivers/dri2/platform_x11.c | 15 +
 7 files changed, 34 insertions(+), 60 deletions(-)

diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index d584bccdebe..586bdd3b046 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -1424,6 +1424,30 @@ dri2_surf_update_fence_fd(_EGLContext *ctx,
dri2_surface_set_out_fence_fd(surf, fence_fd);
 }
 
+EGLBoolean
+dri2_create_drawable(struct dri2_egl_display *dri2_dpy,
+ const __DRIconfig *config,
+ struct dri2_egl_surface *dri2_surf)
+{
+   __DRIcreateNewDrawableFunc createNewDrawable;
+
+   if (dri2_dpy->image_driver)
+  createNewDrawable = dri2_dpy->image_driver->createNewDrawable;
+   else if (dri2_dpy->dri2)
+  createNewDrawable = dri2_dpy->dri2->createNewDrawable;
+   else if (dri2_dpy->swrast)
+  createNewDrawable = dri2_dpy->swrast->createNewDrawable;
+   else
+  return _eglError(EGL_BAD_ALLOC, "no createNewDrawable");
+
+   dri2_surf->dri_drawable = (*createNewDrawable)(dri2_dpy->dri_screen,
+  config, dri2_surf);
+   if (dri2_surf->dri_drawable == NULL)
+  return _eglError(EGL_BAD_ALLOC, "createNewDrawable");
+
+   return EGL_TRUE;
+}
+
 /**
  * Called via eglMakeCurrent(), drv->API.MakeCurrent().
  */
diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index aa143deb867..e7ff5c9184b 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -540,6 +540,11 @@ dri2_init_surface(_EGLSurface *surf, _EGLDisplay *disp, 
EGLint type,
 void
 dri2_fini_surface(_EGLSurface *surf);
 
+EGLBoolean
+dri2_create_drawable(struct dri2_egl_display *dri2_dpy,
+ const __DRIconfig *config,
+ struct dri2_egl_surface *dri2_surf);
+
 static inline uint64_t
 combine_u32_into_u64(uint32_t hi, uint32_t lo)
 {
diff --git a/src/egl/drivers/dri2/platform_android.c 
b/src/egl/drivers/dri2/platform_android.c
index e9ea9e6002b..270d342ac6d 100644
--- a/src/egl/drivers/dri2/platform_android.c
+++ b/src/egl/drivers/dri2/platform_android.c
@@ -341,7 +341,6 @@ droid_create_surface(_EGLDriver *drv, _EGLDisplay *disp, 
EGLint type,
_EGLConfig *conf, void *native_window,
const EGLint *attrib_list)
 {
-   __DRIcreateNewDrawableFunc createNewDrawable;
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
struct dri2_egl_config *dri2_conf = dri2_egl_config(conf);
struct dri2_egl_surface *dri2_surf;
@@ -385,17 +384,8 @@ droid_create_surface(_EGLDriver *drv, _EGLDisplay *disp, 
EGLint type,
   goto cleanup_surface;
}
 
-   if (dri2_dpy->image_driver)
-  createNewDrawable = dri2_dpy->image_driver->createNewDrawable;
-   else
-  createNewDrawable = dri2_dpy->dri2->createNewDrawable;
-
-   dri2_surf->dri_drawable = (*createNewDrawable)(dri2_dpy->dri_screen, config,
-  dri2_surf);
-   if (dri2_surf->dri_drawable == NULL) {
-  _eglError(EGL_BAD_ALLOC, "createNewDrawable");
+   if (!dri2_create_drawable(dri2_dpy, config, dri2_surf))
   goto cleanup_surface;
-   }
 
if (window) {
   window->common.incRef(>common);
diff --git a/src/egl/drivers/dri2/platform_drm.c 
b/src/egl/drivers/dri2/platform_drm.c
index c1ab1c9b0f6..ec66ac3866e 100644
--- a/src/egl/drivers/dri2/platform_drm.c
+++ b/src/egl/drivers/dri2/platform_drm.c
@@ -171,23 +171,8 @@ dri2_drm_create_window_surface(_EGLDriver *drv, 
_EGLDisplay *disp,
dri2_surf->base.Height = surf->base.height;
surf->dri_private = dri2_surf;
 
-   if (dri2_dpy->dri2) {
-  dri2_surf->dri_drawable =
- dri2_dpy->dri2->createNewDrawable(dri2_dpy->dri_screen, config,
-   dri2_surf->gbm_surf);
-
-   } else {
-  assert(dri2_dpy->swrast != NULL);
-
-  dri2_surf->dri_drawable =
- dri2_dpy->swrast->createNewDrawable(dri2_dpy->dri_screen, config,
- dri2_surf->gbm_surf);
-
-   }
-   if (dri2_surf->dri_drawable == NULL) {
-  _eglError(EGL_BAD_ALLOC, "createNewDrawable()");
+   if (!dri2_create_drawable(dri2_dpy, config, dri2_surf))
   goto 

[Mesa-dev] [PATCH 8/9] egl: add EGL_platform_device support

2019-05-06 Thread Emil Velikov
This new 'platform' is added by default with no guards.

It is effectively a copy of the surfaceless one, with updated function
names and brand new probe function.

Due to the reuse, some of the ifdef HAVE_SURFACELESS_PLATFORM guards
have been dropped.

A worthy mention are the changes in _egFindDisplay, since the original
and dup'd fd are required, we make use of the plat_opt argument.

Note that no hacks for eglGetDisplay are added - the API works only with
the eglGetPlatformDisplay* API.

v2:
 - s/_eglCompareDeviceDisplay/_eglSameDeviceDisplay/ (Eric)
 - let ^^ return bool (Eric)
 - fixup meson build, move files() further up (Eric)
 - copy from plat. surfaceless w/o the visual cleanups
 - close and free when destroying the dpy
 - sprinkle a few _eglDeviceSupports
 - split fd handling into separate function
 - use directly the render node if no FD is given (Mathias)

v3:
 - s/dpy/disp/g
 - drop swap_buffers* callbacks
 - drop loader_set_logger()
 - drop local define
 - re-introduce _eglGetDRMDeviceRenderNode()
 - EGL_WARN on ForceSoftware with HW device - continue using the HW device
 - bail out for "EGL_MESA_device_software" until it's fixed
 - wire-up the Android build

v4:
 - use new style _eglFindDisplay()
 - split hw vs sw code paths
 - don't close the internal fd (already handled in FiniDisplay())
 - make swrast work (bit hacky bit will do for now)
 - Android for real, drop autotools
 - Correct HW + LIBGL_ALWAYS_SOFTWARE check
 - use the dri2_create_drawable() helper

Cc: Mathias Fröhlich 
Cc: Marek Olšák 
Signed-off-by: Emil Velikov 
---
 src/egl/Android.mk |   1 +
 src/egl/drivers/dri2/egl_dri2.c|   3 +
 src/egl/drivers/dri2/egl_dri2.h|  13 +-
 src/egl/drivers/dri2/platform_device.c | 432 +
 src/egl/main/eglapi.c  |  13 +-
 src/egl/main/egldevice.c   |  16 +
 src/egl/main/egldevice.h   |   3 +
 src/egl/main/egldisplay.c  |  64 
 src/egl/main/egldisplay.h  |   7 +-
 src/egl/main/eglglobals.c  |   1 +
 src/egl/meson.build|   1 +
 11 files changed, 543 insertions(+), 11 deletions(-)
 create mode 100644 src/egl/drivers/dri2/platform_device.c

diff --git a/src/egl/Android.mk b/src/egl/Android.mk
index a9319f56ae7..01c33298ee7 100644
--- a/src/egl/Android.mk
+++ b/src/egl/Android.mk
@@ -36,6 +36,7 @@ include $(CLEAR_VARS)
 LOCAL_SRC_FILES := \
$(LIBEGL_C_FILES) \
$(dri2_backend_core_FILES) \
+   drivers/dri2/platform_device.c \
drivers/dri2/platform_android.c
 
 LOCAL_CFLAGS := \
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 586bdd3b046..c4dcfc364ac 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -874,6 +874,9 @@ dri2_initialize(_EGLDriver *drv, _EGLDisplay *disp)
case _EGL_PLATFORM_SURFACELESS:
   ret = dri2_initialize_surfaceless(drv, disp);
   break;
+   case _EGL_PLATFORM_DEVICE:
+  ret = dri2_initialize_device(drv, disp);
+  break;
case _EGL_PLATFORM_X11:
   ret = dri2_initialize_x11(drv, disp);
   break;
diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index e7ff5c9184b..cd17b0a7036 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -331,10 +331,10 @@ struct dri2_egl_surface
} color_buffers[3], *back;
 #endif
 
-#if defined(HAVE_SURFACELESS_PLATFORM)
-  __DRIimage   *front;
-  unsigned int visual;
-#endif
+   /* surfaceless and device */
+   __DRIimage   *front;
+   unsigned int visual;
+
int out_fence_fd;
EGLBoolean enable_out_fence;
 };
@@ -492,6 +492,11 @@ dri2_initialize_surfaceless(_EGLDriver *drv, _EGLDisplay 
*disp)
 }
 #endif
 
+EGLBoolean
+dri2_initialize_device(_EGLDriver *drv, _EGLDisplay *disp);
+static inline void
+dri2_teardown_device(struct dri2_egl_display *dri2_dpy) { /* noop */ }
+
 void
 dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw);
 
diff --git a/src/egl/drivers/dri2/platform_device.c 
b/src/egl/drivers/dri2/platform_device.c
new file mode 100644
index 000..0d9046c91b2
--- /dev/null
+++ b/src/egl/drivers/dri2/platform_device.c
@@ -0,0 +1,432 @@
+/*
+ * Mesa 3-D graphics library
+ *
+ * Copyright 2018 Collabora
+ *
+ * Based on platform_surfaceless, which has:
+ *
+ * Copyright (c) 2014 The Chromium OS Authors.
+ * Copyright © 2011 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright 

[Mesa-dev] [PATCH 7/9] egl: keep the software device at the end of the list

2019-05-06 Thread Emil Velikov
From: Emil Velikov 

By default, the user is likely to pick the first device so it should
not be the least performant (aka software) one.

Suggested-by: Marek Olšák 
Signed-off-by: Emil Velikov 
---
 src/egl/main/egldevice.c | 15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/egl/main/egldevice.c b/src/egl/main/egldevice.c
index c5c9a21273a..328d9ea08c5 100644
--- a/src/egl/main/egldevice.c
+++ b/src/egl/main/egldevice.c
@@ -293,13 +293,26 @@ _eglQueryDevicesEXT(EGLint max_devices,
   goto out;
}
 
+   /* Push the first device (the software one) to the end of the list.
+* Sending it to the user only if they've requested the full list.
+*
+* By default, the user is likely to pick the first device so having the
+* software (aka least performant) one is not a good idea.
+*/
*num_devices = MIN2(num_devs, max_devices);
 
-   for (i = 0, dev = devs; i < *num_devices; i++) {
+   for (i = 0, dev = devs->Next; dev && i < max_devices; i++) {
   devices[i] = dev;
   dev = dev->Next;
}
 
+   /* User requested the full device list, add the sofware device. */
+   if (max_devices >= num_devs) {
+  /* The first device is always software */
+  assert(_eglDeviceSupports(devs, _EGL_DEVICE_SOFTWARE));
+  devices[num_devs - 1] = devs;
+   }
+
 out:
mtx_unlock(_eglGlobal.Mutex);
 
-- 
2.21.0

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

[Mesa-dev] [PATCH 9/9] HACK: eg: hack to drop SOFTWARE egl device

2019-05-06 Thread Emil Velikov
For some extreme corner-cases where you'd want to do it.
---
 src/egl/main/egldevice.c | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/egl/main/egldevice.c b/src/egl/main/egldevice.c
index 3e8c0e5aeb5..4a3127d7d62 100644
--- a/src/egl/main/egldevice.c
+++ b/src/egl/main/egldevice.c
@@ -321,15 +321,20 @@ _eglQueryDevicesEXT(EGLint max_devices,
   devices[i] = dev;
   dev = dev->Next;
}
-
+#define HACK_DROP_SOFTWARE_DEVICE 0
+#if !HACK_DROP_SOFTWARE_DEVICE
/* User requested the full device list, add the sofware device. */
if (max_devices >= num_devs) {
   /* The first device is always software */
   assert(_eglDeviceSupports(devs, _EGL_DEVICE_SOFTWARE));
   devices[num_devs - 1] = devs;
}
+#endif
 
 out:
+#if HACK_DROP_SOFTWARE_DEVICE
+   *num_devices--;
+#endif
mtx_unlock(_eglGlobal.Mutex);
 
return EGL_TRUE;
-- 
2.21.0

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

[Mesa-dev] [PATCH 3/9] egl/x11: pick the user requested screen

2019-05-06 Thread Emil Velikov
From: Adam Jackson 

At the moment the user will pass the screen number via attribs, yet we
would throw that away. Reason being that the int *screen passed to
xcb_connect() is output only.

v2 (Emil):
 - split from a larger patch
 - use xcb_connect() returned screen, as fallback
 - use helper function only as needed

Signed-off-by: Emil Velikov 
---
 src/egl/drivers/dri2/platform_x11.c | 17 +++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/egl/drivers/dri2/platform_x11.c 
b/src/egl/drivers/dri2/platform_x11.c
index c8c676d2f00..ba0379c1177 100644
--- a/src/egl/drivers/dri2/platform_x11.c
+++ b/src/egl/drivers/dri2/platform_x11.c
@@ -1276,21 +1276,34 @@ static const __DRIextension *swrast_loader_extensions[] 
= {
NULL,
 };
 
+static int
+dri2_find_screen_for_display(const _EGLDisplay *disp, int fallback_screen)
+{
+   const EGLAttrib *attr;
+
+   for (attr = disp->Options.Attribs; attr; attr += 2) {
+  if (attr[0] == EGL_PLATFORM_X11_SCREEN_EXT)
+ return attr[1];
+   }
+
+   return fallback_screen;
+}
+
 static EGLBoolean
 dri2_get_xcb_connection(_EGLDriver *drv, _EGLDisplay *disp,
 struct dri2_egl_display *dri2_dpy)
 {
xcb_screen_iterator_t s;
-   int screen = (uintptr_t)disp->Options.Platform;
+   int screen;
const char *msg;
 
disp->DriverData = (void *) dri2_dpy;
if (disp->PlatformDisplay == NULL) {
   dri2_dpy->conn = xcb_connect(NULL, );
   dri2_dpy->own_device = true;
+  screen = dri2_find_screen_for_display(disp, screen);
} else {
   Display *dpy = disp->PlatformDisplay;
-
   dri2_dpy->conn = XGetXCBConnection(dpy);
   screen = DefaultScreen(dpy);
}
-- 
2.21.0

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

[Mesa-dev] [PATCH 4/9] egl: remove Options::Platform handling

2019-05-06 Thread Emil Velikov
From: Adam Jackson 

The full set of attributes is already handled with previous patches.
Thus all this is not dead code.

v2 (Emil) - split from a larger patch.

Signed-off-by: Emil Velikov 
---
 src/egl/main/egldisplay.c | 13 -
 src/egl/main/egldisplay.h |  1 -
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c
index 9a2ac48e8bc..418ab0ec9b8 100644
--- a/src/egl/main/egldisplay.c
+++ b/src/egl/main/egldisplay.c
@@ -497,17 +497,12 @@ _eglParseX11DisplayAttribList(_EGLDisplay *display,
   return EGL_TRUE;
}
 
+   /* EGL_EXT_platform_x11 recognizes exactly one attribute,
+* EGL_PLATFORM_X11_SCREEN_EXT, which is optional.
+*/
for (i = 0; attrib_list[i] != EGL_NONE; i += 2) {
-  EGLAttrib attrib = attrib_list[i];
-  EGLAttrib value = attrib_list[i + 1];
-
-  /* EGL_EXT_platform_x11 recognizes exactly one attribute,
-   * EGL_PLATFORM_X11_SCREEN_EXT, which is optional.
-   */
-  if (attrib != EGL_PLATFORM_X11_SCREEN_EXT)
+  if (attrib_list[i] != EGL_PLATFORM_X11_SCREEN_EXT)
  return _eglError(EGL_BAD_ATTRIBUTE, "eglGetPlatformDisplay");
-
-  display->Options.Platform = (void *)(uintptr_t)value;
}
 
return EGL_TRUE;
diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h
index 2c9fd6c3399..369ab31187f 100644
--- a/src/egl/main/egldisplay.h
+++ b/src/egl/main/egldisplay.h
@@ -167,7 +167,6 @@ struct _egl_display
/* options that affect how the driver initializes the display */
struct {
   EGLBoolean ForceSoftware; /**< Use software path only */
-  void *Platform; /**< Platform-specific options */
   EGLAttrib *Attribs; /**< Platform-specific options */
} Options;
 
-- 
2.21.0

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

[Mesa-dev] [PATCH 5/9] egl: fold X11 attrib handling like other platforms

2019-05-06 Thread Emil Velikov
From: Emil Velikov 

Since we no longer need special handling for X11, refactor the code to
follow the style used by all other platforms.

Signed-off-by: Emil Velikov 
---
 src/egl/main/egldisplay.c | 45 ++-
 1 file changed, 11 insertions(+), 34 deletions(-)

diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c
index 418ab0ec9b8..422b473844e 100644
--- a/src/egl/main/egldisplay.c
+++ b/src/egl/main/egldisplay.c
@@ -487,45 +487,22 @@ _eglUnlinkResource(_EGLResource *res, _EGLResourceType 
type)
 }
 
 #ifdef HAVE_X11_PLATFORM
-static EGLBoolean
-_eglParseX11DisplayAttribList(_EGLDisplay *display,
-  const EGLAttrib *attrib_list)
-{
-   int i;
-
-   if (attrib_list == NULL) {
-  return EGL_TRUE;
-   }
-
-   /* EGL_EXT_platform_x11 recognizes exactly one attribute,
-* EGL_PLATFORM_X11_SCREEN_EXT, which is optional.
-*/
-   for (i = 0; attrib_list[i] != EGL_NONE; i += 2) {
-  if (attrib_list[i] != EGL_PLATFORM_X11_SCREEN_EXT)
- return _eglError(EGL_BAD_ATTRIBUTE, "eglGetPlatformDisplay");
-   }
-
-   return EGL_TRUE;
-}
-
 _EGLDisplay*
 _eglGetX11Display(Display *native_display,
   const EGLAttrib *attrib_list)
 {
-   _EGLDisplay *display = _eglFindDisplay(_EGL_PLATFORM_X11,
-  native_display,
-  attrib_list);
-
-   if (!display) {
-  _eglError(EGL_BAD_ALLOC, "eglGetPlatformDisplay");
-  return NULL;
-   }
-
-   if (!_eglParseX11DisplayAttribList(display, attrib_list)) {
-  return NULL;
+   /* EGL_EXT_platform_x11 recognizes exactly one attribute,
+* EGL_PLATFORM_X11_SCREEN_EXT, which is optional.
+*/
+   if (attrib_list != NULL) {
+  for (int i = 0; attrib_list[i] != EGL_NONE; i += 2) {
+ if (attrib_list[i] != EGL_PLATFORM_X11_SCREEN_EXT) {
+_eglError(EGL_BAD_ATTRIBUTE, "eglGetPlatformDisplay");
+return NULL;
+ }
+  }
}
-
-   return display;
+   return _eglFindDisplay(_EGL_PLATFORM_X11, native_display, attrib_list);
 }
 #endif /* HAVE_X11_PLATFORM */
 
-- 
2.21.0

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

[Mesa-dev] [PATCH 2/9] egl: handle the full attrib list in display::options

2019-05-06 Thread Emil Velikov
From: Adam Jackson 

Earlier spec is vague, although EGL 1.5 makes it clear:

 Multiple calls made to eglGetPlatformDisplay with the same
 parameters will return the same EGLDisplay handle.

With this commit we store and compare the full attrib list.

v2 (Emil):
 - Split into separate patches
 - Use EGLBoolean over int masked as such
 - Don't return free'd pointed on calloc failure

Signed-off-by: Emil Velikov 
---
 src/egl/main/eglapi.c |  2 +-
 src/egl/main/egldisplay.c | 61 +--
 src/egl/main/egldisplay.h |  3 +-
 3 files changed, 55 insertions(+), 11 deletions(-)

diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
index 4481eb9cd0f..f77df8ff437 100644
--- a/src/egl/main/eglapi.c
+++ b/src/egl/main/eglapi.c
@@ -373,7 +373,7 @@ eglGetDisplay(EGLNativeDisplayType nativeDisplay)
native_display_ptr = (void*) nativeDisplay;
 
plat = _eglGetNativePlatform(native_display_ptr);
-   disp = _eglFindDisplay(plat, native_display_ptr);
+   disp = _eglFindDisplay(plat, native_display_ptr, NULL);
return _eglGetDisplayHandle(disp);
 }
 
diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c
index ba5f84510fe..9a2ac48e8bc 100644
--- a/src/egl/main/egldisplay.c
+++ b/src/egl/main/egldisplay.c
@@ -202,20 +202,49 @@ _eglFiniDisplay(void)
  }
   }
 
+  free(disp->Options.Attribs);
   free(disp);
}
_eglGlobal.DisplayList = NULL;
 }
 
+static EGLBoolean
+_eglSameAttribs(const EGLAttrib *a, const EGLAttrib *b)
+{
+   size_t na = _eglNumAttribs(a);
+   size_t nb = _eglNumAttribs(b);
+
+   /* different numbers of attributes must be different */
+   if (na != nb)
+  return EGL_FALSE;
+
+   /* both lists NULL are the same */
+   if (!a && !b)
+  return EGL_TRUE;
+
+   /* otherwise, compare the lists */
+   return memcmp(a, b, na) == 0 ? EGL_TRUE : EGL_FALSE;
+}
 
 /**
  * Find the display corresponding to the specified native display, or create a
- * new one.
+ * new one. EGL 1.5 says:
+ *
+ * Multiple calls made to eglGetPlatformDisplay with the same parameters
+ * will return the same EGLDisplay handle.
+ *
+ * We read this extremely strictly, and treat a call with NULL attribs as
+ * different from a call with attribs only equal to { EGL_NONE }. Similarly
+ * we do not sort the attribute list, so even if all attribute _values_ are
+ * identical, different attribute orders will be considered different
+ * parameters.
  */
 _EGLDisplay *
-_eglFindDisplay(_EGLPlatformType plat, void *plat_dpy)
+_eglFindDisplay(_EGLPlatformType plat, void *plat_dpy,
+const EGLAttrib *attrib_list)
 {
_EGLDisplay *disp;
+   size_t num_attribs;
 
if (plat == _EGL_INVALID_PLATFORM)
   return NULL;
@@ -225,7 +254,8 @@ _eglFindDisplay(_EGLPlatformType plat, void *plat_dpy)
/* search the display list first */
disp = _eglGlobal.DisplayList;
while (disp) {
-  if (disp->Platform == plat && disp->PlatformDisplay == plat_dpy)
+  if (disp->Platform == plat && disp->PlatformDisplay == plat_dpy &&
+  _eglSameAttribs(disp->Options.Attribs, attrib_list))
  break;
   disp = disp->Next;
}
@@ -237,13 +267,24 @@ _eglFindDisplay(_EGLPlatformType plat, void *plat_dpy)
  mtx_init(>Mutex, mtx_plain);
  disp->Platform = plat;
  disp->PlatformDisplay = plat_dpy;
-
- /* add to the display list */ 
+ num_attribs = _eglNumAttribs(attrib_list);
+ if (num_attribs) {
+disp->Options.Attribs = calloc(num_attribs, sizeof(EGLAttrib));
+if (!disp->Options.Attribs) {
+   free(disp);
+   disp = NULL;
+   goto out;
+}
+memcpy(disp->Options.Attribs, attrib_list,
+   num_attribs * sizeof(EGLAttrib));
+ }
+ /* add to the display list */
  disp->Next = _eglGlobal.DisplayList;
  _eglGlobal.DisplayList = disp;
   }
}
 
+out:
mtx_unlock(_eglGlobal.Mutex);
 
return disp;
@@ -477,7 +518,8 @@ _eglGetX11Display(Display *native_display,
   const EGLAttrib *attrib_list)
 {
_EGLDisplay *display = _eglFindDisplay(_EGL_PLATFORM_X11,
-  native_display);
+  native_display,
+  attrib_list);
 
if (!display) {
   _eglError(EGL_BAD_ALLOC, "eglGetPlatformDisplay");
@@ -503,7 +545,7 @@ _eglGetGbmDisplay(struct gbm_device *native_display,
   return NULL;
}
 
-   return _eglFindDisplay(_EGL_PLATFORM_DRM, native_display);
+   return _eglFindDisplay(_EGL_PLATFORM_DRM, native_display, attrib_list);
 }
 #endif /* HAVE_DRM_PLATFORM */
 
@@ -518,7 +560,7 @@ _eglGetWaylandDisplay(struct wl_display *native_display,
   return NULL;
}
 
-   return _eglFindDisplay(_EGL_PLATFORM_WAYLAND, native_display);
+   return _eglFindDisplay(_EGL_PLATFORM_WAYLAND, native_display, 

[Mesa-dev] [PATCH 0/9] Final round: EGL_EXT_platform_device

2019-05-06 Thread Emil Velikov
*** BLURB HERE ***
Hi all,

Here is, hopefully the final series, which add support for the extension.

Note that pbuffers are broken (afaict have been since day 1) so one need fixes
like the following [1].

Changes since last version:
 - split and fixup the EGLAttrib patch from Adam - less hacky eglFindDisplay

 - drop _eglParseX11DisplayAttribList() - minor polish

 - introduce dri2_create_drawable() helper - fixes a crash in
platform_surfaceless and by extension platform_device with swrast

 - list software device in QueryDevices only when the full list is requested
and even then - keep if the last device

 - get platform_device + swrast working - architecturally hacky, but will do
for now

 - HACK: POC drop the software devices from QueryDevices
Meant for Marek, if their stack does not build/ship swrast_dri.so


Review and comments are appreciated :-)

Thanks
Emil

Cc: Mathias Fröhlich 
Cc: Marek Olšák 

[1] https://patchwork.freedesktop.org/series/60018/ 


Adam Jackson (3):
  egl: handle the full attrib list in display::options
  egl/x11: pick the user requested screen
  egl: remove Options::Platform handling

Emil Velikov (6):
  egl: flesh out a _eglNumAttribs() helper
  egl: fold X11 attrib handling like other platforms
  egl/dri: flesh out and use dri2_create_drawable()
  egl: keep the software device at the end of the list
  egl: add EGL_platform_device support
  HACK: eg: hack to drop SOFTWARE egl device

 src/egl/Android.mk  |   1 +
 src/egl/drivers/dri2/egl_dri2.c |  27 ++
 src/egl/drivers/dri2/egl_dri2.h |  18 +-
 src/egl/drivers/dri2/platform_android.c |  12 +-
 src/egl/drivers/dri2/platform_device.c  | 432 
 src/egl/drivers/dri2/platform_drm.c |  17 +-
 src/egl/drivers/dri2/platform_surfaceless.c |   7 +-
 src/egl/drivers/dri2/platform_wayland.c |  14 +-
 src/egl/drivers/dri2/platform_x11.c |  32 +-
 src/egl/main/eglapi.c   |  27 +-
 src/egl/main/egldevice.c|  36 +-
 src/egl/main/egldevice.h|   3 +
 src/egl/main/egldisplay.c   | 171 +---
 src/egl/main/egldisplay.h   |  24 +-
 src/egl/main/eglglobals.c   |   1 +
 src/egl/meson.build |   1 +
 16 files changed, 691 insertions(+), 132 deletions(-)
 create mode 100644 src/egl/drivers/dri2/platform_device.c

-- 
2.21.0

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

[Mesa-dev] [PATCH 1/9] egl: flesh out a _eglNumAttribs() helper

2019-05-06 Thread Emil Velikov
From: Emil Velikov 

Signed-off-by: Emil Velikov 
---
 src/egl/main/eglapi.c | 12 +++-
 src/egl/main/egldisplay.h | 13 +
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
index 588c6a5f1eb..4481eb9cd0f 100644
--- a/src/egl/main/eglapi.c
+++ b/src/egl/main/eglapi.c
@@ -340,22 +340,16 @@ _eglConvertIntsToAttribs(const EGLint *int_list, 
EGLAttrib **out_attrib_list)
 static EGLint *
 _eglConvertAttribsToInt(const EGLAttrib *attr_list)
 {
+   size_t size = _eglNumAttribs(attr_list);
EGLint *int_attribs = NULL;
 
/* Convert attributes from EGLAttrib[] to EGLint[] */
-   if (attr_list) {
-  int i, size = 0;
-
-  while (attr_list[size] != EGL_NONE)
- size += 2;
-
-  size += 1; /* add space for EGL_NONE */
-
+   if (size) {
   int_attribs = calloc(size, sizeof(int_attribs[0]));
   if (!int_attribs)
  return NULL;
 
-  for (i = 0; i < size; i++)
+  for (size_t i = 0; i < size; i++)
  int_attribs[i] = attr_list[i];
}
return int_attribs;
diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h
index cfd0ff66d64..f37b633b466 100644
--- a/src/egl/main/egldisplay.h
+++ b/src/egl/main/egldisplay.h
@@ -274,6 +274,19 @@ _eglIsResourceLinked(_EGLResource *res)
return res->IsLinked;
 }
 
+static inline size_t
+_eglNumAttribs(const EGLAttrib *attribs)
+{
+   size_t len = 0;
+
+   if (attribs) {
+  while (attribs[len] != EGL_NONE)
+ len += 2;
+  len++;
+   }
+   return len;
+}
+
 #ifdef HAVE_X11_PLATFORM
 _EGLDisplay*
 _eglGetX11Display(Display *native_display, const EGLAttrib *attrib_list);
-- 
2.21.0

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

[Mesa-dev] [Bug 110625] [TRACKER] Mesa 19.1 release tracker

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110625

Bug ID: 110625
   Summary: [TRACKER] Mesa 19.1 release tracker
   Product: Mesa
   Version: unspecified
  Hardware: Other
OS: All
Status: NEW
  Severity: normal
  Priority: medium
 Component: Other
  Assignee: mesa-dev@lists.freedesktop.org
  Reporter: jasua...@igalia.com
QA Contact: mesa-dev@lists.freedesktop.org

This is a tracker for all regressions from 19.0 until 19.1 release

-- 
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 110439] [TRACKER] Mesa 19.1 feature tracker

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110439

Juan A. Suarez  changed:

   What|Removed |Added

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

-- 
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 v4] anv: fix alphaToCoverage when there is no color attachment

2019-05-06 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsálvez 

There are tests in CTS for alpha to coverage without a color attachment
that are failing. This happens because we remove the shader color
outputs when we don't have a valid color attachment for them, but when
alpha to coverage is enabled we still want to preserve the the output
at location 0 since we need the alpha component. In that case we will
also need to create a null render target for RT 0.

v2:
  - We already create a null rt when we don't have any, so reuse that
for this case (Jason)
  - Simplify the code a bit (Iago)

v3:
  - Take alpha to coverage from the key and don't tie this to depth-only
rendering only, we want the same behavior if we have multiple render
targets but the one at location 0 is not used. (Jason).
  - Rewrite commit message (Iago)

v4:
  - Make sure we take into account the array length of the shader outputs,
which we were no handling correctly either and make sure we also
create null render targets for any invalid array entries too. (Jason)

Fixes the following CTS tests:
dEQP-VK.pipeline.multisample.alpha_to_coverage_no_color_attachment.*

Signed-off-by: Samuel Iglesias Gonsálvez 
Signed-off-by: Iago Toral Quiroga 
---
 src/intel/vulkan/anv_pipeline.c | 56 -
 1 file changed, 42 insertions(+), 14 deletions(-)

diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
index 20eab548fb2..f15f0896266 100644
--- a/src/intel/vulkan/anv_pipeline.c
+++ b/src/intel/vulkan/anv_pipeline.c
@@ -823,14 +823,24 @@ anv_pipeline_link_fs(const struct brw_compiler *compiler,
  continue;
 
   const unsigned rt = var->data.location - FRAG_RESULT_DATA0;
-  /* Unused or out-of-bounds */
-  if (rt >= MAX_RTS || !(stage->key.wm.color_outputs_valid & (1 << rt)))
+  /* Out-of-bounds */
+  if (rt >= MAX_RTS)
  continue;
 
   const unsigned array_len =
  glsl_type_is_array(var->type) ? glsl_get_length(var->type) : 1;
   assert(rt + array_len <= max_rt);
 
+  /* Unused */
+  if (!(stage->key.wm.color_outputs_valid & BITFIELD_RANGE(rt, 
array_len))) {
+ /* If this is the RT at location 0 and we have alpha to coverage
+  * enabled we will have to create a null RT for it, so mark it as
+  * used.
+  */
+ if (rt > 0 || !stage->key.wm.alpha_to_coverage)
+continue;
+  }
+
   for (unsigned i = 0; i < array_len; i++)
  rt_used[rt + i] = true;
}
@@ -841,11 +851,22 @@ anv_pipeline_link_fs(const struct brw_compiler *compiler,
  continue;
 
   rt_to_bindings[i] = num_rts;
-  rt_bindings[rt_to_bindings[i]] = (struct anv_pipeline_binding) {
- .set = ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS,
- .binding = 0,
- .index = i,
-  };
+
+  if (stage->key.wm.color_outputs_valid & (1 << i)) {
+ rt_bindings[rt_to_bindings[i]] = (struct anv_pipeline_binding) {
+.set = ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS,
+.binding = 0,
+.index = i,
+ };
+  } else {
+ /* Setup a null render target */
+ rt_bindings[rt_to_bindings[i]] = (struct anv_pipeline_binding) {
+.set = ANV_DESCRIPTOR_SET_COLOR_ATTACHMENTS,
+.binding = 0,
+.index = UINT32_MAX,
+ };
+  }
+
   num_rts++;
}
 
@@ -855,14 +876,21 @@ anv_pipeline_link_fs(const struct brw_compiler *compiler,
  continue;
 
   const unsigned rt = var->data.location - FRAG_RESULT_DATA0;
+  const unsigned array_len =
+ glsl_type_is_array(var->type) ? glsl_get_length(var->type) : 1;
+
   if (rt >= MAX_RTS ||
-  !(stage->key.wm.color_outputs_valid & (1 << rt))) {
- /* Unused or out-of-bounds, throw it away */
- deleted_output = true;
- var->data.mode = nir_var_function_temp;
- exec_node_remove(>node);
- exec_list_push_tail(>locals, >node);
- continue;
+  !(stage->key.wm.color_outputs_valid & BITFIELD_RANGE(rt, 
array_len))) {
+ /* Unused or out-of-bounds, throw it away, unless it is the first
+  * RT and we have alpha to coverage enabled.
+  */
+ if (rt != 0 || !stage->key.wm.alpha_to_coverage) {
+deleted_output = true;
+var->data.mode = nir_var_function_temp;
+exec_node_remove(>node);
+exec_list_push_tail(>locals, >node);
+continue;
+ }
   }
 
   /* Give it the new location */
-- 
2.17.1

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

Re: [Mesa-dev] [PATCH] radeonsi: add config entry for Counter-Strike Global Offensive

2019-05-06 Thread Bas Nieuwenhuizen
a-b

On Mon, May 6, 2019 at 6:39 AM Timothy Arceri  wrote:
>
> This fixes rendering issues with gun scopes which is rather
> important.
>
> Cc: "19.0" "19.1" 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100239
> ---
>  src/util/00-mesa-defaults.conf | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/src/util/00-mesa-defaults.conf b/src/util/00-mesa-defaults.conf
> index c704a1756ae..6389b796d33 100644
> --- a/src/util/00-mesa-defaults.conf
> +++ b/src/util/00-mesa-defaults.conf
> @@ -468,6 +468,9 @@ TODO: document the other workarounds.
>  
>   />
>  
> + executable="csgo_linux64">
> +
> +
>  
>  
>  
> --
> 2.20.1
>
> ___
> 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 110525] [CTS] dEQP-VK.api.invariance.random crashes

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110525

Samuel Pitoiset  changed:

   What|Removed |Added

 Resolution|--- |NOTOURBUG
 Status|NEW |RESOLVED

--- Comment #4 from Samuel Pitoiset  ---
This is a CTS bug, see Gerrit #3909 (Bas sent a fix).

-- 
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 110526] [CTS] dEQP-VK.ycbcr.{conversion, format}.* fail

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110526

Samuel Pitoiset  changed:

   What|Removed |Added

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

--- Comment #1 from Samuel Pitoiset  ---
Should be fixed with
https://cgit.freedesktop.org/mesa/mesa/commit/?id=5cbe12ad1b8934c932f19070044563b9f3b9ab21

-- 
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 110268] enable storageBuffer16BitAccess feature in radv for SI and CIK

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110268

Samuel Pitoiset  changed:

   What|Removed |Added

   Severity|normal  |enhancement

-- 
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 109822] Texture holes in simple vulkan examples.

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=109822

Samuel Pitoiset  changed:

   What|Removed |Added

 Status|REOPENED|NEEDINFO

--- Comment #4 from Samuel Pitoiset  ---
Your thing doesn't build, also are you sure it's correct?

$ make
make -C lib 
make -C tri 
make -C 0001uniform-buffer-object 
make -C 0002lighting 
make -C 0003index-buffer 
make -C 0004cube 
make -C 0005texture 
make -C 0006multi-model 
make -C 0007shared-ubo 
make -C 0008multi-material 
make -C 0009modify-instances-count 
make -C 0010tasks-during-render 
make[1]: Entering directory '/home/hakzsam/wip/cheako-vulkan/lib'
g++  -I../include  -c -o cimgui/cimgui/cimgui.o cimgui/cimgui/cimgui.cpp
make[1]: Entering directory '/home/hakzsam/wip/cheako-vulkan/tri'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory '/home/hakzsam/wip/cheako-vulkan/tri'
make[1]: Entering directory '/home/hakzsam/wip/cheako-vulkan/0004cube'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory '/home/hakzsam/wip/cheako-vulkan/0004cube'
make[1]: Entering directory
'/home/hakzsam/wip/cheako-vulkan/0001uniform-buffer-object'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory
'/home/hakzsam/wip/cheako-vulkan/0001uniform-buffer-object'
make: *** [Makefile:9: tri] Error 2
make: *** Waiting for unfinished jobs
make: *** [Makefile:9: 0004cube] Error 2
g++  -I../include  -c -o cimgui/cimgui/fontAtlas.o cimgui/cimgui/fontAtlas.cpp
make: *** [Makefile:9: 0001uniform-buffer-object] Error 2
make[1]: Entering directory '/home/hakzsam/wip/cheako-vulkan/0002lighting'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory '/home/hakzsam/wip/cheako-vulkan/0002lighting'
g++  -I../include  -c -o cimgui/cimgui/drawList.o cimgui/cimgui/drawList.cpp
make: *** [Makefile:9: 0002lighting] Error 2
make[1]: Entering directory '/home/hakzsam/wip/cheako-vulkan/0003index-buffer'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory '/home/hakzsam/wip/cheako-vulkan/0003index-buffer'
g++  -I../include  -c -o cimgui/cimgui/listClipper.o
cimgui/cimgui/listClipper.cpp
make[1]: Entering directory '/home/hakzsam/wip/cheako-vulkan/0005texture'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory '/home/hakzsam/wip/cheako-vulkan/0005texture'
make: *** [Makefile:9: 0003index-buffer] Error 2
g++  -I../include  -c -o cimgui/imgui/imgui.o cimgui/imgui/imgui.cpp
make[1]: Entering directory '/home/hakzsam/wip/cheako-vulkan/0006multi-model'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory '/home/hakzsam/wip/cheako-vulkan/0006multi-model'
make: *** [Makefile:9: 0005texture] Error 2
make[1]: Entering directory '/home/hakzsam/wip/cheako-vulkan/0007shared-ubo'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory '/home/hakzsam/wip/cheako-vulkan/0007shared-ubo'
g++  -I../include  -c -o cimgui/imgui/imgui_draw.o cimgui/imgui/imgui_draw.cpp
make: *** [Makefile:9: 0006multi-model] Error 2
make[1]: Entering directory
'/home/hakzsam/wip/cheako-vulkan/0008multi-material'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory '/home/hakzsam/wip/cheako-vulkan/0008multi-material'
make: *** [Makefile:9: 0007shared-ubo] Error 2
g++  -I../include  -c -o cimgui/imgui/imgui_demo.o cimgui/imgui/imgui_demo.cpp
make[1]: Entering directory
'/home/hakzsam/wip/cheako-vulkan/0009modify-instances-count'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory
'/home/hakzsam/wip/cheako-vulkan/0009modify-instances-count'
make: *** [Makefile:9: 0008multi-material] Error 2
g++  -Icimgui/imgui -I../include  -c -o
cimgui/imgui/examples/vulkan_example/imgui_impl_glfw_vulkan.o
cimgui/imgui/examples/vulkan_example/imgui_impl_glfw_vulkan.cpp
make: *** [Makefile:9: 0009modify-instances-count] Error 2
make[1]: *** No rule to make target 'imguicolortextedit/Makefile', needed by
'imguicolortextedit/libtexteditor.a'.  Stop.
make[1]: *** Waiting for unfinished jobs
make[1]: Entering directory
'/home/hakzsam/wip/cheako-vulkan/0010tasks-during-render'
make[1]: *** No rule to make target '../lib/vk_mem_alloc.a', needed by
'vulkan'.  Stop.
make[1]: Leaving directory
'/home/hakzsam/wip/cheako-vulkan/0010tasks-during-render'
make: *** [Makefile:9: 0010tasks-during-render] Error 2
make[1]: Leaving directory '/home/hakzsam/wip/cheako-vulkan/lib'
make: *** [Makefile:9: lib] Error 2

-- 
You 

[Mesa-dev] [Bug 110603] Blocky and black opacity/alpha using RADV on some games

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110603

--- Comment #3 from Samuel Pitoiset  ---
Created attachment 144172
  --> https://bugs.freedesktop.org/attachment.cgi?id=144172=edit
screenshot

Attached screenshot with:

OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.27.0,
4.20.0-rc3-58450-g9698024e8a19, LLVM 8.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.1.0-devel
(git-b98955e128)

What's the problem actually? It looks good to me.
(Also tried with mesa-git/llvm-git, same output)

-- 
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 110603] Blocky and black opacity/alpha using RADV on some games

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110603

--- Comment #2 from Samuel Pitoiset  ---
Please ignore my previous comment, you posted it already. :-)

-- 
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 102522] [radeonsi, bisected] commit 147d7fb772 causes full-window map to flash green in Crea

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=102522

--- Comment #6 from Timothy Arceri  ---
I still can't reproduce. If you run apitrace with the following environment
variable does it help?

radeonsi_zerovram=true apitrace

You can also launch steam and try crea directly:

radeonsi_zerovram=true steam

-- 
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 110603] Blocky and black opacity/alpha using RADV on some games

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110603

--- Comment #1 from Samuel Pitoiset  ---
What LLVM/Mesa versions are you using?
Can you attach the output of glxinfo (or vulkaninfo) please?

-- 
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

Re: [Mesa-dev] [PATCH] [Panfrost] [Bifrost] Add a few missing ops to disassembler

2019-05-06 Thread Connor Abbott
On Mon, May 6, 2019 at 1:26 AM  wrote:
>
> From: Ryan Houdek 
>
> Adds Round, RoundEven, and the two Trunc variants to the disassembler.
> Additionally adds two control register types that were used with these
> instructions.
>
> Signed-off-by: Ryan Houdek 
> ---
>  src/gallium/drivers/panfrost/bifrost/disassemble.c | 7 +++
>  1 file changed, 7 insertions(+)
>
> diff --git a/src/gallium/drivers/panfrost/bifrost/disassemble.c 
> b/src/gallium/drivers/panfrost/bifrost/disassemble.c
> index daadf257896..585f6ced107 100644
> --- a/src/gallium/drivers/panfrost/bifrost/disassemble.c
> +++ b/src/gallium/drivers/panfrost/bifrost/disassemble.c
> @@ -287,6 +287,7 @@ static struct bifrost_reg_ctrl DecodeRegCtrl(struct 
> bifrost_regs regs)
>  case 1:
>  decoded.fma_write_unit = REG_WRITE_TWO;
>  break;
> +case 2:

New modes for something as simple as an instruction that rounds seems
highly suspicious... maybe this is the 64-bit clause mode? That has an
entirely different reg ctrl, and I haven't ported the changes needed
from SPD to Mesa yet. I also can't reproduce it myself with the
offline compiler. Can you share an example where the blob uses one of
these?

>  case 3:
>  decoded.fma_write_unit = REG_WRITE_TWO;
>  decoded.read_reg3 = true;
> @@ -318,6 +319,8 @@ static struct bifrost_reg_ctrl DecodeRegCtrl(struct 
> bifrost_regs regs)
>  decoded.add_write_unit = REG_WRITE_TWO;
>  decoded.clause_start = true;
>  break;
> +
> +case 7:
>  case 15:
>  decoded.fma_write_unit = REG_WRITE_THREE;
>  decoded.add_write_unit = REG_WRITE_TWO;
> @@ -681,10 +684,13 @@ static const struct fma_op_info FMAOpInfos[] = {
>  { 0xe0bc0, "UMAX3", FMA_THREE_SRC },
>  { 0xe0c00, "IMIN3", FMA_THREE_SRC },
>  { 0xe0c40, "UMIN3", FMA_THREE_SRC },
> +{ 0xe0ec5, "ROUND", FMA_ONE_SRC },
>  { 0xe0f40, "CSEL", FMA_THREE_SRC }, // src2 != 0 ? src1 : src0
>  { 0xe0fc0, "MUX.i32", FMA_THREE_SRC }, // see ADD comment
> +{ 0xe1805, "ROUNDEVEN", FMA_ONE_SRC },
>  { 0xe1845, "CEIL", FMA_ONE_SRC },
>  { 0xe1885, "FLOOR", FMA_ONE_SRC },
> +{ 0xe18c5, "TRUNC", FMA_ONE_SRC },
>  { 0xe19b0, "ATAN_LDEXP.Y.f32", FMA_TWO_SRC },
>  { 0xe19b8, "ATAN_LDEXP.X.f32", FMA_TWO_SRC },
>  // These instructions in the FMA slot, together with 
> LSHIFT_ADD_HIGH32.i32
> @@ -1177,6 +1183,7 @@ static const struct add_op_info add_op_infos[] = {
>  { 0x07bc5, "FLOG_FREXPE", ADD_ONE_SRC },
>  { 0x07d45, "CEIL", ADD_ONE_SRC },
>  { 0x07d85, "FLOOR", ADD_ONE_SRC },
> +{ 0x07dc5, "TRUNC", ADD_ONE_SRC },

You can add to the list:
7d05 -> roundEven

although bizarrely ROUND doesn't seem to have an ADD equivalent.

>  { 0x07f18, "LSHIFT_ADD_HIGH32.i32", ADD_TWO_SRC },
>  { 0x08000, "LD_ATTR.f16", ADD_LOAD_ATTR, true },
>  { 0x08100, "LD_ATTR.v2f16", ADD_LOAD_ATTR, true },
> --
> 2.20.1
>
> ___
> 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 29431] Nurb demos fail when callists are executed.

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=29431

Timothy Arceri  changed:

   What|Removed |Added

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

--- Comment #3 from Timothy Arceri  ---
There is no longer any error generated. Seems to have been fixed some time in
the last 9 years :P

-- 
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 110350] DOOM 2016 crash + severe artifacting on RADV + Vega VII

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=110350

--- Comment #11 from Samuel Pitoiset  ---
Thanks for confirming!

-- 
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 39017] [bisected] Segfault in Gallium drivers in Mupen64Plus

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=39017

--- Comment #11 from Timothy Arceri  ---
It has been a very long time since this was reported. Can you confirm if this
issue has been fixed in recent Gallium drivers?

-- 
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 81785] MESA checks on configure for llvm 3.4.2 and fails to build with 3.4.2 being installed

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=81785

Timothy Arceri  changed:

   What|Removed |Added

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

--- Comment #12 from Timothy Arceri  ---
Autotools build scripts have been removed. Please open a new bug if there is a
problem with Meson

-- 
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 90908] osx: src/mesa/x86-64/xform4.S does not build

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=90908

Timothy Arceri  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #1 from Timothy Arceri  ---
Seems nobody cares to much about osx support. If you still want to land this
patch, please create a merge request at:
https://gitlab.freedesktop.org/mesa/mesa

-- 
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 89199] u_math.h:591:4: error: implicit declaration of function 'ffsll'

2019-05-06 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=89199

Timothy Arceri  changed:

   What|Removed |Added

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

--- Comment #5 from Timothy Arceri  ---
We now have:

#ifdef HAVE___BUILTIN_FFSLL
#define ffsll __builtin_ffsll
#elif defined(_MSC_VER) && (_M_AMD64 || _M_ARM || _M_IA64)
static inline int
ffsll(long long int i)
{
   unsigned long index;
   if (_BitScanForward64(, i))
  return index + 1;
   else
  return 0;
}
#else
extern int
ffsll(long long int val);
#endif

So I'm assuming this was fixed long ago and closing.

-- 
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