Mesa (master): v3d: Fix automake linking error.

2018-05-30 Thread Eric Anholt
Module: Mesa
Branch: master
Commit: d511bba2f92566c512c86c5f51bd756834cbd444
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d511bba2f92566c512c86c5f51bd756834cbd444

Author: Vinson Lee 
Date:   Tue May 22 00:17:45 2018 +

v3d: Fix automake linking error.

  CXXLDgallium_dri.la
../../../../src/broadcom/.libs/libbroadcom.a(clif_dump.o): In function 
`clif_dump_packet':
src/broadcom/clif/clif_dump.c:87: undefined reference to 
`v3d33_clif_dump_packet'
src/broadcom/clif/clif_dump.c:85: undefined reference to 
`v3d41_clif_dump_packet'
../../../../src/broadcom/.libs/libbroadcom.a(clif_dump.o): In function 
`clif_process_worklist':
src/broadcom/clif/clif_dump.c:140: undefined reference to 
`v3d41_clif_dump_gl_shader_state_record'
src/broadcom/clif/clif_dump.c:144: undefined reference to 
`v3d33_clif_dump_gl_shader_state_record'

Signed-off-by: Vinson Lee 
Reviewed-by: Eric Anholt 

---

 src/gallium/drivers/v3d/Automake.inc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/v3d/Automake.inc 
b/src/gallium/drivers/v3d/Automake.inc
index 7cf8ae7cd8..91ae826b30 100644
--- a/src/gallium/drivers/v3d/Automake.inc
+++ b/src/gallium/drivers/v3d/Automake.inc
@@ -5,7 +5,9 @@ TARGET_CPPFLAGS += -DGALLIUM_V3D
 TARGET_LIB_DEPS += \
$(top_builddir)/src/gallium/winsys/v3d/drm/libv3ddrm.la \
$(top_builddir)/src/gallium/drivers/v3d/libv3d.la \
-   $(top_builddir)/src/broadcom/libbroadcom.la
+   $(top_builddir)/src/broadcom/libbroadcom.la \
+   $(top_builddir)/src/broadcom/libbroadcom_v33.la \
+   $(top_builddir)/src/broadcom/libbroadcom_v41.la
 
 if !HAVE_GALLIUM_VC4
 TARGET_LIB_DEPS += $(top_builddir)/src/broadcom/cle/libbroadcom_cle.la

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


Mesa (master): virgl: add polygon offset clamp

2018-05-30 Thread Jakob Bornecrantz
Module: Mesa
Branch: master
Commit: 22b072c194b4afb6ee04fcba4a4f2fa4ee6c74fb
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=22b072c194b4afb6ee04fcba4a4f2fa4ee6c74fb

Author: Dave Airlie 
Date:   Mon May 28 11:53:34 2018 +1000

virgl: add polygon offset clamp

Reviewed-by: Jakob Bornecrantz 
Signed-off-by: Jakob Bornecrantz 

---

 src/gallium/drivers/virgl/virgl_screen.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/virgl/virgl_screen.c 
b/src/gallium/drivers/virgl/virgl_screen.c
index 9800403596..01f864c657 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -206,6 +206,8 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap 
param)
   return vscreen->caps.caps.v1.bset.conditional_render_inverted;
case PIPE_CAP_TGSI_FS_FINE_DERIVATIVE:
   return vscreen->caps.caps.v1.bset.derivative_control;
+   case PIPE_CAP_POLYGON_OFFSET_CLAMP:
+  return vscreen->caps.caps.v1.bset.polygon_offset_clamp;
case PIPE_CAP_TEXTURE_GATHER_SM5:
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
case PIPE_CAP_FAKE_SW_MSAA:
@@ -217,7 +219,6 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap 
param)
case PIPE_CAP_SAMPLER_VIEW_TARGET:
case PIPE_CAP_CLIP_HALFZ:
case PIPE_CAP_VERTEXID_NOBASE:
-   case PIPE_CAP_POLYGON_OFFSET_CLAMP:
case PIPE_CAP_MULTISAMPLE_Z_RESOLVE:
case PIPE_CAP_RESOURCE_FROM_USER_MEMORY:
case PIPE_CAP_DEVICE_RESET_STATUS_QUERY:

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


Mesa (master): virgl: update caps bitset to latest version.

2018-05-30 Thread Jakob Bornecrantz
Module: Mesa
Branch: master
Commit: f9eb7e8b765cc6d6e9886f701d4ec45c64845d88
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9eb7e8b765cc6d6e9886f701d4ec45c64845d88

Author: Dave Airlie 
Date:   Mon May 28 11:53:31 2018 +1000

virgl: update caps bitset to latest version.

This makes this use all 32 bits, so future sets need to be
defined in a new struct.

Reviewed-by: Jakob Bornecrantz 
Signed-off-by: Jakob Bornecrantz 

