On 18/04/2017 21:13, Chris Wilson wrote:
On Tue, Apr 18, 2017 at 05:56:14PM +0100, Tvrtko Ursulin wrote:
+enum drm_i915_gem_engine_class {
+ DRM_I915_ENGINE_CLASS_OTHER = 0,
+ DRM_I915_ENGINE_CLASS_RENDER = 1,
+ DRM_I915_ENGINE_CLASS_COPY = 2,
+ DRM_I915_ENGINE_CLASS_VID
On 19/04/2017 06:22, Kenneth Graunke wrote:
On Tuesday, April 18, 2017 9:56:14 AM PDT Tvrtko Ursulin wrote:
From: Tvrtko Ursulin
Engine discovery uAPI allows userspace to probe for engine
configuration and features without needing to maintain the
internal PCI id based database.
I don't unde
On 18/04/2017 22:10, Chris Wilson wrote:
On Tue, Apr 18, 2017 at 05:56:15PM +0100, Tvrtko Ursulin wrote:
From: Tvrtko Ursulin
Building on top of the previous patch which exported the concept
of engine classes and instances, we can also use this instead of
the current awkward engine selection
From: Marek Olšák
Cc: 17.1
---
src/gallium/drivers/radeonsi/si_shader.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 5d7175d..c5c994d 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src
From: Marek Olšák
Cc: 17.1
---
src/gallium/drivers/radeonsi/si_state.c | 35 -
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_state.c
b/src/gallium/drivers/radeonsi/si_state.c
index a55f024..8a8705f 100644
--- a/src
From: Marek Olšák
There are 2 major hw changes:
- The address must always point to the address of level 0. GFX9 tiling
modes don't allow binding to a non-0 level.
- 3D must always be bound as 3D, because 2D and 3D use entirely different
tiling modes, and the texture target determines which se
Hi,
This series contains multiple different things, but the commit order
is mostly fixed, so the review order is also fixed, and hopefully
having just one series will help with navigation.
Patches 1-7 are mostly GFX9 fixes for stable.
Patches 8-13 are cleanups before adding LS-HS support.
Patch
From: Marek Olšák
Cc: 17.1
---
src/gallium/drivers/radeonsi/si_state_draw.c| 3 ++-
src/gallium/drivers/radeonsi/si_state_shaders.c | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c
b/src/gallium/drivers/radeonsi/si_state_dr
From: Marek Olšák
Cc: 17.0 17.1
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 34cd6d4..3a604eb 100644
--- a/src/
From: Marek Olšák
Cc: 17.1
---
src/gallium/drivers/radeonsi/si_state_draw.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c
b/src/gallium/drivers/radeonsi/si_state_draw.c
index 193187b..a354c69 100644
--- a/src/gallium/drive
From: Marek Olšák
so that we can put multiple different TGSI shaders into one module.
---
src/gallium/drivers/radeonsi/si_shader.c | 15 ++--
src/gallium/drivers/radeonsi/si_shader_internal.h | 7 +-
.../drivers/radeonsi/si_shader_tgsi_setup.c| 93 ++
3 fi
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 31 -
1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 8afc731..2bcde31 100644
-
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 48 +++-
1 file changed, 29 insertions(+), 19 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index fced3c6..00aabc9 100644
--- a/src/galli
From: Marek Olšák
A merged LS-HS shader needs both fix_fetch and inputs_to_copy
for compilation.
---
src/gallium/drivers/radeonsi/si_shader.c| 10 +-
src/gallium/drivers/radeonsi/si_shader.h| 12
src/gallium/drivers/radeonsi/si_state_shaders.c | 4 ++--
3 fi
From: Marek Olšák
Cc: 17.1
---
src/gallium/drivers/radeonsi/si_shader.c | 28 +---
1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index c5c994d..840742c 100644
--- a/src/
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_debug.c | 4
src/gallium/drivers/radeonsi/si_shader.c | 35 +++-
src/gallium/drivers/radeonsi/si_shader.h | 1 +
3 files changed, 39 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/s
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.h
b/src/gallium/drivers/radeonsi/si_shader.h
index 6d0ac66..582c427 100644
--- a/src/gallium/drivers/radeonsi/si_shader.h
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 29 -
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 00aabc9..f6cd313 100644
--- a/src/gallium/d
From: Marek Olšák
For a GS prolog in merged ES-GS.
---
src/gallium/drivers/radeonsi/si_debug.c | 4
src/gallium/drivers/radeonsi/si_shader.c | 21 -
src/gallium/drivers/radeonsi/si_shader.h | 1 +
3 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/src/gall
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 185 ---
1 file changed, 147 insertions(+), 38 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index fbeb265..8b21ff7 100644
--- a/src/gall
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 43 ++--
1 file changed, 41 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 4bdbe2f..823 100644
--- a/src/galliu
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 68 ++-
src/gallium/drivers/radeonsi/si_shader_internal.h | 3 +
2 files changed, 69 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 46
1 file changed, 29 insertions(+), 17 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index ffec302..bc1d5a4 100644
--- a/src/galli
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_descriptors.c | 13
src/gallium/drivers/radeonsi/si_shader.c | 29 +++
src/gallium/drivers/radeonsi/si_shader.h | 3 +++
3 files changed, 24 insertions(+), 21 deletions(-)
diff --git a/src/gall
From: Marek Olšák
also, screen wasn't initialized for compute shaders
---
src/gallium/drivers/radeonsi/si_compute.c | 1 +
src/gallium/drivers/radeonsi/si_shader.c | 13 -
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_compute.c
b/sr
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 110 +--
1 file changed, 76 insertions(+), 34 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index f0e3f0c..907bc9c 100644
--- a/src/galli
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 20cb477..2b25a32 100644
--- a/src/gallium/drivers/radeonsi/si_shad
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_pipe.h | 3 ++-
src/gallium/drivers/radeonsi/si_state_draw.c| 31 -
src/gallium/drivers/radeonsi/si_state_shaders.c | 36 -
3 files changed, 55 insertions(+), 15 deletions(-)
diff --g
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_draw.c | 69 +++-
1 file changed, 38 insertions(+), 31 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c
b/src/gallium/drivers/radeonsi/si_state_draw.c
index a354c69..c24d607 100644
--- a/s
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 21 +
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 03fa30c..356776a 100644
--- a/src/gallium/drivers/r
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 69 +--
src/gallium/drivers/radeonsi/si_shader_internal.h | 17 +++---
2 files changed, 74 insertions(+), 12 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/ra
From: Marek Olšák
They will vary with merged stages.
---
src/gallium/drivers/radeonsi/si_shader.c | 254 +++---
src/gallium/drivers/radeonsi/si_shader.h | 60 +
src/gallium/drivers/radeonsi/si_shader_internal.h | 69 +-
3 files changed, 190 insertions(
From: Marek Olšák
HS input VGPRs must be reserved.
---
src/gallium/drivers/radeonsi/si_shader.c | 29 +++--
src/gallium/drivers/radeonsi/si_shader.h | 2 ++
2 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/g
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 45 +++-
1 file changed, 39 insertions(+), 6 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 0d94bdd..03fa30c 100644
--- a/src/galliu
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 3896b65..a4c2ac0 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium
From: Marek Olšák
GFX9 doesn't have it.
---
src/gallium/drivers/radeonsi/si_shader.c | 19 ---
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 1df9614..4bdbe2f 100644
--- a/s
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_descriptors.c | 20 +
src/gallium/drivers/radeonsi/si_shader.c| 10 -
src/gallium/drivers/radeonsi/si_shader.h| 30 +++--
src/gallium/drivers/radeonsi/si_state_draw.c| 12 +
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 143 +++
src/gallium/drivers/radeonsi/si_shader.h | 2 +
2 files changed, 128 insertions(+), 17 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_sh
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 27cd0f2..20cb477 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 2b25a32..752f819 100644
--- a/src/gallium/drivers/radeonsi/si_shad
From: Marek Olšák
In addition to the non-monolithic variant.
---
src/gallium/drivers/radeonsi/si_shader.h| 10 +-
src/gallium/drivers/radeonsi/si_state_shaders.c | 19 +++
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 87 +---
1 file changed, 70 insertions(+), 17 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index a4c2ac0..392f85d 100644
--- a/src/galli
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 79
src/gallium/drivers/radeonsi/si_shader.h | 2 +
2 files changed, 72 insertions(+), 9 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shade
From: Marek Olšák
Tentatively enable it, expecting the scratch buffer support to be done before
the next Mesa release.
---
src/gallium/drivers/radeonsi/si_pipe.c | 5 -
1 file changed, 5 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c
b/src/gallium/drivers/radeonsi/si_pipe
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.h| 1 +
src/gallium/drivers/radeonsi/si_state_shaders.c | 35 ++---
2 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.h
b/src/gallium/drivers/radeonsi/
From: Marek Olšák
not implemented yet
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 22bf3cf..67e650d 100644
--- a/src/gal
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 14 +++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 5e1f59c..0d94bdd 100644
--- a/src/gallium/drivers/radeonsi
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_descriptors.c | 15 +++
src/gallium/drivers/radeonsi/si_shader.c| 2 +-
src/gallium/drivers/radeonsi/si_shader.h| 13 -
src/gallium/drivers/radeonsi/si_state_shaders.c | 2 +-
4 files changed, 25 in
From: Marek Olšák
LLVM 5.0 removes s_barrier instructions if the max-work-group-size
attribute is not set. What a surprise.
---
src/gallium/drivers/radeonsi/si_shader.c | 45 +++-
1 file changed, 33 insertions(+), 12 deletions(-)
diff --git a/src/gallium/drivers/rade
From: Marek Olšák
The use of PrimID in the pixel shader is too rare to deserve such
a sizable support code.
The initial idea of the VS epilog was to move the clipping code there and
remove it based on states, but optimized variants are now used to do that
and are easier to support, so the VS epi
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 32
1 file changed, 32 insertions(+)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 356776a..3896b65 100644
--- a/src/gallium/drivers/radeon
From: Marek Olšák
The 2nd shader of merged shaders should take a reference of the 1st shader.
The next commit will do that.
---
src/gallium/drivers/radeonsi/si_shader.h| 1 +
src/gallium/drivers/radeonsi/si_state_shaders.c | 27 ++---
2 files changed, 25 insertions(+
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 94fc0e4..5bbc037 100644
--- a/src/gallium/drive
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c| 8 +
src/gallium/drivers/radeonsi/si_shader.h| 2 +
src/gallium/drivers/radeonsi/si_state.c | 22 +--
src/gallium/drivers/radeonsi/si_state_draw.c| 3 +-
src/gallium/drivers/radeonsi/si_state_shade
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 11 +++
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 67e650d..acba3ae 100644
--- a/src/gallium
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 18 --
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index acba3ae..d496d4a 100644
--- a/src
From: Marek Olšák
This removes s_load_dword latency for tess rings.
We need just 1 SGPR for the address if we use 64K alignment. The final asm
for recreating the descriptor is:
// s2 is (address >> 16)
s_mov_b32 s3, 0
s_lshl_b64 s[4:5], s[2:3], 16
s_mov_b32 s6, -1
s_mov_b32
From: Marek Olšák
VGPR1 = InstanceID / StepRate0; // StepRate0 can be set to 1
---
src/gallium/drivers/radeonsi/si_shader.c| 20 ++--
src/gallium/drivers/radeonsi/si_shader.h| 1 +
src/gallium/drivers/radeonsi/si_state.c | 1 +
src/gallium/drivers/radeon
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.h | 67
1 file changed, 67 insertions(+)
diff --git a/src/gallium/drivers/radeonsi/si_shader.h
b/src/gallium/drivers/radeonsi/si_shader.h
index 5b665b5..57685e0 100644
--- a/src/gallium/drivers/radeon
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c| 16 +++-
src/gallium/drivers/radeonsi/si_shader.h| 2 ++
src/gallium/drivers/radeonsi/si_state_shaders.c | 6 ++
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/ra
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 29 ++---
1 file changed, 10 insertions(+), 19 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 13cbd0a..974be02 100644
--- a/src/gallium/
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 17 ++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 392f85d..aa19e16 100644
--- a/src/gallium/drivers/radeo
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.h | 13 +
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.h
b/src/gallium/drivers/radeonsi/si_shader.h
index 05c0e62..6d0ac66 100644
--- a/src/gallium/drivers/radeonsi/s
From: Marek Olšák
We need 4 more bits there. I don't know what is fixed by this.
---
src/gallium/drivers/radeonsi/si_shader.c | 8
src/gallium/drivers/radeonsi/si_shader_internal.h | 17 +++--
src/gallium/drivers/radeonsi/si_state_draw.c | 5 +++--
3 files ch
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 78 +++--
1 file changed, 60 insertions(+), 18 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index b35bdfa..6bb3f50 100644
-
On 04/23/2017 05:40 PM, Ilia Mirkin wrote:
Series is Reviewed-by: Ilia Mirkin
I'd like to get some testing on this to make sure that things do kinda
work, at least as well as on maxwell. Perhaps a deqp run, which has a
lot of compute/image/etc tests?
Yeah, deqp has plenty of compute and ima
On 23.04.2017 01:10, Marek Olšák wrote:
From: Marek Olšák
due to the lack of pipe_resource wrapping, we can get this call from inside
of driver calls, which would try to lock an already-locked mutex.
---
src/gallium/drivers/trace/tr_screen.c | 7 ---
1 file changed, 7 deletions(-)
diff --
Apart from the minor comment on patch 2, patches 1-3 are:
Reviewed-by: Nicolai Hähnle
On 23.04.2017 01:10, Marek Olšák wrote:
From: Marek Olšák
---
src/gallium/drivers/ddebug/dd_context.c | 16
1 file changed, 16 insertions(+)
diff --git a/src/gallium/drivers/ddebug/dd_con
On 23.04.2017 01:10, Marek Olšák wrote:
From: Marek Olšák
There is no reason to check for ~0.
Also remove the incorrect comment.
---
src/mesa/state_tracker/st_draw.c | 9 ++---
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_t
On 24.04.2017 07:28, Timothy Arceri wrote:
From the EXT_framebuffer_object spec:
"Framebuffer objects created with the commands defined
by the GL_EXT_framebuffer_object extension are defined
to be shared, while FBOs created with commands defined
by the OpenGL core or GL_ARB_framebuf
On 24.04.2017 07:28, Timothy Arceri wrote:
---
src/mesa/main/arrayobj.c | 11 +--
src/mesa/main/attrib.c | 23 +++
src/mesa/main/mtypes.h | 16
src/mesa/main/varray.c | 2 +-
4 files changed, 9 insertions(+), 43 deletions(-)
diff --git a/src/m
On 24.04.2017 07:59, Timothy Arceri wrote:
From Chapter 5 'Shared Objects and Multiple Contexts' of
the OpenGL 4.5 spec:
"Objects which contain references to other objects include
framebuffer, program pipeline, query, transform feedback,
and vertex array objects. Such objects are call
Hi Tim,
On 24 April 2017 at 06:28, Timothy Arceri wrote:
> So in theory we could have a flag that is set by the bind
> functions to decide if to lock or not. However we only
> expose GL_EXT_framebuffer_object in compat profile so this
> change just uses that to decide if we should lock or not.
>
On 24/04/17 20:13, Nicolai Hähnle wrote:
On 24.04.2017 07:28, Timothy Arceri wrote:
---
src/mesa/main/arrayobj.c | 11 +--
src/mesa/main/attrib.c | 23 +++
src/mesa/main/mtypes.h | 16
src/mesa/main/varray.c | 2 +-
4 files changed, 9 insert
On 24/04/17 16:15, Michael Schellenberger Costa wrote:
Him Tim,
I hadnt had my morning coffee butdidnt you do it the other way around?
It looks like, that "_mesa_HashWalk" ist he locked and "_mesa_HashWalkLocked"
the unlocked version.
Yeah that's just the naming convention. It's a little con
Hi,
Because ARB_bindless_texture [1] is a massive feature which requires
a bunch of changes in Mesa, I splitted the whole series in order to
help reviewers. The first one adds all GLSL bits to the compiler.
This implements a new alternative which no longer introduces new base
types for bindless s
This is required for the following GLSL bits.
Signed-off-by: Samuel Pitoiset
Reviewed-by: Nicolai Hähnle
---
src/mesa/main/extensions_table.h | 1 +
src/mesa/main/mtypes.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions
This also adds the extension to the standalone GLSL compiler.
Signed-off-by: Samuel Pitoiset
Reviewed-by: Ilia Mirkin
Reviewed-by: Timothy Arceri
Reviewed-by: Nicolai Hähnle
---
src/compiler/glsl/glsl_parser_extras.cpp | 1 +
src/compiler/glsl/glsl_parser_extras.h | 7 +++
src/c
The ARB_bindless_texture spec says:
"Samplers are represented using 64-bit integer handles."
and,
"Images are represented using 64-bit integer handles."
It seems simpler to always consider sampler and image types
as 64-bit unsigned integer.
This introduces a temporary workaround in _mesa
Bindless samplers/images are 64-bit unsigned integers, which
means they consume two components as specified by
ARB_bindless_texture.
It looks like we are not wasting uniform storage by changing
this because default-block uniforms are not packed. So, if
we use N uint uniforms, they occupy N * 16 by
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/ast_to_hir.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index 85015e140e..e4b076f700 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compil
The ARB_bindless_texture spec says:
"Replace Section 4.1.7 (Samplers), p. 25"
"Samplers may be declared as shader inputs and outputs, as uniform
variables, as temporary variables, and as function parameters"
and,
"Replace Section 4.1.X, (Images)"
"Images may be declared as shad
The GL_ARB_bindless_texture allows to declare images inside
structures which means that qualifiers like writeonly should
be allowed.
I have a got a confirmation from Jeff Bolz (one author of the spec),
because the spec doesn't clearly explain this.
Signed-off-by: Samuel Pitoiset
Reviewed-by: Tim
The ARB_bindless_texture spec says:
"Modify Section 4.3.7, Interface Blocks, p. 38"
"(remove the following bullet from the last list on p. 39, thereby
permitting sampler types in interface blocks; image types are also
permitted in blocks by this extension)"
* sampler types ar
The ARB_bindless_texture spec says:
"Replace Section 4.1.7 (Samplers), p. 25"
"Samplers may be declared as shader inputs and outputs, as uniform
variables, as temporary variables, and as function parameters."
"Replace Section 4.1.X, (Images)"
"Images may be declared as shader in
The ARB_bindless_texture spec says:
"Samplers are represented using 64-bit integer handles".
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl_types.cpp | 28
1 file changed, 28 insertions(+)
diff --git a/src/compiler/glsl_types.cpp b/src/compiler/glsl_types.
The ARB_bindless_texture spec says:
"Modify Section 4.3.4, Inputs, p. 34"
"(modify last paragraph, p. 35, allowing samplers and images as
fragment shader inputs) ... Fragment inputs can only be signed
and unsigned integers and integer vectors, floating point scalars,
floating-po
The GL_ARB_bindless_texture spec allows images to be declared as
shader inputs.
v2: - put the */ on the following line (Timothy Arceri)
Signed-off-by: Samuel Pitoiset
Reviewed-by: Timothy Arceri
---
src/compiler/glsl/ast_type.cpp | 12
1 file changed, 12 insertions(+)
diff --git
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/ast_to_hir.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index e4b076f700..24ad4b117c 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compil
The spec doesn't clearly state this, but I have got clarifiation
from the spec authors.
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/ast_to_hir.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
inde
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/ast_to_hir.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index 24ad4b117c..b100ded836 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compil
The ARB_bindless_texture spec says:
"Interactions with GLSL 4.20"
"Without GLSL 4.20 support, sampler and image uniforms may only
be initialized through the OpenGL API. With GLSL 4.20, sampler
and image uniforms may be initialized in the shader using
layout(binding = integer-co
Yes, this is a bit hacky but we don't really have the choice.
Plain GLSL doesn't accept bindless samplers/images as l-values
while it's allowed when ARB_bindless_texture is enabled.
The default NULL parameter is because we can't access the
_mesa_glsl_parse_state object in few places in the compile
The ARB_bindless_texture spec says:
"Replace Section 4.1.7 (Samplers), p. 25"
"Samplers aggregated into arrays within a shader (using square
brackets []) can be indexed with arbitrary integer expressions."
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/ast_array_index.cpp | 10
The ARB_bindless_texture spec says:
"Modify Section 2.14.8, Shader Execution, p. 122"
"(modify second paragraph, p. 126) ... against the
MAX_COMBINED_TEXTURE_IMAGE_UNITS limit. Samplers accessed
using texture handles (section 3.9.X) are not counted against
this limit."
Si
The ARB_bindless_texture spec says:
"Modify Section 5.4.1, Conversion and Scalar Constructors, p. 60"
(add the following constructors:)
// In the following four constructors, the low 32 bits of the sampler
// type correspond to the .x component of the uvec2 and the high 32 bit
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/lower_packed_varyings.cpp | 24
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/compiler/glsl/lower_packed_varyings.cpp
b/src/compiler/glsl/lower_packed_varyings.cpp
index b1a3b49b1d..c9e1c66d48 1006
The ARB_bindless_texture spec says:
"Modify Section 4.3.4, Inputs, p. 34"
"(modify third paragraph of the section to allow sampler and
image types) ... Vertex shader inputs can only be float,
single-precision floating-point scalars, single-precision
floating-point vectors, matr
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/ast_to_hir.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index f90ae3d09a..e4d8bae2f5 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compil
For the explicit pack/unpack conversions.
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/ir_expression_operation.py | 6 ++
src/compiler/glsl/ir_validate.cpp| 20
src/mesa/program/ir_to_mesa.cpp | 4
src/mesa/state_tracker/st_glsl_to
1 - 100 of 243 matches
Mail list logo