---

 src/gallium/drivers/virgl/virgl_hw.h | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/drivers/virgl/virgl_hw.h 
b/src/gallium/drivers/virgl/virgl_hw.h
index 93849c03dd..228aafa770 100644
--- a/src/gallium/drivers/virgl/virgl_hw.h
+++ b/src/gallium/drivers/virgl/virgl_hw.h
@@ -237,6 +237,11 @@ struct virgl_caps_bool_set1 {
 unsigned has_indirect_draw:1;
 unsigned has_sample_shading:1;
 unsigned has_cull:1;
+unsigned conditional_render_inverted:1;
+unsigned derivative_control:1;
+unsigned polygon_offset_clamp:1;
+unsigned transform_feedback_overflow_query:1;
+/* DO NOT ADD ANYMORE MEMBERS - need to add another 32-bit to v2 caps 
*/
 };
 
 /* endless expansion capabilites - current gallium has 252 formats */

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


Mesa (master): virgl: add ARB_conditional_render_inverted support

2018-05-30 Thread Jakob Bornecrantz
Module: Mesa
Branch: master
Commit: 46fe349af25b07e23e901fe43051dbfda0584236
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=46fe349af25b07e23e901fe43051dbfda0584236

Author: Dave Airlie 
Date:   Mon May 28 11:53:32 2018 +1000

virgl: add ARB_conditional_render_inverted support

Reviewed-by: Jakob Bornecrantz 
Signed-off-by: Jakob Bornecrantz 

---

 src/gallium/drivers/virgl/virgl_screen.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/virgl/virgl_screen.c 
b/src/gallium/drivers/virgl/virgl_screen.c
index 5e764ff16b..a8b107ee44 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -202,6 +202,8 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap 
param)
   return vscreen->caps.caps.v1.bset.has_cull;
case PIPE_CAP_MAX_VERTEX_STREAMS:
   return vscreen->caps.caps.v1.glsl_level >= 400 ? 4 : 1;
+   case PIPE_CAP_CONDITIONAL_RENDER_INVERTED:
+  return vscreen->caps.caps.v1.bset.conditional_render_inverted;
case PIPE_CAP_TEXTURE_GATHER_SM5:
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
case PIPE_CAP_FAKE_SW_MSAA:
@@ -210,7 +212,6 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap 
param)
case PIPE_CAP_MULTI_DRAW_INDIRECT:
case PIPE_CAP_MULTI_DRAW_INDIRECT_PARAMS:
case PIPE_CAP_TGSI_FS_FINE_DERIVATIVE:
-   case PIPE_CAP_CONDITIONAL_RENDER_INVERTED:
case PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE:
case PIPE_CAP_SAMPLER_VIEW_TARGET:
case PIPE_CAP_CLIP_HALFZ:

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


Mesa (master): virgl: add ARB_transform_feedback_overflow_query support

2018-05-30 Thread Jakob Bornecrantz
Module: Mesa
Branch: master
Commit: e2b6d830b2afb404489d9a28d1e6542c94e7576e
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2b6d830b2afb404489d9a28d1e6542c94e7576e

Author: Dave Airlie 
Date:   Mon May 28 11:53:35 2018 +1000

virgl: add ARB_transform_feedback_overflow_query support

Reviewed-by: Jakob Bornecrantz 
Signed-off-by: Jakob Bornecrantz 

---

 src/gallium/drivers/virgl/virgl_query.c  | 3 ++-
 src/gallium/drivers/virgl/virgl_screen.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/virgl/virgl_query.c 
b/src/gallium/drivers/virgl/virgl_query.c
index e4d955442b..a75b29c7c9 100644
--- a/src/gallium/drivers/virgl/virgl_query.c
+++ b/src/gallium/drivers/virgl/virgl_query.c
@@ -49,6 +49,7 @@ struct virgl_query {
 #define VIRGL_QUERY_GPU_FINISHED  9
 #define VIRGL_QUERY_PIPELINE_STATISTICS  10
 #define VIRGL_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE 11
+#define VIRGL_QUERY_SO_OVERFLOW_ANY_PREDICATE 12
 
 static const int pquery_map[] =
 {
@@ -62,7 +63,7 @@ static const int pquery_map[] =
VIRGL_QUERY_PRIMITIVES_EMITTED,
VIRGL_QUERY_SO_STATISTICS,
VIRGL_QUERY_SO_OVERFLOW_PREDICATE,
-   -1,
+   VIRGL_QUERY_SO_OVERFLOW_ANY_PREDICATE,
VIRGL_QUERY_GPU_FINISHED,
VIRGL_QUERY_PIPELINE_STATISTICS,
 };
diff --git a/src/gallium/drivers/virgl/virgl_screen.c 
b/src/gallium/drivers/virgl/virgl_screen.c
index 01f864c657..6b12a4d016 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -208,6 +208,8 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap 
param)
   return vscreen->caps.caps.v1.bset.derivative_control;
case PIPE_CAP_POLYGON_OFFSET_CLAMP:
   return vscreen->caps.caps.v1.bset.polygon_offset_clamp;
+   case PIPE_CAP_QUERY_SO_OVERFLOW:
+  return vscreen->caps.caps.v1.bset.transform_feedback_overflow_query;
case PIPE_CAP_TEXTURE_GATHER_SM5:
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
case PIPE_CAP_FAKE_SW_MSAA:
@@ -271,7 +273,6 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap 
param)
case PIPE_CAP_POST_DEPTH_COVERAGE:
case PIPE_CAP_BINDLESS_TEXTURE:
case PIPE_CAP_NIR_SAMPLERS_AS_DEREF:
-   case PIPE_CAP_QUERY_SO_OVERFLOW:
case PIPE_CAP_MEMOBJ:
case PIPE_CAP_LOAD_CONSTBUF:
case PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS:

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


Mesa (master): nir: add unsigned comparison simplifications

2018-05-30 Thread Timothy Arceri
Module: Mesa
Branch: master
Commit: e8b368ad1c4bdafc32505b722617b8ab19296fbe
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8b368ad1c4bdafc32505b722617b8ab19296fbe

Author: Timothy Arceri 
Date:   Wed May 30 20:32:24 2018 +1000

nir: add unsigned comparison simplifications

This avoids loop unrolling regressions in Wolfenstein II on DXVK
with an upcoming optimisation series from Samuel.

Reviewed-by: Bas Nieuwenhuizen 

---

 src/compiler/nir/nir_opt_algebraic.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/compiler/nir/nir_opt_algebraic.py 
b/src/compiler/nir/nir_opt_algebraic.py
index 909ea3daf4..21b9acecbe 100644
--- a/src/compiler/nir/nir_opt_algebraic.py
+++ b/src/compiler/nir/nir_opt_algebraic.py
@@ -149,7 +149,9 @@ optimizations = [
(('~inot', ('feq', a, b)), ('fne', a, b)),
(('~inot', ('fne', a, b)), ('feq', a, b)),
(('inot', ('ilt', a, b)), ('ige', a, b)),
+   (('inot', ('ult', a, b)), ('uge', a, b)),
(('inot', ('ige', a, b)), ('ilt', a, b)),
+   (('inot', ('uge', a, b)), ('ult', a, b)),
(('inot', ('ieq', a, b)), ('ine', a, b)),
(('inot', ('ine', a, b)), ('ieq', a, b)),
 

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


Mesa (master): radv: Only expose subgroup shuffles on VI+.

2018-05-30 Thread Bas Nieuwenhuizen
Module: Mesa
Branch: master
Commit: c2799574eb104218ac4f6b8a3d64b8a0f8c89525
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2799574eb104218ac4f6b8a3d64b8a0f8c89525

Author: Bas Nieuwenhuizen 
Date:   Wed May 30 08:50:03 2018 +0200

radv: Only expose subgroup shuffles on VI+.

The current implementation depends on bpermute, which
is VI+.

Fixes: f2c6a550611 "radv: enable subgroup capabilities"
Reviewed-by: Daniel Schürmann 
Reviewed-by: Samuel Pitoiset 

---

 src/amd/vulkan/radv_device.c | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 61b4fba23f..93b6e61106 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -963,9 +963,12 @@ void radv_GetPhysicalDeviceProperties2(

VK_SUBGROUP_FEATURE_BASIC_BIT |

VK_SUBGROUP_FEATURE_BALLOT_BIT |

VK_SUBGROUP_FEATURE_QUAD_BIT |
-   
VK_SUBGROUP_FEATURE_SHUFFLE_BIT |
-   
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT |

VK_SUBGROUP_FEATURE_VOTE_BIT;
+   if (pdevice->rad_info.chip_class >= VI) {
+   properties->supportedOperations |=
+   
VK_SUBGROUP_FEATURE_SHUFFLE_BIT |
+   
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT;
+   }
properties->quadOperationsInAllStages = true;
break;
}

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


Mesa (master): radv: fix emitting descriptor pointers with LLVM < 7

2018-05-30 Thread Samuel Pitoiset
Module: Mesa
Branch: master
Commit: 02c7916298e8e29b130735bd30e97c57d40a197f
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=02c7916298e8e29b130735bd30e97c57d40a197f

Author: Samuel Pitoiset 
Date:   Wed May 30 11:15:12 2018 +0200

radv: fix emitting descriptor pointers with LLVM < 7

This was terribly wrong, I forced use of 32-bit pointers when
emitting shader descriptor pointers. This fixes GPU hangs with
LLVM 5&6 because 32-bit pointers are only supported with LLVM 7.

Fixes: 88d1ed0f81 ("radv: emit shader descriptor pointers consecutively")
Signed-off-by: Samuel Pitoiset 
Reviewed-by: Bas Nieuwenhuizen 

---

 src/amd/vulkan/radv_cmd_buffer.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 8f351b52c9..6ff1f1a6cb 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -624,12 +624,14 @@ radv_emit_descriptor_pointers(struct radv_cmd_buffer 
*cmd_buffer,
struct radv_userdata_info *loc = >descriptor_sets[start];
unsigned sh_offset = sh_base + loc->sgpr_idx * 4;
 
-   radv_emit_shader_pointer_head(cs, sh_offset, count, true);
+   radv_emit_shader_pointer_head(cs, sh_offset, count,
+ HAVE_32BIT_POINTERS);
for (int i = 0; i < count; i++) {
struct radv_descriptor_set *set =
descriptors_state->sets[start + i];
 
-   radv_emit_shader_pointer_body(device, cs, set->va, 
true);
+   radv_emit_shader_pointer_body(device, cs, set->va,
+ HAVE_32BIT_POINTERS);
}
}
 }

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


Mesa (master): nv30: ensure that displayable formats are marked accordingly

2018-05-30 Thread Ilia Mirkin
Module: Mesa
Branch: master
Commit: 30918b77ac82ba1da7764c0375233656e0ebf9f9
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=30918b77ac82ba1da7764c0375233656e0ebf9f9

Author: Ilia Mirkin 
Date:   Mon May 28 11:07:08 2018 -0400

nv30: ensure that displayable formats are marked accordingly

Fixes: f7604d8af52 ("st/dri: only expose config formats that are display 
targets")
Cc: "18.1" 
Signed-off-by: Ilia Mirkin 

---

 src/gallium/drivers/nouveau/nv30/nv30_format.c | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nv30/nv30_format.c 
b/src/gallium/drivers/nouveau/nv30/nv30_format.c
index 8d9516b863..b877c75161 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_format.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_format.c
@@ -50,10 +50,12 @@
 #define S___ PIPE_BIND_SAMPLER_VIEW
 #define _R__ PIPE_BIND_RENDER_TARGET
 #define _B__ PIPE_BIND_RENDER_TARGET | PIPE_BIND_BLENDABLE
+#define _D__ PIPE_BIND_SCANOUT | PIPE_BIND_DISPLAY_TARGET | _B__
 #define _Z__ PIPE_BIND_DEPTH_STENCIL
 #define __V_ PIPE_BIND_VERTEX_BUFFER
 #define SR__ (S___ | _R__)
 #define SB__ (S___ | _B__)
+#define SD__ (S___ | _D__)
 #define SZ__ (S___ | _Z__)
 #define S_V_ (S___ | __V_)
 #define SRV_ (SR__ | __V_)
@@ -73,14 +75,14 @@ nv30_format_info_table[PIPE_FORMAT_COUNT] = {
_(A8_SNORM, S___),
_(R8_UNORM, S_V_),
_(R8_SNORM, S___),
-   _(B5G5R5X1_UNORM  , SB__),
+   _(B5G5R5X1_UNORM  , SD__),
_(B5G5R5A1_UNORM  , S___),
_(B4G4R4X4_UNORM  , S___),
_(B4G4R4A4_UNORM  , S___),
-   _(B5G6R5_UNORM, SB__),
-   _(BGRX_UNORM  , SB__),
+   _(B5G6R5_UNORM, SD__),
+   _(BGRX_UNORM  , SD__),
_(BGRX_SRGB   , S___),
-   _(BGRA_UNORM  , SB__),
+   _(BGRA_UNORM  , SD__),
_(BGRA_SRGB   , S___),
_(R8G8B8A8_UNORM  , __V_),
_(RGBA_SNORM  , S___),

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


Mesa (master): nv30: add a couple of missed shader caps

2018-05-30 Thread Ilia Mirkin
Module: Mesa
Branch: master
Commit: 04fff21c62f487f5f24f02708d2a16844688ec81
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=04fff21c62f487f5f24f02708d2a16844688ec81

Author: Ilia Mirkin 
Date:   Mon May 28 11:15:55 2018 -0400

nv30: add a couple of missed shader caps

Signed-off-by: Ilia Mirkin 

---

 src/gallium/drivers/nouveau/nv30/nv30_screen.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c 
b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
index 99249d26b3..a77f70e6bb 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
@@ -393,6 +393,8 @@ nv30_screen_get_shader_param(struct pipe_screen *pscreen,
   case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
   case PIPE_SHADER_CAP_LOWER_IF_THRESHOLD:
   case PIPE_SHADER_CAP_TGSI_SKIP_MERGE_REGISTERS:
+  case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS:
+  case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS:
  return 0;
   default:
  debug_printf("unknown fragment shader param %d\n", param);

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